Я зовсім новачок у Postgres та PostGIS.
Я намагаюсь зробити просте зіставлення карт (або умовивід, якщо ви хочете) деяких точок GPS. Я використовую postgres (postgis) .
У моїй базі даних є таблиця, що містить мої GPS-точки: gpspoints (Lat, Long, час, швидкість, азимут, геометрія, ...)
Я також імпортував форм-файл дорожньої мережі в свою базу даних: маршрути (gid, idrte, версія, nomrte, norte, clsrte, geom, ...) - Я не маю азимуту посилань, і я не впевнений, як я можу обчислити його за допомогою функції постгіс ST_azimuth. Все, що у мене є, - це формуляр дорожньої мережі, що містить перераховані вище стовпці.
Я хочу пов’язати кожну точку GPS з найближчою ланкою (у буфері 20 метрів навколо точки) лише у тому випадку, якщо напрямок посилання відповідає азимуту точки GPS (+ або -15 градусів) і отримати прогнозоване положення. В іншому випадку я хочу, щоб вона шукала НАЙКРАЩУ посилання, в межах 20-метрового буфера, який має прийнятний азимут! (Як і картина!)
Я хочу, щоб нові координати проектованих точок GPS були додані в таблицю "gpspoints" як "projectedLat" і "projectedLong".
(На малюнку нижче фактичні точки демонструються за допомогою напрямку, тоді як прогнозовані точки не мають жодної позначки напрямку)
ST_Azimuth
, але майте на увазі, що він підкаже вам азимут щодо напрямку оцифрування .