Determine um número desconhecido de locais do mundo real a partir de relatórios baseados em GPS

9

Estou trabalhando em algum software que deve determinar locais do mundo real (câmaras de velocidade de fe) a partir de vários relatórios baseados em GPS . Um usuário estará dirigindo ao relatar um local, portanto os relatórios serão muito imprecisos. Para resolver esse problema, tenho que agrupar relatórios sobre o mesmo local e calcular uma média.

Minha pergunta é sobre como agrupar esses relatórios . Eu li sobre algoritmos de expectativa de maximização e cluster de meios k , mas, como eu entendi, precisaria determinar com antecedência o número de locais reais.

Existem outros algoritmos que não precisam do número exato de locais reais, mas usam algumas condições de borda (distância mínima)?

Um relatório contém longitude , latitude e precisão (em metros). Não há nome ou qualquer outra coisa que possa ser usada para identificar duplicatas.

Outro obstáculo pode ser que seja comum, que haja apenas um relatório para uma localização no mundo real. Isso dificulta a distinção de valores discrepantes de bons dados.

Christian Strempfer
fonte
11
Não sei ao certo o que você quer dizer quando diz "... como eu entendi, precisaria determinar com antecedência o número de locais reais ..." Supondo que o tenha entendido corretamente, não há nada nos algoritmos que inerentemente exijam esta. Você está planejando aumentar o número de componentes do cluster com base no número de relatórios?
Pat
11
Segunda pergunta :). Se seus relatórios vierem de alguém que está dirigindo, possivelmente haverá mudanças significativas de posição entre eles. Os relatórios vêm com um carimbo de data e hora informando quando foram tirados?
Pat
2
Oi Pat. Estou falando de engarrafamentos ou câmeras de velocidade para deixar mais claro. 1. O "k" no cluster de meios k representa o número de clusters. No meu caso, eu teria um cluster para cada local, enquanto não sei quantos locais diferentes existem. 2. Sim, eles também incluem um carimbo de data / hora. Mas não entendo por que isso deve ser importante, porque só me preocupo com a posição.
Christian Strempfer
11
1. Ah, entendo. Portanto, você tem um número desconhecido de locais e cada local gera um ou mais relatórios. No entanto, tudo que você vê é um fluxo de relatórios. Você deseja inferir quantos locais existem e sua posição com base nos relatórios observados. Eu entendi? 2. Preocupo-me com os carimbos de data e hora, porque você diz que o usuário estará dirigindo quando apresentar um relatório. Como tal, a menos que os relatórios cheguem em sucessão muito rápida ou a velocidade seja muito baixa (possível, se for um engarrafamento), um único local parecerá uma linha irregular de relatórios seguindo a estrada. Timestamps pode ser capaz de ajuda aqui
Pat
11
1. Sim, você conseguiu. 2. É uma tarefa manual, portanto, um local deve ser relatado apenas uma vez por usuário durante uma viagem. Mas você está certo, eu tenho que lidar com duplicatas, quando um usuário clicar acidentalmente duas vezes, e os relatórios serão imprecisos ao dirigir rápido. É por isso que mencionei a condição da borda de uma distância mínima entre os locais. Vamos ignorar os engarrafamentos, que podem se espalhar por alguns quilômetros, e assumir que um local é muito pequeno.
Christian Strempfer

Respostas:

1

Eu encontrei um software que talvez possa ajudá-lo. Parece que alguém teve o mesmo problema que você e eles deram a ele uma solução neste fórum , então você precisará usar o ArcGIS, mas se você estiver procurando por um algoritmo, eles sugerem este artigo . Eu acho que o artigo é detalhado o suficiente para ser um bom começo para o seu algoritmo.

eyanquenb
fonte
2
Como todas as informações contidas nesta resposta estão em seus links e, eventualmente, os links apodrecem, por favor, resuma o que os posts do fórum e o documento recomendam.
whuber