ST_DISTANCE (NoSQL-lekérdezés)
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Két GeoJSON-pont, Sokszög, MultiPolygon vagy LineString kifejezés közötti távolságot adja vissza.
Feljegyzés
További információ: Térinformatikai és GeoJSON-helyadatok.
Syntax
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
Argumentumok
Leírás | |
---|---|
spatial_expr_1 |
Bármely érvényes GeoJSON-pont, sokszög, multipoligon vagy LineString kifejezés. |
spatial_expr_2 |
Bármely érvényes GeoJSON-pont, sokszög, multipoligon vagy LineString kifejezés. |
Visszatérési típusok
Olyan numerikus kifejezést ad vissza, amely számba adja a két kifejezés közötti távolságot.
Példák
Az alábbi példa feltételezi, hogy egy tároló két elemet tartalmaz.
[
{
"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"
}
]
A példa bemutatja, hogyan használhatja a függvényt szűrőként a megadott távolságon belüli elemek visszaadására.
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
}
]
Megjegyzések
- Az eredmény az alapértelmezett referenciarendszer mérőiben van kifejezve.
- Ez a függvény a térinformatikai indexek előnyeit élvezi, kivéve az összesítő lekérdezéseket.
- A GeoJSON-specifikáció megköveteli, hogy a sokszögben lévő pontok óramutató járásával ellentétes sorrendben legyenek megadva. Az óramutató járásával megegyező sorrendben megadott sokszög a régió inverzét jelöli.