Gibt die kleinste Entfernung zwischen dem geometry-expression und dem angegebenen Geometriewert zurück.
geometry-expression.ST_Distance(geo2[, unit-name])
Name | Typ | Beschreibung |
---|---|---|
geo2 |
ST_Geometry |
Der andere Geometriewert, dessen Entfernung vom geometry-expression gemessen werden soll. |
unit-name |
VARCHAR(128) |
Die Einheiten, in denen die Entfernung gemessen werden soll. Ist standardmäßig die Einheit des räumlichen Bezugssystems. Der unit-name-Parameter muss mit der UNIT_NAME-Spalte einer Zeile in der ST_UNITS_OF_MEASURE-Ansicht übereinstimmen, wo UNIT_TYPE auf 'LINEAR' eingestellt ist. |
DOUBLE Gibt die kleinste Entfernung zwischen dem geometry-expression und geo2 in den angegebenen linearen Maßeinheiten zurück. Wenn geometry-expression oder geo2 leer ist, wird NULL zurückgegeben.
Die ST_Distance-Methode berechnet die kürzeste Entfernung zwischen zwei Geometrien. Für räumliche Bezugssysteme mit planer Erddarstellung wird die Entfernung als kartesische Entfernung in der Ebene gemessen und in den linearen Maßeinheiten des damit verbundenen räumlichen Bezugssystem berechnet. Für räumliche Bezugssysteme mit gewölbter Erddarstellung wird die Entfernung berechnet, indem die Krümmung der Erdoberfläche mithilfe von Ellipsoidparametern in der Definition des räumlichen Bezugssystems berücksichtigt wird.
Für räumliche Bezugssysteme mit gewölbter Erddarstellung wird die ST_Distance-Methode nur unterstützt, wenn geometry-expression und geo2 nur Punkte enthalten.
Standardmäßig verwendet ST_Distance das Originalformat für eine Geometrie, wenn es verfügbar ist. Andernfalls wird das interne Format verwendet. Weitere Hinweise zu den internen Formaten und Originalformaten finden Sie unter STORAGE FORMAT-Klausel, CREATE SPATIAL REFERENCE SYSTEM-Anweisung.
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.23
Das folgende Beispiel gibt eine geordnete Ergebnismenge mit einer Zeile für jede Form und die entsprechende Entfernung vom Point (2,3) zurück.
SELECT ShapeID, ROUND( Shape.ST_Distance( NEW ST_Point( 2, 3 ) ), 2 ) AS dist FROM SpatialShapes WHERE ShapeID < 17 ORDER BY dist |
Die Abfrage erzeugt die folgende Ergebnismenge:
ShapeID | DIST |
---|---|
2 |
0.0 |
3 |
0.0 |
5 |
1.0 |
6 |
1.21 |
16 |
1.41 |
1 |
5.1 |
Im folgenden Beispiel werden Punkte erstellt, die Halifax, NS und Waterloo, ON, in Kanada darstellen. ST_Distance wird verwendet,
um die Entfernung zwischen den beiden Punkten in Meilen zu ermitteln. Als Ergebnis wird 846
zurückgegeben. In diesem Beispiel wird vorausgesetzt, dass die 'st_geometry_predefined_uom'-Funktion von sa_install_feature-Systemprozedur installiert wurde.
SELECT ROUND( NEW ST_Point( -63.573566, 44.646244, 4326 ) .ST_Distance( NEW ST_Point( -80.522372, 43.465187, 4326 ) , 'Statute mile' ), 0 ) |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |