Compartilhar via


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

A ST_INTERSECTS função retorna um booliano que indica se o objeto GeoJSON especificado no primeiro argumento cruza o objeto GeoJSON no segundo argumento.

A ST_INTERSECTS função retorna um booliano que indica 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 de Ponto GeoJSON, Polígono, MultiPolygon ou LineString.
spatial_expr_2 Qualquer expressão válida de Ponto GeoJSON, Polígono, MultiPolygon ou LineString.

Tipos de retorno

Retorna um valor booliano.

Exemplos

Esta seção contém exemplos de como usar este constructo de linguagem de consulta.

Verificar 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

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