Megosztás a következőn keresztül:


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.

Megjegyzés

További információ: Térinformatikai és GeoJSON-helyadatok.

Szintaxis

ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)  

Argumentumok

Description
spatial_expr_1 Bármely érvényes GeoJSON-pont, sokszög, többpógon vagy Vonallánc kifejezés.
spatial_expr_2 Bármely érvényes GeoJSON-pont, sokszög, többpógon vagy Vonallánc kifejezés.

Visszaadott típusok

Egy 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 index előnyeit élvezi , kivéve az összesítő lekérdezéseket.
  • A GeoJSON specifikáció megköveteli, hogy a sokszögben lévő pontok az ó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.