4 votos

Hay un servicio para comprobar si un gps de la ruta pertenece a una vía pública?

Tengo un montón de tracks de GPS. Quiero excluir a los que ir a través de caminos públicos. Estoy interesado en off-road segmentos sólo. Hay alguna api pública para comprobar si un determinado conjunto de coordenadas pertenece a una carretera o en la calle? Hay una manera mejor de hacerlo? Tal vez OSM?

Un poco de contexto - las pistas están en el reino unido. Me siento cómodo con la programación en C#/F#. Estoy pensando en escribir un fragmento de código que se filtro de las pistas. El poder de computación se limita a una sola awerage PC.

2voto

Creo que JasonT es en la pista de la derecha (perdón por el juego de palabras). Nota, sin embargo, es el concepto de un búfer que quieres, no para realmente crear un búfer. Si se utiliza PostGIS (o similar software/bibliotecas), tendría que utilizar ST_DWithin() a rechazar público puntos de la carretera que están demasiado cerca de los puntos GPS.

1voto

Raoul Puntos 1113

Google maps los caminos de la API puede hacer que, si no OSM solución está bien con usted.

Ver snapToRoad método que devuelve los puntos GPS acoplada a la Carretera más cercana. Usted puede tomar el lugar de id de la respuesta y el uso de los Mapas de Google Places API para obtener el correspondiente nombre de la Carretera.

https://developers.google.com/maps/documentation/roads/snap

1voto

Waleed Hamra Puntos 108

Así que después de algunas investigaciones, decidí seguir con la OSM de metadatos. He encontrado el paso a desnivel de la API, que es básicamente un lenguaje de consulta, que me las arreglé para comprender la lectura de este:

http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL

y prueba de ello aquí

http://overpass-api.de/query_form.html

Terminé con esta consulta:

way
 ["highway"~"motorway|trunk|primary|secondary|tertiary|unclassified|residential|service|motorway_link|trunk_link|primary_link|secondary_link|tertiary_link|living_street|pedestrian|bus_guideway|raceway|road"]
 ({bbox});
(._;>;);
out;

Esto encuentra todos los caminos que he considerado público, a través de una carretera de filtro dentro de mi cuadro delimitador. Toma los caminos y las cargas de sus nodos - (._;>;); - tal afirmación obvia, no lo es!

Esto me da los metadatos necesarios para el uso para el filtrado. Ahora puedo construir geometrías y se cruzan con mis pistas usando .La Topología De Red Suite

https://github.com/NetTopologySuite/NetTopologySuite

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