Соответствие карты в реальном времени с использованием ArcGIS Desktop?


12

Я работаю над проектом, который требует сопоставления карты в реальном времени. В настоящее время я использую ArcGIS, но не уверен, будет ли он работать.

Вот что происходит с моей системой:

сотовые телефоны отправляли GPS-данные каждые пять секунд на мой сервер, и мне нужно выполнить сопоставление карты в реальном времени, чтобы привязать точку к одной из ссылок на карте и сохранить соответствующие точки.

ArcGIS имеет инструмент «ближний» для привязки точки к ближайшей ссылке. Однако входные данные для инструмента должны быть шейп-файлом для точек.

Мне интересно, как я могу работать с данными в реальном времени, которые я получаю в ArcGIS. Создание файла формы для каждой точки?

Любое другое предложение для выполнения этой работы?

Ответы:


3

Создайте точечный объект из вашего местоположения GPS (предположительно, сохраненный в виде файла формата таблицы), используя Make XY Event и Copy Features, а затем используйте его с инструментом Near или попробуйте инструмент Spatial Join с опцией 'ближайший'. Скорее всего, вы захотите сохранить эти промежуточные функции во временном рабочем пространстве, которое можно удалить после получения окончательного результата (который вы можете добавить в свою базу данных).


Привет, спасибо тебе за помощь. Я сделал именно так, как вы сказали, и теперь это решаемо. Тем не менее, есть новая проблема. Вычисление занимает от семи до десяти секунд, чтобы напечатать окончательные результаты для точки. Но то, что я могу разработать, - это приложение в реальном времени, которое лучше контролировать в течение максимум 2-3 секунд. Является ли импорт Arcpy проблемой, так как это большой модуль? Не могли бы вы сказать мне, где проблема и какой способ улучшить систему? (Вся система на Java. Разработанный мной модуль Python будет вызываться из основных кодов)
user14631

Так что похоже, что arcpy импортируется каждый раз. В этом ли проблема? Благодарю.
user14631

1
Добро пожаловать на первый комментарий. Что касается вашего второго комментария, я рекомендую вам опубликовать новый вопрос (возможно, со ссылкой на этот оригинальный) о том, как улучшить ваш код, наряду с примером кода, чтобы мы все могли оценить его лучше.
ccn

1

Если точка «близка», на самом деле зависит от многих вещей не только от ближайшей дороги, но и от предыдущих точек. Вы можете взглянуть на алгоритм и инструменты, которые я бы использовал.


1

Существует решение для сопоставления карт в режиме реального времени (однако это не Java, а ArcGIS), которое реализует сопоставление скрытой модели Маркова, см. Здесь: https://github.com/bmwcarit/barefoot

Он достаточно надежный, и карта сопоставляет треки GPS с данными OpenStreetMap, в том числе в режиме реального времени (так называемое сопоставление карты онлайн). (ОБНОВЛЕНИЕ :) То, что вы можете искать, реализовано как «автономный сервер трекера» (с REST-подобным API).

введите описание ссылки здесь


Знаете ли вы, если эта функциональность присутствует сейчас?
ня,

1
Да, эта функциональность доступна сейчас, но она не является частью ArcGIS (если это вопрос). Результат выглядит так: github.com/bmwcarit/barefoot#tracker-server-quick-start
sema

0

Вы можете столкнуться с вычислительными узкими местами и проблемами согласованности с любым пакетом, который не имеет надлежащей маршрутизации или как минимум абстракции дорожной сети. Если вы используете данные OSM для дорожной сети, проверьте TrackMatching из моего профиля. Проверьте этот поток сопоставления алгоритмов.


0

Вы можете взглянуть на новый API сервиса Microsoft «Snap to road». Для деталей вы можете увидеть эту ссылку

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.