Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: NoSQL
Returnerar avståndet mellan två GeoJSON Point-, Polygon-, MultiPolygon- eller LineString-uttryck.
Kommentar
Mer information finns i Geospatiala och GeoJSON-platsdata.
Syntax
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
Argument
| beskrivning | |
|---|---|
spatial_expr_1 |
Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon - eller LineString-uttryck . |
spatial_expr_2 |
Alla giltiga GeoJSON Point-, Polygon-, MultiPolygon - eller LineString-uttryck . |
Returtyper
Returnerar ett numeriskt uttryck som räknar upp avståndet mellan två uttryck.
Exempel
I följande exempel förutsätts att det finns en container med två objekt.
[
{
"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"
}
]
Exemplet visar hur du använder funktionen som ett filter för att returnera objekt inom ett angivet avstånd.
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
}
]
Kommentarer
- Resultatet uttrycks i mätare för standardreferenssystemet.
- Den här funktionen drar nytta av ett geospatialt index förutom i frågor med aggregeringar.
- GeoJSON-specifikationen kräver att punkter i en Polygon anges i motsols ordning. En Polygon som anges i medsols ordning representerar inversen av regionen inom den.