ST_DISTANCE (NoSQL-Abfrage)
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.
Zugehöriger Inhalt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für