ShortestLineTo (geography-Datentyp)
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance
Gibt eine LineString -Instanz mit zwei Punkten zurück, die den kürzesten Abstand zwischen den zwei geography -Instanzen darstellen. Die Länge der LineString -Instanz, die zurückgegeben wurde, entspricht dem Abstand zwischen den beiden geography -Instanzen.
Syntax
.ShortestLineTo ( geography_other )
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.
Argumente
geography_other
Gibt die zweite geography -Instanz an, für die von der aufrufenden geography -Instanz versucht wird, den kürzesten Abstand zu bestimmen.
Rückgabetypen
SQL Server-Rückgabetyp: geography
CLR-Rückgabetyp: SqlGeography
Bemerkungen
Die Methode gibt eine LineString -Instanz mit Endpunkten zurück, die auf den Rändern der beiden Instanzen von geography liegen, die verglichen werden und sich nicht überschneiden. Die Länge der LineString -Instanz, die zurückgegeben wurde, entspricht dem geringsten Abstand zwischen den beiden geography -Instanzen. Wenn sich die beiden Instanzen von LineString überschneiden, wird eine leere Instanz von geography zurückgegeben.
Beispiele
A. Aufrufen von ShortestLineTo() für sich nicht überschneidende Instanzen
In diesem Beispiel wird der geringste Abstand zwischen einer Instanz von CircularString
und einer Instanz von LineString
ermittelt, und die Instanz von LineString
wird zurückgegeben, die die beiden Punkte verbindet:
DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)';
SELECT @g1.ShortestLineTo(@g2).ToString();
B. Aufrufen von ShortestLineTo() für sich überschneidende Instanzen
In diesem Beispiel wird eine leere Instanz von LineString
zurückgegeben, da die sich die Instanz von LineString
und die Instanz von CircularString
überschneiden:
DECLARE @g1 geography = 'CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
DECLARE @g2 geography = 'LINESTRING(-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.348 47.649, -122.681 47.655)';
SELECT @g1.ShortestLineTo(@g2).ToString();
Weitere Informationen
Erweiterte Methoden für geography-Instanzen
ShortestLineTo (geometry-Datentyp)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für