Bagikan melalui


BufferWithTolerance (Jenis Data geometri)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

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.

Syntax

  
.BufferWithTolerance ( distance, tolerance, relative )  

Arguments

distance
Adalah ekspresi float yang menentukan jarak dari instans geometri di mana untuk menghitung buffer.

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

relative
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

Exceptions

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

Note

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.

Remarks

Ketika jarak> 0 maka instans Polygon atau MultiPolygon dikembalikan.

Note

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.

    Note

    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.

Examples

Contoh berikut membuat instans PointBufferWithTolerance() 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