Sdílet prostřednictvím


ST_WITHIN – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Funkce ST_WITHIN vrátí logický výraz označující, zda je objekt GeoJSON zadaný v prvním argumentu v objektu GeoJSON v druhém argumentu.

Funkce ST_WITHIN vrátí logickou hodnotu označující, jestli je jeden objekt GeoJSON v rámci jiného objektu ve službě Azure Cosmos DB for NoSQL.

Syntaxe

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Libovolný platný výraz GeoJSON Point, Polygon, MultiPolygon nebo LineString.
spatial_expr_2 Libovolný platný výraz GeoJSON Point, Polygon, MultiPolygon nebo LineString.

Návratové typy

Vrátí logickou hodnotu.

Examples

Tato část obsahuje příklady použití tohoto konstruktoru dotazovacího jazyka.

Kontrola, jestli je bod uvnitř mnohoúhelníku

V tomto příkladu ST_WITHIN se funkce používá k určení, jestli je GeoJSON Point v polygonu.

SELECT VALUE {
  isHeadquartersWithinCampus: ST_WITHIN({
      "type": "Point",
      "coordinates": [
          -122.12824857332558,
          47.6395516675712
      ]
  }, {            
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.13236581015025,
            47.64606476313813
          ],
          [
            -122.13221982500913,
            47.633757091363975
          ],
          [
            -122.11840598103835,
            47.641749416109235
          ],
          [
            -122.12061400629656,
            47.64589264786028
          ],
          [
            -122.13236581015025,
            47.64606476313813
          ]
      ] ]
  })
}
[
  {
    "isHeadquartersWithinCampus": true
  }
]

Poznámky

  • Tato funkce využívá geoprostorový index s výjimkou dotazů s agregacemi.
  • Specifikace GeoJSON vyžaduje, aby body v polygonu byly zadány v proti směru hodinových ručiček. Mnohoúhelník zadaný v pořadí hodinových ručiček představuje inverzní funkci oblasti v ní.