Interesuje mnie zrozumienie, w jaki sposób systemy GIS i ich dane kodują wielokąty.
W szczególności, w jaki sposób rozwiązują niejednoznaczność wnętrza wielokąta na kuli?
Tło: w 2D wybranie strony granicy, która ma skończony obszar, jest banalne, ponieważ płaszczyzna 2D jest nieskończona. Jednak kula jest skończona, więc nie można wiedzieć, która strona jest w środku, bez poczynienia dodatkowych założeń.
Możliwe znane mi podejścia:
- Reguła po prawej : granice zewnętrzne są zawsze określone w kolejności zgodnej z ruchem wskazówek zegara, a otwory są określone w kolejności przeciwnej do ruchu wskazówek zegara. (Oczywiście jest też reguła po lewej stronie).
- Najmniejszy obszar : dla każdego pierścienia zawsze wybieraj stronę o najmniejszym obszarze. Nie jestem pewien, jak określiłbyś wielokąt o dużym zasięgu: być może pusty pierścień zewnętrzny z dziurami?
- Prostokątny : Po prostu rozważ rzut prostokątny na nieskończonej płaszczyźnie 2D. Zakłada się jednak, że funkcje są posiekane na antemerydynie, w przeciwnym razie wymagana byłaby awaria jednej z dwóch powyższych metod.
Moje osobiste preferencje to pierwsze podejście, ale interesuje mnie, czy jest to powszechne w standardowych systemach GIS.
polygon
area
spherical-geometry
Jason Davies
źródło
źródło
Jeśli dobrze rozumiem twoje pytanie, chcesz wiedzieć, jak GIS wykonuje punkt w teście wielokąta kulistego. Oto algorytm, który znalazłem na geospatialmethods.org :
Wydaje mi się, że nadal opiera się on na algorytmie planarnym konstruowania promienia testowego od punktu, o którym mowa, do punktu, o którym wiadomo, że znajduje się poza wielokątem, a następnie zliczania, o ile krawędzi wspomnianego promienia krzyżuje się promień.
Jest również szczegółowo omówione w artykule NASA JPL na temat algorytmów wielokątów na kuli . Jest na stronie 11. Istnieją oczywiście pewne optymalizacje:
Myślę, że papier będzie dla ciebie najciekawszy :)
źródło