ShortestLineTo (geometry-Datentyp)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Gibt eine LineString -Instanz mit zwei Punkten zurück, die den kürzesten Abstand zwischen den zwei geometry -Instanzen darstellen. Die Länge der LineString -Instanz, die zurückgegeben wurde, entspricht dem Abstand zwischen den beiden geometry -Instanzen.
Syntax
.ShortestLineTo ( geometry_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
geometry_other
Die zweite geometry -Instanz, für die von der aufrufenden geometry -Instanz versucht wird, den kürzesten Abstand zu bestimmen.
Rückgabetypen
SQL Server-Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Hinweise
Die Methode gibt eine LineString -Instanz mit Endpunkten zurück, die auf den Rändern der beiden Instanzen von geometry 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 geometry -Instanzen. Wenn sich die beiden Instanzen von LineString überschneiden, wird eine leere Instanz von geometry 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 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';
DECLARE @g2 geometry = 'LINESTRING(-4 7, 7 10, 3 7)';
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 geometry = 'CIRCULARSTRING(0 0, 1 2.1082, 3 6.3246, 0 7, -3 6.3246, -1 2.1082, 0 0)';
DECLARE @g2 geometry = 'LINESTRING(0 5, 7 10, 3 7)';
SELECT @g1.ShortestLineTo(@g2).ToString();
Weitere Informationen
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