Determina un numero sconosciuto di posizioni nel mondo reale dai rapporti basati su GPS


9

Sto lavorando ad alcuni software che dovrebbero determinare le posizioni del mondo reale (ad esempio autovelox) da diversi rapporti basati su GPS . Un utente guiderà quando segnalerà una posizione, quindi i rapporti saranno molto imprecisi. Per risolvere questo problema, devo raggruppare i report sulla stessa posizione e calcolare una media.

La mia domanda è su come raggruppare quei rapporti . Ho letto degli algoritmi di massimizzazione delle aspettative e il clustering di k -medie , ma ho capito che avrei dovuto determinare in anticipo il numero di posizioni reali.

Esistono altri algoritmi che non necessitano del numero esatto di posizioni reali, ma utilizzano invece alcune condizioni del bordo (per una distanza minima)?

Un rapporto contiene longitudine , latitudine e precisione (in metri). Non esiste un nome o altro che possa essere utilizzato per identificare i duplicati.

Un altro ostacolo potrebbe essere che sarà comune, che esiste un solo rapporto per un luogo reale. Ciò rende difficile distinguere i valori erratici dai buoni dati.


1
Non sono sicuro di cosa intendi quando dici "... come ho capito avrei bisogno di determinare in anticipo il numero di posizioni reali ..." Supponendo di averti capito correttamente, non c'è nulla negli algoritmi che intrinsecamente richiede Questo. Stai forse pensando di aumentare il numero di componenti del cluster in base al numero di rapporti?
Pat

1
2a domanda :). Se i tuoi rapporti provengono da qualcuno che sta guidando, probabilmente ci saranno cambiamenti significativi nella posizione tra di loro. I rapporti hanno un timestamp che ti dice quando sono stati presi?
Pat

2
Ciao pat. Sto parlando di ingorghi o autovelox per renderlo più chiaro. 1. La "k" nel clustering k indica il numero di cluster. Nel mio caso avrei un cluster per ogni posizione, mentre non so quante posizioni diverse ci siano. 2. Sì, includono anche un timestamp. Ma non capisco perché questo dovrebbe essere importante, perché mi interessa solo la posizione.
Christian Strempfer,

1
1. Ahh, capisco. Quindi hai un numero sconosciuto di posizioni e ogni posizione genera uno o più rapporti. Tuttavia, tutto ciò che vedi sono un flusso di rapporti. Vuoi dedurre quante posizioni ci sono e la loro posizione, in base ai rapporti osservati. Ho capito? 2. Mi preoccupo per i timestamp perché si dice che l'utente sarà alla guida quando danno un report. Pertanto, a meno che i rapporti non arrivino in rapida successione o la velocità sia molto bassa (possibile, se si tratta di un ingorgo), una singola posizione sembrerà una linea irregolare di rapporti che seguono la strada. I timestamp possono essere di aiuto qui
Pat

1
1. Sì, ce l'hai. 2. È un'attività manuale, quindi una posizione deve essere segnalata una sola volta per utente durante un viaggio. Ma hai ragione, devo gestire i duplicati, quando un utente fa accidentalmente clic due volte e i rapporti saranno imprecisi durante la guida veloce. Ecco perché ho citato le condizioni del bordo di una distanza minima tra le posizioni. Ignoriamo gli ingorghi, che potrebbero estendersi per alcuni chilometri, e supponiamo che una posizione sia molto piccola.
Christian Strempfer,

Risposte:


1

Ho trovato un software che forse può aiutarti. Sembra che qualcuno abbia avuto lo stesso problema che tu e gli hai dato una soluzione in questo forum , quindi dovrai usare ArcGIS, ma se stai cercando un algoritmo ti suggeriscono questo documento . Penso che il documento sia sufficientemente dettagliato per essere un buon inizio per il tuo algoritmo.


2
Poiché tutte le informazioni sono che questa risposta risiede nei suoi collegamenti e i collegamenti alla fine marciscono, per favore riassumi almeno ciò che i post del forum e il documento raccomandano.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.