Freigeben über


ST_INTERSECTS (NoSQL-Abfrage)

GILT FÜR: NoSQL

Gibt einen booleschen Ausdruck zurück, der angibt, ob sich das im ersten Argument angegebene GeoJSON-Objekt (Point, Polygon, MultiPolygon oder LineString) mit dem GeoJSON-Objekt im zweiten Argument überschneidet.

Syntax

ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)  

Argumente

BESCHREIBUNG
spatial_expr_1 Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck.
spatial_expr_2 Ein beliebiger gültiger GeoJSON Point, Polygon, MultiPolygon oder LineString-Ausdruck.

Rückgabetypen

Gibt einen booleschen Wert zurück.

Beispiele

Im folgenden Beispiel wird gezeigt, wie ermittelt wird, ob sich zwei Polygone überschneiden.

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

Bemerkungen

  • Diese Funktion profitiert von einem räumlichen Index (außer bei Abfragen mit Aggregaten).
  • Die GeoJSON-Spezifikation erfordert, dass die Punkte innerhalb eines Polygons gegen den Uhrzeigersinn angegeben werden. Ein Polygon, das im Uhrzeigersinn angegeben wird, stellt die Umkehrung der darin enthaltenen Region dar.