BufferWithTolerance (geography-Datentyp)
Gibt ein geometrisches Objekt zurück, dass die Vereinigung aller Punktwerte darstellt, deren Abstand zu einer geography-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 geography-Instanz angibt, um die der Puffer berechnet werden soll.tolerance
Ein float-Ausdruck, der die Toleranz des Pufferabstands angibt.Der Toleranzwert 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 aus tolerance-Parameter und Winkelweite * Äquatorradius des Ellipsoids 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: geography
CLR-Rückgabetyp: SqlGeography
Hinweise
Ein negativer Puffer entfernt alle Punkte innerhalb des gegebenen Abstands der Begrenzung der geography-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 geography-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 geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
Siehe auch