Визначте невідому кількість реальних локацій із звітів на основі GPS


9

Я працюю над деяким програмним забезпеченням, яке повинно визначати місця в реальному світі (камери швидкості руху) з кількох звітів на основі GPS . Користувач буде керувати автомобілем, коли повідомляє про місцеположення, тому звіти є дуже неточними. Щоб вирішити цю проблему, я повинен кластерувати звіти про одне і те саме місце розташування та обчислювати середнє значення.

Моє запитання - як кластерувати ці звіти . Я читав про алгоритми максимального очікування та кластеризацію k-засобів , але, як я зрозумів, мені потрібно буде заздалегідь визначити кількість реальних локацій.

Чи існують інші алгоритми, яким не потрібна точна кількість реальних локацій, але натомість використовують деякі крайові умови (мінімальна відстань)?

Звіт містить довготу , широту та точність (у метрах). Немає імені чи нічого іншого, яке могло б використовуватися для ідентифікації дублікатів.

Ще однією перешкодою може стати те, що загальним є те, що існує лише один звіт про реальне місце розташування світу. Це ускладнює відрізнення людей, що переживають люди, від хороших даних.


1
Я не впевнений, що ви маєте на увазі, коли ви говорите "... як я зрозумів, мені потрібно визначити кількість реальних локацій заздалегідь ..." Припускаючи, що я вас зрозумів правильно, в алгоритмах немає нічого, що по суті вимагає це. Чи, можливо, ви плануєте збільшити кількість компонентів кластера на основі кількості звітів?
Пт

1
2-е питання :). Якщо ваші звіти надходять від того, хто їздить за кермом, можливо, там відбудуться значні зміни в положенні між ними. Чи надходять звіти із позначкою часу, яка повідомляє, коли вони були зроблені?
Пт

2
Привіт Пат. Я кажу про пробки або камери швидкості, щоб зробити це більш зрозумілим. 1. "k" в k-означає кластеризація означає кількість кластерів. У моєму випадку я мав би один кластер для кожного місця, тоді як я не знаю, скільки існує різних локацій. 2. Так, вони також включають часову позначку. Але я не розумію, чому це має бути важливо, тому що я дбаю лише про позицію.
Крістіан Стремпфер

1
1. А-а, бачу. Отже, у вас невідома кількість локацій, і кожне місце генерує один або кілька звітів. Однак все, що ви бачите, - це потік звітів. Ви хочете зробити висновок про кількість локацій та їх положення на основі спостережених звітів. У мене це? 2. Я переживаю за часові позначки, тому що ви говорите, що користувач буде їздити, коли він подає звіт. Таким чином, якщо звіти не будуть швидко поспіль, або швидкість дуже низька (можливо, якщо це затор), то одне місце розташування буде схоже на нерівну лінію звітів за дорогою. Тут можуть допомогти
часові позначки

1
1. Так, у вас є. 2. Це завдання вручну, тому про місцеположення слід повідомляти лише один раз на кожного користувача протягом однієї поїздки. Але ви маєте рацію, мені доводиться обробляти дублікати, коли користувач аварійно клацає двічі, і звіти будуть неточними при швидкій їзді. Тому я згадав про крайові умови мінімальної відстані між місцями. Давайте ігноруємо пробки, які можуть поширитися на кілька миль, і припустимо, що місце розташування дуже мало.
Крістіан Стремпфер

Відповіді:


1

Я знайшов програмне забезпечення, яке, можливо, може вам допомогти. Схоже, хтось мав ту саму проблему, що і ви, і вони дали йому рішення на цьому форумі , тому вам потрібно буде використовувати ArcGIS, але якщо ви шукаєте алгоритм, вони пропонують цей документ . Я думаю, що стаття досить детальна, щоб було гарним початком вашого алгоритму.


2
Оскільки вся інформація у цій відповіді міститься у посиланнях, а посилання з часом гниють, будь ласка, принаймні узагальніть те, що рекомендують дописи на форумі та статті.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.