Dopasowywanie map w czasie rzeczywistym za pomocą ArcGIS Desktop?

12

Pracuję nad projektem, który wymaga dopasowania mapy w czasie rzeczywistym. Obecnie używam ArcGIS, ale nie jestem pewien, czy zadziała.

Oto, co dzieje się z moim systemem:

telefony komórkowe wysyłały poprawki GPS co pięć sekund do mojego serwera i muszę wykonać dopasowanie mapy w czasie rzeczywistym, aby przyciągnąć punkt do jednego z łączy mapy i zapisać dopasowane punkty.

ArcGIS ma narzędzie „blisko” do przyciągania punktu do najbliższego łącza. Jednak dane wejściowe do narzędzia muszą być plikiem kształtowym dla punktów.

Zastanawiam się, jak sobie radzić z danymi w czasie rzeczywistym, które otrzymuję w ArcGIS. Czy tworzysz plik kształtu dla każdego punktu?

Wszelkie inne sugestie dotyczące wykonania tej pracy?

użytkownik14631
źródło

Odpowiedzi:

3

Utwórz obiekt punktowy z lokalizacji GPS (prawdopodobnie przechowywany jako plik w formacie tabeli) za pomocą Utwórz zdarzenia XY i Kopiuj funkcje, a następnie użyj go z narzędziem Blisko - lub wypróbuj narzędzie Łączenie przestrzenne z opcją „najbliżej”. Prawdopodobnie będziesz chciał przechowywać te funkcje pośrednie w tymczasowym / roboczym obszarze roboczym, który można usunąć po uzyskaniu ostatecznego wyniku (który możesz dołączyć do bazy danych).

ccn
źródło
Cześć, dziękuję za pomoc. Zrobiłem dokładnie tak, jak powiedziałeś i teraz jest to rozwiązane. Pojawia się jednak nowy problem. Obliczenie zajmuje siedem do dziesięciu sekund, aby wydrukować końcowe wyniki dla punktu. Ale to, co mogę opracować, to aplikacja działająca w czasie rzeczywistym, którą lepiej kontrolować w ciągu maksymalnie 2–3 sekund. Czy importowanie Arcpy stanowi problem, ponieważ jest to duży moduł? Czy możesz mi powiedzieć, gdzie jest problem i jak ulepszyć system? (Cały system jest w Javie, moduł Pythona, który opracowałem, będzie wywoływany z głównych kodów)
user14631
Wygląda więc na to, że arcpy jest importowane za każdym razem. Czy to na tym polega problem? Dzięki.
user14631
1
Zapraszamy do pierwszego komentarza. Jeśli chodzi o twój drugi komentarz, zalecamy, abyś opublikował nowe pytanie (być może w odniesieniu do tego oryginalnego) na temat sposobu ulepszenia kodu wraz z przykładowym kodem, abyśmy mogli lepiej go ocenić.
ccn
1

To, czy punkt jest „blisko”, naprawdę zależy od wielu rzeczy nie tylko od najbliższej drogi, ale także od poprzednich punktów. Możesz zajrzeć do algorytmu i narzędzi , których bym użył.

Karussell
źródło
1

Istnieje rozwiązanie do dopasowywania map w czasie rzeczywistym (jednak jest to Java nie ArcGIS), które implementuje dopasowanie map Ukrytego Modela Markowa, patrz tutaj: https://github.com/bmwcarit/barefoot

Jest dość solidny, a mapa dopasowuje trasy GPS do danych OpenStreetMap, także w czasie rzeczywistym (nazywane dopasowywaniem map online). (AKTUALIZACJA :) To, czego możesz szukać, zostało zaimplementowane jako „samodzielny serwer śledzący” (z interfejsem API podobnym do REST).

wprowadź opis linku tutaj

sema
źródło
Czy wiesz, czy ta funkcja jest teraz dostępna?
nha,
1
Cóż, tak, ta funkcja jest już dostępna, ale nie jest częścią ArcGIS (jeśli to jest pytanie). Wynik wygląda następująco: github.com/bmwcarit/barefoot#tracker-server-quick-start
sema
0

Prawdopodobnie napotkasz wąskie gardła w obliczeniach i problemy ze spójnością z każdym pakietem, który nie ma właściwego routingu lub co najmniej abstrakcji sieci drogowej. Jeśli używasz danych OSM dla sieci drogowej, zaznacz TrackMatching w moim profilu. Sprawdź algorytmy dopasowywania mapy wątków .

Fabrice Marchal
źródło
0

Możesz zapoznać się z nowym interfejsem API usługi Microsoft „Snap to road”. Aby uzyskać szczegółowe informacje, możesz zobaczyć ten link

nicogis
źródło