Bagikan melalui


BufferWithTolerance (Jenis Data geometri)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

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

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 geometri di mana untuk menghitung buffer.

Toleransi
Adalah ekspresi float yang menentukan toleransi jarak buffer.

Toleransi mengacu pada variasi maksimum dalam jarak buffer yang ideal untuk perkiraan linier yang dikembalikan.

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

sanak
Adalah bit yang menentukan apakah nilai toleransi relatif atau absolut. Jika 'TRUE' atau 1, maka toleransi relatif dan dihitung sebagai produk parameter toleransi dan diameter kotak pembatas instans. Jika 'FALSE' atau 0, toleransi adalah absolut dan nilai toleransi adalah variasi maksimum absolut dalam jarak buffer yang ideal untuk perkiraan linier yang dikembalikan.

Jenis Kembalian

Jenis pengembalian SQL Server: geometri

Jenis pengembalian CLR: SqlGeometry

Pengecualian

Parameter toleransi harus lebih besar dari nol. Jika toleransi<= 0 maka dilemparkan System.ArgumentOutOfRangeException .

Catatan

Karena toleransi adalah jenis float , System.Runtime.InteropServices.COMException dapat dilemparkan jika nilai yang diberikan untuk toleransi sangat kecil karena masalah pembulatan dengan jenis titik mengambang.

Keterangan

Ketika jarak> 0 maka instans Polygon atau MultiPolygon dikembalikan.

Catatan

Karena jarak adalah float, nilai yang sangat kecil dapat sama dengan nol dalam perhitungan. Ketika ini terjadi, salinan instans geometri panggilan dikembalikan. Lihat float dan nyata (Transact-SQL).

Ketika jarak = 0, salinan instans geometri panggilan dikembalikan.

Ketika jarak< 0 maka

  • Instans GeometryCollection kosong dikembalikan saat dimensi instans adalah 0 atau 1.

  • Buffer negatif dikembalikan ketika dimensi instans adalah 2 atau lebih.

    Catatan

    Buffer negatif juga dapat membuat instans GeometryCollection kosong.

Buffer negatif menghapus semua titik dalam jarak tertentu dari batas instans geometri .

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 geometri.

Contoh

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

DECLARE @g geometry;  
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);  
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();  

Lihat Juga

STBuffer (Tipe Data geometri)
Metode yang Diperluas pada Instans Geometri