Sdílet prostřednictvím


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

Funkce ST_INTERSECTS vrátí logickou hodnotu označující, zda objekt GeoJSON zadaný v prvním argumentu protíná objekt GeoJSON v druhém argumentu.

Funkce ST_INTERSECTS vrátí logickou hodnotu označující, jestli se ve službě Azure Cosmos DB for NoSQL protínají dva objekty GeoJSON.

Syntaxe

ST_INTERSECTS(<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 se dva mnohoúhelníky protínají

V tomto příkladu ST_INTERSECTS se funkce používá k určení, jestli se dva mnohoúhelníky GeoJSON protínají.

SELECT VALUE {
  highWayAndCampusIntersect: ST_INTERSECTS({
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.13693695285855,
            47.64996065621003
          ],
          [
            -122.1351662656516,
            47.64627863318731
          ],
          [
            -122.13488295569863,
            47.646326350048696
          ],
          [
            -122.1366182291613,
            47.650016321952904
          ],
          [
            -122.13693695285855,
            47.64996065621003
          ]
      ] ]
  }, {  
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.14034847687708,
            47.6494835188378
          ],
          [
            -122.14014779899375,
            47.64625477474044
          ],
          [
            -122.13256925774829,
            47.646207057813655
          ],
          [
            -122.13254564858545,
            47.64941990019193
          ],
          [
            -122.14034847687708,
            47.6494835188378
          ]
      ] ]
  })
}
[
  {
    "highWayAndCampusIntersect": 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í.