STDistance (geography-Datentyp)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Gibt die kürzeste Entfernung zwischen einem Punkt in einer geography -Instanz und einem Punkt in einer anderen geography -Instanz zurück.
Hinweis
STDistance()
gibt den kürzesten LineString zwischen zwei geography-Typen zurück. Dies ist ein naher Schätzwert der geodätische Entfernung. Die Abweichung von STDistance()
bei allgemeinen Erdemodellen von der genauen geodätischen Entfernung beträgt nicht mehr als 0,25%. Dies verhindert Verwechslungen über die feinen Unterschiede zwischen Länge und Entfernung in geodätischen Typen.
Syntax
.STDistance ( other_geography )
Argumente
other_geography
Eine andere geography-Instanz, von der aus die Entfernung zu der Instanz gemessen werden soll, in der STDistance() aufgerufen wird. Wenn other_geography leer ist, gibt STDistance() NULL zurück.
Rückgabetypen
SQL Server-Rückgabetyp: float
CLR-Rückgabetyp: SqlDouble
Hinweise
Das Ergebnis wird in der Maßeinheit ausgedrückt, die der räumliche Verweisbezeichner (Spatial Reference Identifier, SRID) der räumlichen Daten festlegt. STDistance() gibt immer NULL zurück, wenn die SRIDs der geography-Instanzen nicht übereinstimmen.
Hinweis
Methoden für den geography -Datentyp, mit denen eine Fläche oder eine Entfernung berechnet wird, geben abhängig vom SRID der in der jeweiligen Methode verwendeten Instanz unterschiedliche Ergebnisse zurück. Weitere Informationen über SRIDs finden Sie unter SRIDs (Spatial Reference Identifiers).
Beispiele
Im folgenden Beispiel wird der Abstand zwischen zwei geography -Instanzen gesucht.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.STDistance(@h);