Encontrar rutas de mapas similares


9

Estoy buscando un algoritmo que, cuando se le da una ruta particular en un mapa con atributos como inclinación / distancia / forma / etc., puede encontrar una ruta que sea similar (en términos de los atributos) pero que comience en un punto diferente o en una región diferente del mundo.

Obviamente, será imposible en casi todos los casos encontrar un ajuste perfecto, pero estoy buscando un sistema de "mejor combinación" con un método ideal para medir la similitud.

He intentado buscar, pero la mayoría de mis consultas surgen con problemas de correspondencia de mapas o similitud de ruta para puntos GPS a lo largo de la misma ruta. ¡Puede que no sepa la terminología correcta! ¿Hay un nombre para este problema? ¿Qué algoritmo puedo usar para resolver esto?


1
¿Están las "rutas" restringidas a una red de línea (camino / ruta / etc.)? ¿Cómo evita que el algoritmo decida que la ruta más cercana es la ruta de origen pero solo un poco más corta / más larga?
Spacedman

1
"Similar en términos de los atributos" tiene sentido, pero es tan vago que permite una amplia gama de posibles soluciones. ¿Podrías ser más específico?
whuber

@Spacedman Sí, las rutas están restringidas a una red de carreteras. La intención es tomar una ruta por carretera desde, digamos, China, y encontrar un camino muy similar que esté cerca, digamos, de mi casa. No estoy seguro de la mejor manera de implementar esa restricción.
Chris Foster,

@whuber Lo siento. Para aclarar, tener inclinaciones similares (en áreas similares de la ruta) y una distancia total similar son las más importantes.
Chris Foster,

Respuestas:


6

La correspondencia de mapas es diferente de lo que está buscando. Mapmatching es la forma correcta de hacer coincidir una observación gps de error con la red de calles lineal. Su pregunta tampoco tiene nada que ver con los puntos GPS. Porque desea comparar el patrón de las rutas estáticas (no temporales) y encontrar las similares. Lo que está buscando es una coincidencia lineal de características (en el sentido de SIG, no de aprendizaje automático) . La literatura relacionada con la pista GPS es la coincidencia de patrones espacio-temporales que se encuentra bajo la rúbrica de la "Minería de patrones de trayectoria (espacial)".

Para obtener más información, eche un vistazo al capítulo (Minería de patrones de trayectoria) del libro " computación con trayectoria espacial ". Obtendrá muchas ideas sobre cómo comparar y contrastar (es decir, a través de acimut, longitud de segmentos, sinuosidad, línea recta, etc.) varias rutas o trayectorias.


4

Su pregunta se basa en datos vectoriales. Sin embargo, creo que le conviene más convertir la pregunta en un análisis ráster. Al hacerlo, también generalizará en cierta medida su pregunta.

Un algoritmo para resolver su pregunta sería el siguiente:

  1. Rasterice la ruta original y haga que cada celda lleve los parámetros de acuerdo con sus especificaciones (inclinación / distancia / forma / etc.). El hecho de que una carretera esté presente también es un parámetro. Esto se convierte en una lista unidimensional con n objetos -> routelist (n)

ingrese la descripción de la imagen aquí

  1. Encuentre un área de prueba donde sepa que hay al menos una réplica de su ruta original. Rasterice esta área con los mismos parámetros que su ruta original. Esta es la trama a.

ingrese la descripción de la imagen aquí

  1. Comience con la celda 1,1 en el ráster a y avance por todo el ráster de manera ordenada.
  2. Para cada celda se llama una función. Esta función verifica si la celda corresponde a la lista de routers (0), de ser así, se realiza la misma verificación en las celdas circundantes. Con éxito, la función pasa a verificar la celda para el enrutador (1) y así sucesivamente. Si tiene éxito todo el camino hasta la lista de routers (n), las coordenadas se almacenan como una ruta alternativa en routelistcopy (n)
  3. Repita hasta llegar al último píxel en el ráster.

ingrese la descripción de la imagen aquí

Arriba verá tres opciones para rutas de acuerdo con los parámetros en la lista de routers.

Además:

  • Los rásteres de muestra anteriores se miden según un solo parámetro. En su desafío del mundo real, un píxel será una combinación de varios parámetros.
  • Si tuviera esta tarea, trataría de escribir la función mencionada anteriormente de forma recursiva. Esto sería más eficiente y resolvería el problema de las "pistas divergentes", donde tiene varias pistas alternativas con el mismo punto de partida.
  • Los giros de su ruta no se consideran un problema. Esto significa que las respuestas son una lista de píxeles conectados en el mismo orden que su ruta original. Los giros y vueltas no son un problema. Es posible que tenga que escribir el algoritmo para que las rutas auto intersectantes no sean parte de la solución.
  • Diseñe el algoritmo para que pueda establecer diferentes niveles de tolerancia para los criterios en juego. Esto te dará más flexibilidad.
  • En un entorno operativo, todo el proceso se puede hacer más eficiente seleccionando el área en busca de píxeles según sus especificaciones. Si no están allí, el área de la encuesta es negativa, por lo que no hay razón para usar el tiempo para analizar el área.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.