Tengo una base de datos con muchos puntos en WGS84. Ahora estoy construyendo un caché que realiza consultas NN y puntos en rango usando un KDtree. El punto [sic] es que el radio de búsqueda se proporcionará en metros y que lat / lon no es un buen SRS para estas consultas geométricas.
Estoy buscando un SRS geométrico que sea aplicable a todo el mundo y que conserve las distancias. No me importan los errores de un par de décimas de metro.
Respuestas:
Busqué en Google el "Índice espacial esférico". Hay un montón de métodos posibles que utilizan la descomposición triangular de la esfera, o inclinaciones de voronoi. Sin embargo, un método que parece fácilmente implementable es considerar sus datos en 3d, como en la sección "Cuadro de límite 3D" aquí:
http://lin-ear-th-inking.blogspot.co.uk/2007/09/geodetic-data-in-postgis-spherical.html
Luego necesita un índice espacial 3d de algún tipo, luego puede encontrar rápidamente todos los puntos dentro de su 1 km. Este sería un radio de búsqueda 3D de 1 km , tan ligeramente diferente a un radio de 1 km a lo largo de la superficie de la tierra, pero para radios de búsqueda pequeños, sería efectivamente idéntico (haga los cálculos para resolver la corrección).
Si desea una precisión absoluta, use esto como un primer paso y luego calcule las distancias a través de un gran círculo para eliminarlas más lejos (la distancia a lo largo de una esfera siempre es mayor que la distancia a través de una esfera).
fuente
Con las proyecciones SRS / Map, siempre es una compensación. Realmente no hay uno que se ajuste bien a todos los lugares del mundo. También podría suponer que la tierra es una esfera.
En lugar de buscar un SRS que se ajuste a todo el mundo, creo que es mejor buscar algoritmos de cálculo de distancia . Un ejemplo es el Great Circle Distanc e, que se basa en la trigonometría esférica. Sin embargo, hace suposiciones como:
La formula es:
Dónde:
Sin embargo, es posible que desee probarlo primero con sus datos y ver los resultados. Por cierto, ¿estás usando una base de datos espacial como PostGIS?
fuente