Partilhar via


ST_INTERSECTS - Linguagem de consulta no Cosmos DB (no Azure e no Fabric)

A ST_INTERSECTS função retorna um booleano indicando se o objeto GeoJSON especificado no primeiro argumento intersecta o objeto GeoJSON no segundo argumento.

A ST_INTERSECTS função retorna um booleano indicando se dois objetos GeoJSON se cruzam no Azure Cosmos DB para NoSQL.

Sintaxe

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Qualquer expressão válida GeoJSON Point, Polygon, MultiPolygon ou LineString.
spatial_expr_2 Qualquer expressão válida GeoJSON Point, Polygon, MultiPolygon ou LineString.

Tipos de devolução

Retorna um valor booleano.

Examples

Esta seção contém exemplos de como usar essa construção de linguagem de consulta.

Verifique se dois polígonos se cruzam

Neste exemplo, a ST_INTERSECTS função é usada para determinar se dois polígonos GeoJSON se cruzam.

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

Observações

  • Esta função beneficia de um índice geoespacial, exceto em consultas com agregados.
  • A especificação GeoJSON requer que os pontos dentro de um Polígono sejam especificados em ordem anti-horário. Um Polígono especificado em ordem horária representa o inverso da região dentro dele.