Бөлісу құралы:


ST_INTERSECTS (запрос NoSQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Возвращает логическое значение, указывающее, пересекает ли объект GeoJSON (Point, Polygon, MultiPolygon или LineString), указанный в первом аргументе, пересекает объект GeoJSON во втором аргументе.

Синтаксис

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)  

Аргументы

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

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

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

Примеры

В следующем примере показано, как найти, пересекаются ли два многоугольника.

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 требуется, чтобы точки в многоугольнике были указаны в порядке против часовой стрелки. Если точки указаны в порядке по часовой стрелке, то многоугольник представляет регион, расположенный снаружи от него.