Hinweis
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: NoSQL
Gibt den Abstand zwischen den beiden GeoJSON-Punkt, Polygon, MultiPolygon oder LineString-Ausdrücken zurück.
Hinweis
Weitere Informationen finden Sie unter Räumliche Daten und GeoJSON-Standortdaten.
Syntax
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
Argumente
BESCHREIBUNG | |
---|---|
spatial_expr_1 |
Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck. |
spatial_expr_2 |
Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck. |
Rückgabetypen
Gibt einen numerischen Ausdruck zurück, der den Abstand zwischen zwei Ausdrücken aufzählt.
Beispiele
Im folgenden Beispiel wird davon ausgegangen, dass ein Container mit zwei Elementen vorhanden ist.
[
{
"name": "Headquarters",
"location": {
"type": "Point",
"coordinates": [
-122.12826822304672,
47.63980239335718
]
},
"category": "business-offices"
},
{
"name": "Research and development",
"location": {
"type": "Point",
"coordinates": [
-96.84368664765994,
46.81297794314663
]
},
"category": "business-offices"
}
]
Das Beispiel zeigt, wie Sie die Funktion als Filter verwenden, um Elemente innerhalb einer angegebenen Entfernung zurückzugeben.
SELECT
o.name,
ST_DISTANCE(o.location, {
"type": "Point",
"coordinates": [-122.11758113953535, 47.66901087006131]
}) / 1000 AS distanceKilometers
FROM
offices o
WHERE
o.category = "business-offices"
[
{
"name": "Headquarters",
"distanceKilometers": 3.345269817267368
},
{
"name": "Research and development",
"distanceKilometers": 1907.438421299902
}
]
Bemerkungen
- Das Resultat wird für das Standardreferenzsystem in Metern angegeben.
- Diese Funktion profitiert von einem räumlichen Index (außer bei Abfragen mit Aggregaten).
- Die GeoJSON-Spezifikation erfordert, dass die Punkte innerhalb eines Polygons gegen den Uhrzeigersinn angegeben werden. Ein Polygon, das im Uhrzeigersinn angegeben wird, stellt die Umkehrung der darin enthaltenen Region dar.