Je suis intéressé à comprendre comment les systèmes SIG du monde réel et leurs données codent les polygones.
Plus précisément, comment résolvent-ils l'ambiguïté de l'intérieur d'un polygone sur une sphère?
Contexte: en 2D, il est trivial de choisir le côté de la frontière qui a une zone finie, car le plan 2D est infini. Cependant, une sphère est finie, il est donc impossible de savoir de quel côté se trouve l'intérieur sans faire d'hypothèses supplémentaires.
Approches possibles que je connais:
- Règle de droite : les limites extérieures sont toujours spécifiées dans le sens horaire et les trous sont spécifiés dans le sens antihoraire. (Il y a bien sûr aussi la règle de gauche).
- Plus petite zone : pour un anneau donné, choisissez toujours le côté avec la plus petite zone. Je ne sais pas comment vous spécifieriez un polygone à large plage: peut-être un anneau extérieur vide suivi de trous?
- Équirectangulaire : il suffit de considérer la projection équirectangulaire sur un plan 2D infini. Cependant, cela suppose que les caractéristiques sont coupées à l'antéméridien, sinon une solution de rechange serait requise pour l'une des deux méthodes ci-dessus.
Ma préférence personnelle est la première approche, mais je souhaite savoir si cela est courant dans les systèmes SIG standard.
polygon
area
spherical-geometry
Jason Davies
la source
la source
Si je comprends bien votre question, vous voulez savoir comment le SIG effectue un point dans le test de polygone sphérique. Voici un algorithme que j'ai trouvé sur geospatialmethods.org :
Je suppose qu'il est toujours basé sur l'algorithme planaire de construction d'un rayon de test à partir du point en question vers un point connu pour être en dehors du polygone, suivi du comptage du nombre d'arêtes que le rayon traverse que vous avez mentionnées.
Il est également discuté en profondeur dans un article JPL de la NASA sur les algorithmes sur les polygones sur une sphère . C'est à la page 11. Il y a bien sûr quelques optimisations:
Je pense que vous trouverez l'article le plus intéressant :)
la source