Eu tenho um banco de dados com muitos pontos no WGS84. Agora estou construindo um cache que executa NN e aponta consultas de intervalo usando um KDtree. O ponto [sic] é que o raio de pesquisa será fornecido em metros e que lat / lon não é um bom SRS para essas consultas geométricas.
Estou procurando uma SRS geométrica que seja aplicável a todo o mundo e que preserve distâncias. Não me importo com erros de alguns décimos de metros.
Respostas:
Eu pesquisei no "Spherical Spatial Index" no Google. Existem vários métodos possíveis usando a decomposição triangular da esfera, ou inclinações voronoi. Um método que parece facilmente implementável é considerar seus dados em 3d, como na seção "Caixa delimitadora 3D" aqui:
http://lin-ear-th-inking.blogspot.co.uk/2007/09/geodetic-data-in-postgis-spherical.html
Então você precisa de algum tipo de índice espacial 3d, para encontrar rapidamente todos os pontos em um quilômetro. Este seria um raio de pesquisa 3D de 1 km , tão ligeiramente diferente de um raio de 1 km ao longo da superfície da Terra, mas para raios de pesquisa pequenos, seria efetivamente idêntico (faça as contas para calcular a correção).
Se você deseja precisão absoluta, use isso como um primeiro passo e depois calcule as distâncias através de um grande círculo para eliminá-las mais longe (a distância ao longo de uma esfera é sempre maior que a distância através de uma esfera).
fonte
Com as projeções SRS / Map, é sempre uma troca. Realmente não existe um que seja adequado para todos os lugares do mundo. Pode muito bem assumir que a terra é uma esfera.
Em vez de procurar um SRS que se encaixe no mundo inteiro, acho melhor você procurar algoritmos de cálculo de distância . Um exemplo é a grande distância do círculo, baseada na trigonometria esférica. Faz suposições embora como:
A fórmula é:
Onde:
Você pode testá-lo primeiro com seus dados e ver os resultados. Btw, você está usando um banco de dados espacial como o PostGIS?
fonte