Jestem całkiem nowy w Postgres i PostGIS.
Próbuję wykonać proste dopasowanie do mapy (lub wnioskowanie o ścieżce, jeśli chcesz) niektórych punktów GPS. Używam postgres (postgis) .
Mam bazę danych w mojej bazie danych zawierającą moje punkty GPS: punkty gp ( punkty , długie, czas, prędkość, azymut, geometria, ...)
Zaimportowałem również plik kształtu sieci drogowej do mojej bazy danych: trasy (gid, idrte, wersja, nomrte, norte, clsrte, geom, ...) - NIE MAM azymutu linków i jestem nie jestem pewien, jak mogę to obliczyć za pomocą funkcji postgis ST_azimuth. Wszystko, co mam, to plik kształtu sieci drogowej zawierający kolumny wyliczone powyżej.
Chcę skojarzyć każdy punkt GPS z najbliższym łączem (w buforze 20 metrów wokół punktu) tylko wtedy, gdy kierunek łącza zgadza się z azymutem punktu GPS (+ lub -15 stopni) i pobrać rzutowaną pozycję. W przeciwnym razie chcę, aby szukał NASTĘPNEGO linku w buforze o długości 20 metrów, który ma akceptowalny azymut! (Tak jak na zdjęciu!)
Chcę, aby nowe współrzędne rzutowanych punktów GPS zostały dodane w tabeli „gpspoints” jako „projectedLat” i „projectedLong”.
(Na poniższym zdjęciu rzeczywiste punkty pokazano przy użyciu kierunku, podczas gdy rzutowane punkty nie mają żadnego znaku kierunku)
ST_Azimuth
, ale pamiętaj, że powie ci azymut w odniesieniu do kierunku digitalizacji .