Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
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.
Note
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 )
Arguments
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
Remarks
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.
Note
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).
Examples
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);