ST_INTERSECTS — язык запросов в Cosmos DB (в Azure и Fabric)

Функция ST_INTERSECTS возвращает логическое значение, указывающее, пересекает ли объект GeoJSON, указанный в первом аргументе, объект GeoJSON во втором аргументе.

Функция ST_INTERSECTS возвращает логическое значение, указывающее, пересекаются ли два объекта GeoJSON в Azure Cosmos DB.

Синтаксис

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Любое допустимое выражение GeoJSON Point, Polygon, MultiPolygon или LineString.
spatial_expr_2 Любое допустимое выражение GeoJSON Point, Polygon, MultiPolygon или LineString.

Типы возвращаемых данных

Возвращает логическое значение.

Примеры

В этом разделе содержатся примеры использования этой конструкции языка запросов.

Проверьте, пересекаются ли два многоугольника

В этом примере функция используется для определения того, ST_INTERSECTS пересекаются ли два многоугольника GeoJSON.

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
  }
]

Замечания

  • Эта функция использует геопространственный индекс, кроме запросов с агрегатами.
  • Спецификация GeoJSON требует, чтобы точки в многоугольнике были указаны в порядке по часовой стрелке. Многоугольник, указанный в по часовой стрелке, представляет обратное значение региона внутри него.