STDistance (geography-Datentyp)
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 Geografietypen 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 zur Instanz, in der STDistance() aufgerufen wird, gemessen werden soll. Wenn other_geography eine leere Menge ist, gibt STDistance() NULL zurück.
Rückgabetypen
SQL Server Rückgabetyp: float
CLR-Rückgabetyp: SqlDouble
Hinweise
STDistance() gibt immer NULL zurück, wenn die SRIDs (Spatial Reference IDs) 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);