La fonction pointInPolygon()
juge si une coordonnée 2D se situe à l'intérieur (pas à l'extérieur ou sur) de la frontière d'un polygone, et retourne 1 pour vrai, 0 pour faux.
Arguments:
- Coordonnées 2D <point|list>
- Polygone
Retours:
- Résultat
Vue d’ensemble
Exemple : Calcul direct
uncollect [[1.5,0.5],[2,2]] as point
uncollect [[[1,0],[3,0],[3,1],[1,1]],[[1,0],[2,1],[1,2],[0,1]]] as polygon
return table(toString(point), toString(polygon), pointInPolygon(point, polygon))
| toString(point) | toString(polygon) | pointInPolygon(point, polygon) |
|-----------------|---------------------------|--------------------------------|
| [1.5,0.5] | [[1,0],[3,0],[3,1],[1,1]] | 1 |
| [2,2] | [[1,0],[2,1],[1,2],[0,1]] | 0 |
Exemple : Multiplier et calculer
uncollect [[1.5,0.5],[2,2]] as point
uncollect [[[1,0],[3,0],[3,1],[1,1]],[[1,0],[2,1],[1,2],[0,1]]] as polygon
with pointInPolygon(point, polygon) as result
return table(toString(point), toString(polygon), result)
| toString(point) | toString(polygon) | result |
|-----------------|---------------------------|--------|
| [1.5,0.5] | [[1,0],[3,0],[3,1],[1,1]] | 1 |
| [1.5,0.5] | [[1,0],[2,1],[1,2],[0,1]] | 0 |
| [2,2] | [[1,0],[3,0],[3,1],[1,1]] | 0 |
| [2,2] | [[1,0],[2,1],[1,2],[0,1]] | 0 |