Estou interessado em entender como os sistemas GIS do mundo real e seus dados codificam polígonos.
Especificamente, como eles resolvem a ambiguidade do interior de um polígono em uma esfera?
Antecedentes: em 2D, é trivial escolher o lado do limite que possui uma área finita, pois o plano 2D é infinito. No entanto, uma esfera é finita, portanto, é impossível saber de que lado está dentro sem fazer suposições adicionais.
Possíveis abordagens que eu conheço:
- Regra da mão direita : os limites externos são sempre especificados no sentido horário e os furos são especificados no sentido anti-horário. (É claro que também existe a regra da mão esquerda).
- Área menor : para qualquer anel, sempre escolha o lado com a menor área. Não tenho certeza de como você especificaria um polígono de grande alcance: talvez um anel externo vazio seguido de orifícios?
- Equiretangular : Basta considerar a projeção equiretangular em um plano 2D infinito. No entanto, isso pressupõe que os recursos sejam cortados no antemeridiano; caso contrário, seria necessário um fallback para um dos dois métodos acima.
Minha preferência pessoal é a primeira abordagem, mas estou interessado em entender se isso é comum nos sistemas GIS padrão.
polygon
area
spherical-geometry
Jason Davies
fonte
fonte
Se entendi sua pergunta corretamente, você quer saber como o GIS executa um ponto no teste de polígono esférico. Aqui está um algoritmo que encontrei em geospatialmethods.org :
Eu acho que ainda é baseado no algoritmo planar de construção de um raio de teste do ponto em questão para um ponto conhecido por estar fora do polígono, seguido pela contagem de quantas arestas o raio cruza que você mencionou.
Também é discutido em profundidade em um artigo da NASA JPL sobre algoritmos em polígonos em uma esfera . Está na página 11. Obviamente, existem algumas otimizações:
Eu acho que você achará o artigo mais interessante :)
fonte