8 votos

Que el SRS para el uso global de la distancia de las consultas?

Tengo una base de datos con una gran cantidad de puntos en WGS84. Ahora estoy construyendo un caché que realiza NN y puntos en el rango de consultas mediante un KDtree. En el punto [sic] es que el radio de búsqueda será proporcionado en metros y que lat/lon no es un buen SRS para estos geométrica de las consultas.

Estoy buscando un geométricas SRS que es aplicable a todo el mundo y que conserva las distancias. No me importa acerca de los errores de un par de 10ths de metros.

4voto

shsteimer Puntos 8749

Con SRS/Mapa de proyecciones, siempre es un trade-off. Realmente no hay uno que es un buen ajuste para todos los lugares del mundo. Podría asumir que la tierra es una esfera.

En lugar de buscar un SRS que se adapte a todo el mundo, creo que es mejor que la de mirar para el cálculo de la distancia de los algoritmos. Un ejemplo es el Gran Círculo Distance, que se basa en la trigonometría esférica. No hacer suposiciones, aunque como:

  • 1 minuto de arco es de 1 milla náutica
  • 1 milla náutica es 1.852 km.

La fórmula es:

D = 1.852 * 60 * ARCOS ( SIN(L1) * SIN(L2) + COS(L1) * COS(L2) * COS(DG)

Donde:

L1  =   latitude at the first point (degrees)
L2  =   latitude at the second point (degrees)
G1  =   longitude at the first point (degrees)
G2  =   longitude at the second point (degrees)
DG  =   longitude of the second point minus longitude of the first point (degrees)
DL  =   latitude of the second point minus latitude of the first point (degrees)
D   =   computed distance (km)

Es posible que desee probar con sus datos y ver los resultados. Por cierto, ¿estás usando una base de datos espaciales como PostGIS?

2voto

Jay Bazuzi Puntos 194

Me hizo buscar un poco en google para "Esférica Índice Espacial". Hay un montón de métodos posibles, utilizando triangular de la descomposición de la esfera, o mosaicos de voronoi. Uno de los métodos que se ve fácilmente realizable sin embargo, es de considerar sus datos en 3d, como en el "3D del Cuadro Delimitador de la sección" aquí:

http://lin-ear-th-inking.blogspot.co.uk/2007/09/geodetic-data-in-postgis-spherical.html

Entonces usted necesita un 3d índice espacial de algún tipo, entonces usted puede encontrar rápidamente todos los puntos dentro de su 1km. Este sería un 1km 3D radio de búsqueda, de modo ligeramente diferente a un 1km de radio a lo largo de la superficie de la tierra, pero para los pequeños de búsqueda, los radios, sería idéntico (hacer la matemáticas para trabajar la corrección).

Si desea absoluta precisión, utilice esto como un primer paso y, a continuación, calcular las distancias a través de un gran círculo de eliminar aquellos que más lejos (distancia a lo largo de una esfera es siempre mayor que la distancia a través de una esfera).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X