Postgres ve PostGIS için oldukça yeniyim.
Bazı GPS noktalarının basit bir harita eşleme (veya isterseniz yol çıkarımı) yapmaya çalışıyorum. Ben kullanıyorum postgres (PostGIS) .
Veritabanımda GPS puanlarımı içeren bir tablo var: gpspoints (Lat, Long, zaman, hız, azimut, geometri, ...)
Ben de yol ağına bir şekil dosyası benim veritabanına ithal: yolları (gid, idrte, sürüm, nomrte, norte, clsrte, geom, ...) - Ben bağlantıların azimut var, ve ben ST_azimuth postgis işlevini kullanarak nasıl hesaplayabilirim emin değilim. Tüm sahip olduğum yukarıda sıralanan sütunlar içeren yol ağının bir şekil dosyası.
Her bir GPS noktasını, yalnızca bağlantının yönü GPS noktasının azimutu (+ veya -15 derece) ile uyumluysa ve yansıtılan konumu alırsa, en yakın bağlantıyla (noktanın etrafında 20 metrelik bir tamponda) ilişkilendirmek istiyorum. Aksi takdirde, kabul edilebilir bir azimutu olan 20 metre tamponu içinde en yakın bağlantıyı aramasını istiyorum! (Resimdeki gibi!)
Yansıtılan GPS noktalarının yeni koordinatlarının "gpspoints" tablosuna "projectedLat" ve "projectedLong" olarak eklenmesini istiyorum.
(Aşağıdaki resimde, gerçek noktalar bir yön kullanılarak gösterilirken, yansıtılan noktalar herhangi bir yön işaretine sahip değildir)
ST_Azimuth
, ancak sayısallaştırma yönüne göre size azimutu söyleyeceğini unutmayın .