Determine un número desconocido de ubicaciones del mundo real a partir de informes basados ​​en GPS


9

Estoy trabajando en algún software que debería determinar ubicaciones del mundo real (por ejemplo, cámaras de velocidad) a partir de varios informes basados ​​en GPS . Un usuario conducirá al informar una ubicación, por lo tanto, los informes son muy inexactos. Para resolver ese problema, tengo que agrupar los informes sobre la misma ubicación y calcular un promedio.

Mi pregunta es sobre cómo agrupar esos informes . He leído acerca de los algoritmos Expectativa-maximación y k-means clustering , pero como ya he entendido que tendría que determinar el número de localizaciones reales de antemano.

¿Existen otros algoritmos que no necesiten el número exacto de ubicaciones reales, sino que usen algunas condiciones de borde (por ejemplo, distancia mínima)?

Un informe contiene longitud , latitud y precisión (en metros). No hay nombre ni nada que pueda usarse para identificar duplicados.

Otro obstáculo podría ser que será común, que solo hay un informe para una ubicación en el mundo real. Eso hace que sea difícil distinguir los valores atípicos de los buenos datos.


1
No estoy seguro de lo que quieres decir cuando dices "... como entendí, necesitaría determinar el número de ubicaciones reales por adelantado ..." Suponiendo que te haya entendido correctamente, no hay nada en los algoritmos que inherentemente requiera esta. ¿Quizás planea aumentar la cantidad de componentes del clúster en función de la cantidad de informes?
Pat

1
2da pregunta :). Si sus informes provienen de alguien que está conduciendo, entonces posiblemente habrá cambios significativos en la posición entre ellos. ¿Los informes vienen con una marca de tiempo que le indica cuándo se tomaron?
Pat

2
Hola pat Estoy hablando de atascos o cámaras de velocidad para que quede más claro. 1. La "k" en la agrupación k-significa significa el número de agrupaciones. En mi caso, tendría un clúster para cada ubicación, mientras que no sé cuántas ubicaciones diferentes hay. 2. Sí, también incluyen una marca de tiempo. Pero no entiendo por qué eso debería ser importante, porque solo me importa el puesto.
Christian Strempfer

1
1. Ahh, ya veo. Por lo tanto, tiene un número desconocido de ubicaciones, y cada ubicación genera uno o más informes. Sin embargo, todo lo que ves es un flujo de informes. Desea inferir cuántas ubicaciones hay y su posición, en función de los informes observados. Lo tengo 2. Me preocupan las marcas de tiempo porque usted dice que el usuario conducirá cuando presente un informe. Como tal, a menos que los informes lleguen en una sucesión muy rápida, o la velocidad sea muy baja (posible, si es un atasco de tráfico), una sola ubicación se verá como una línea irregular de informes siguiendo la carretera. Las marcas de tiempo pueden ayudar aquí
Pat

1
1. Sí, lo tienes. 2. Es una tarea manual, por lo que una ubicación solo se debe informar una vez por usuario durante un viaje. Pero tienes razón, tengo que manejar duplicados, cuando un usuario hace clic accidentalmente dos veces, y los informes serán inexactos cuando conduces rápido. Es por eso que mencioné la condición de borde de una distancia mínima entre ubicaciones. Ignoremos los atascos de tráfico, que pueden extenderse algunas millas, y supongamos que una ubicación es muy pequeña.
Christian Strempfer

Respuestas:


1

He encontrado un software que quizás pueda ayudarte. Parece que alguien tuvo el mismo problema que usted y le dieron una solución en este foro , por lo que necesitará usar ArcGIS, pero si está buscando un algoritmo le sugieren este documento . Creo que el documento es lo suficientemente detallado como para ser un buen comienzo para su algoritmo.


2
Debido a que toda la información es esta respuesta reside en sus enlaces, y los enlaces eventualmente se pudren, por lo menos resuma lo que el foro publica y el artículo recomienda.
whuber
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.