Udostępnij przez


ST_WITHIN — Język zapytań w usłudze Cosmos DB (na platformie Azure i w sieci szkieletowej)

Funkcja ST_WITHIN zwraca wyrażenie logiczne wskazujące, czy obiekt GeoJSON określony w pierwszym argumencie znajduje się w obiekcie GeoJSON w drugim argumencie.

Funkcja ST_WITHIN zwraca wartość logiczną wskazującą, czy jeden obiekt GeoJSON znajduje się w innej w usłudze Azure Cosmos DB for NoSQL.

Składnia

ST_WITHIN(<spatial_expr_1>, <spatial_expr_2>)

Arguments

Description
spatial_expr_1 Dowolne prawidłowe wyrażenie GeoJSON Point, Polygon, MultiPolygon lub LineString.
spatial_expr_2 Dowolne prawidłowe wyrażenie GeoJSON Point, Polygon, MultiPolygon lub LineString.

Typy zwracane

Zwraca wartość logiczną.

Przykłady

Ta sekcja zawiera przykłady użycia tej konstrukcji języka zapytań.

Sprawdzanie, czy punkt znajduje się w obrębie wielokąta

W tym przykładzie ST_WITHIN funkcja służy do określania, czy punkt GeoJSON znajduje się w obrębie wielokąta.

SELECT VALUE {
  isHeadquartersWithinCampus: ST_WITHIN({
      "type": "Point",
      "coordinates": [
          -122.12824857332558,
          47.6395516675712
      ]
  }, {            
      "type": "Polygon",
      "coordinates": [ [
          [
            -122.13236581015025,
            47.64606476313813
          ],
          [
            -122.13221982500913,
            47.633757091363975
          ],
          [
            -122.11840598103835,
            47.641749416109235
          ],
          [
            -122.12061400629656,
            47.64589264786028
          ],
          [
            -122.13236581015025,
            47.64606476313813
          ]
      ] ]
  })
}
[
  {
    "isHeadquartersWithinCampus": true
  }
]

Uwagi

  • Ta funkcja korzysta z indeksu geoprzestrzennego z wyjątkiem zapytań z agregacjami.
  • Specyfikacja GeoJSON wymaga, aby punkty w obrębie wielokąta zostały określone w kolejności odwrotnej do ruchu wskazówek zegara. Wielokąt określony w kolejności wskazówek zegara reprezentuje odwrotność regionu w nim.