Qual é a solução certa (e projeção de mapa) para calcular distâncias entre pontos localizados em todo o mundo?

11

Depois do meu estudo sobre projeção de mapas, percebi que é muito difícil escolher uma projeção que permita calcular simultaneamente as distâncias entre uma grande quantidade de pontos se esses pontos estiverem localizados em todo o mundo. Projeções equidistantes permitem apenas calcular a distância entre alguns pontos. Então eu decidi usar a seguinte solução. Meu conjunto de dados pode ser dividido em conjuntos de dados menores:

  1. Território dos Estados Unidos;
  2. toda a EURASIA;
  3. o território que abrange o continente africano e a Europa.

No ArcGIS 9.3 (licença ArcInfo), projetei cada conjunto de dados com a projeção Lambert Azimuthal Equal Area adequadamente "centralizada" para cada caso. Para cada conjunto de dados, carreguei uma nova camada com o shapefile Tatrot's Indicatrix e calculei as áreas de cada elipse. Eu considerei como "não distorcido" (em relação à área e às distâncias) todos os territórios sobre os quais as áreas das elipses não diferem mais de 5% da elipse mais próxima do centro da projeção e quando a forma das elipses não diferem razoavelmente de circular. Depois de ter visto que meus pontos estavam incluídos neste território "não distorcido", calculei a distância dos pontos. Você acha que meu procedimento estava razoavelmente correto ou tem algum conselho sobre uma melhor projeção de mapa para o meu propósito?

e-falcon
fonte
1
Muito obrigado pelas respostas úteis! Encontrei o pacote SDMTools, rodando sob "R", para calcular facilmente distâncias usando a fórmula Vincenty
e-falcon

Respostas:

6

Por que tentar projetar os dados?

Como mencionado em outras respostas, há matemática para calcular distâncias no período (acho que também existe no ArcGIS).

No PostGIS, você tem duas opções. Use o tipo de dados geográficos e você pode usar todas essas funções (capítulo 8.3). Observe a função ST_Distance trabalhando contra o tipo de região geográfica. Sua outra opção é usar o tipo de geometria e usar a função especial ST_Distance_Sphere ou ST_Distance_Spheroid .

/ Nicklas

Nicklas Avén
fonte
4

Confira a fórmula de Haversine . Se você pesquisar um pouco, poderá encontrar implementações em vários idiomas (Javascript, C #, Python ... etc).

user890
fonte
1
Consulte gis.stackexchange.com/q/4906/664 neste site para obter o código e uma análise detalhada dessa fórmula.
whuber