ST_INTERSECTS (requête NoSQL)
S’APPLIQUE À : NoSQL
Retourne une valeur booléenne indiquant si l’objet GeoJSON (Point, Polygon, MultiPolygon ou LineString) spécifié dans le premier argument croise l’objet GeoJSON du second argument.
Syntaxe
ST_INTERSECTS(<spatial_expr_1>, <spatial_expr_2>)
Arguments
Description | |
---|---|
spatial_expr_1 |
Toute expression GeoJSON Point, Polygon, MultiPolygon ou LineString valide. |
spatial_expr_2 |
Toute expression GeoJSON Point, Polygon, MultiPolygon ou LineString valide. |
Types de retour
Retourne une valeur booléenne.
Exemples
L’exemple suivant montre comment rechercher si deux polygones se croisent.
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
}
]
Remarques
- Cette fonction bénéficie d’un index géospatial, sauf dans les requêtes avec agrégats.
- La spécification GeoJSON exige que les points d’un polygone soient spécifiés dans le sens inverse des aiguilles d’une montre. Un polygone spécifié dans le sens horaire représente l’inverse de la région qu’il contient.