BufferWithTolerance (geometry-Datentyp)
Gibt ein geometrisches Objekt zurück, dass die Vereinigung aller Punktwerte darstellt, deren Abstand zu einer geometry-Instanz kleiner oder gleich einem angegebenen Wert ist, wobei eine angegebene Toleranz gewährt wird.
Syntax
.BufferWithTolerance (distance,tolerance,relative)
Argumente
distance
Ein float-Ausdruck, der den Abstand zu der geometry-Instanz angibt, um die der Puffer berechnet werden soll.tolerance
Ein float-Ausdruck, der die Toleranz des Pufferabstands angibt.Toleranz verweist auf die maximale Variation im idealen Pufferabstand für die zurückgegebene lineare Näherung.
Beispielsweise kann der ideale Pufferabstand eines Punkts ein Kreis sein, dieser muss jedoch durch ein Polygon näherungsweise angegeben werden. Je geringer die Toleranz, desto mehr Punkte hat das Polygon, wodurch die Komplexität des Ergebnisses erhöht, der Fehler jedoch verringert wird.
relative
Ein bit, das angibt, ob der tolerance-Wert relativ oder absolut ist. Wenn 'TRUE' oder 1, ist die Toleranz relativ und wird als Produkt des tolerance-Parameters und des Durchmessers des umgebenden Felds der Instanz berechnet. Wenn 'FALSE' oder 0, ist die Toleranz absolut und der tolerance-Wert ist die absolute maximale Variation im idealen Pufferabstand für die zurückgegebene lineare Näherung.
Rückgabetypen
SQL Server Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Hinweise
Ein negativer Puffer entfernt alle Punkte innerhalb des gegebenen Abstands der Begrenzung der geometry-Instanz.
Der Fehler zwischen theoretischem und berechnetem Puffer beträgt max(Toleranz, Blöcke * 1.E-7), wenn Toleranz ein Wert des tolerance-Parameters ist. Weitere Informationen zu Blöcken finden Sie unter geometry-Datentyp-Methodenverweis.
Beispiele
Im folgenden Beispiel wird eine Point-Instanz erstellt und BufferWithTolerance() verwendet, um einen groben Puffer um die Instanz zu erhalten.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Siehe auch