BufferWithTolerance (Jenis Data geografi)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengembalikan objek geometrik yang mewakili gabungan semua nilai titik yang jaraknya dari instans geografi kurang dari atau sama dengan nilai yang ditentukan, memungkinkan toleransi yang ditentukan.

Metode jenis data geografi ini mendukung instans FullGlobe atau instans spasial yang lebih besar dari belahan.

Sintaksis

  
.BufferWithTolerance ( distance, tolerance, relative )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Jarak
Adalah ekspresi float yang menentukan jarak dari instans geografi di mana untuk menghitung buffer.

Jarak maksimum buffer tidak boleh melebihi 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 lingkar Bumi) atau seluruh dunia.

Toleransi
Adalah ekspresi float yang menentukan toleransi jarak buffer.

Variasi maksimum dalam jarak buffer ideal untuk perkiraan linier yang dikembalikan adalah nilai toleransi .

Misalnya, jarak buffer yang ideal dari suatu titik adalah lingkaran, tetapi jarak ini harus diperkirakan oleh poligon. Semakin kecil toleransi, semakin banyak poin yang akan dimiliki poligon. Hasil ini meningkatkan kompleksitas hasil, tetapi meminimalkan kesalahan.

Batas minimum adalah 0,1 persen dari jarak, dan toleransi apa pun yang kurang dari itu akan dibulatkan hingga batas minimum.

Relatif
Adalah bit yang menentukan apakah nilai toleransi relatif atau absolut. Jika nilainya adalah 'TRUE' atau 1, toleransi relatif. Nilai ini adalah produk dari parameter toleransi dan tingkat sudut * radius ekuatorial ekuator dari elipsoid. Toleransi bersifat absolut jika nilainya adalah 'FALSE' atau 0. Nilai toleransi ini adalah variasi maksimum absolut dalam jarak buffer yang ideal untuk perkiraan linier yang dikembalikan.

Jenis Kembalian

Jenis pengembalian SQL Server: geografi

Jenis pengembalian CLR: SqlGeography

Keterangan

Metode ini melempar ArgumentException jika jaraknya bukan angka (NAN), atau jika jarak positif atau negatif tak terbatas. Metode ini juga melempar ArgumentException jika toleransi nol (0), bukan angka (NaN), negatif, atau positif atau negatif tak terbatas.

STBuffer() akan mengembalikan instans FullGlobe dalam kasus tertentu; misalnya, STBuffer() mengembalikan instans FullGlobe pada dua kutub ketika jarak buffer lebih besar dari jarak dari khatulistiwa ke kutub.

Metode ini akan melempar ArgumentException dalam instans FullGlobe di mana jarak buffer melebihi batasan berikut:

0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 lingkar Bumi)

Kesalahan antara buffer teoritis dan komputasi adalah maks(toleransi, sejauh * 1.E-7) di mana toleransi adalah nilai parameter toleransi . Untuk informasi selengkapnya tentang tingkatan, lihat Referensi Metode Jenis Data geografi.

Metode ini tidak tepat.

Contoh

Contoh berikut membuat instans PointBufferWithTolerance() dan menggunakan untuk mendapatkan buffer kasar di sekitarnya.

DECLARE @g geography;  
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);  
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();  

Lihat Juga

STBuffer (Jenis Data geografi)
Metode yang Diperluas pada Instans Geografi