8 votos

¿Cómo convertir un track de puntos en ruta direcciones?

Imagina que tienes una lista de puntos (latitud + longitud) se han grabado previamente con un receptor GPS. Ahora, usted necesita para convertir a una representación textual de la ruta que has seguido. Ejemplo:

  1. Inicio en Redmond Avenida 12
  2. Caminar 200 m
  3. Gire a la izquierda a Otro San
  4. Caminar 100 m
  5. Pare en el Otro San 10
  6. Final

Realmente no lo necesita para ser muy detallado. La primera idea que viene a mi mente es el uso de un servicio externo (google, yahoo...) para geocodificación inversa de cada punto. A continuación, aplicar un algoritmo simple para escribir la ruta cuando puedo detectar un cambio en el nombre de la calle.

Cualquier sugerencia sobre cuál es el mejor algoritmo o cualquier existentes (abrir) la aplicación es bienvenido. No parece ser trivial.

4voto

Robert Höglund Puntos 5572

Si usted puede utilizar un servicio externo, las Direcciones de Google API proporciona esta funcionalidad directamente. Es compatible con los waypoints a lo largo de la ruta, por lo que podría hacer:

http://maps.google.com/maps/api/directions/json?origin=Redmond+Avenue+12,01864
&destination=Concord,MA&waypoints=lat1,long1|lat2,long2|lat3,long3&sensor=true

Esto devolverá una JSON documento steps para cada dirección.

Si desea hacerlo usted mismo, usted tiene un par de pasos para iniciar el procesamiento de instrucciones: usted necesitará un conjunto de datos para el enrutamiento de los caminos, como los de OSM, y un motor de enrutamiento tales como pgRouting. Algo así como OSM2PostGIS proporciona el necesario levantar cosas pesadas para conseguir una configuración como esta ejecutando. A continuación, podrás desee cambiar la posición de cada uno de sus puntos en el borde más cercano, que se puede hacer en PostGIS con ST_Line_Locate_Point (documentación). Entre la referencia lineal en PostGIS y pgRouting, usted debería ser capaz de crear suficientemente razonables como las direcciones.

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