Je suis assez nouveau sur Postgres et PostGIS.
J'essaie de faire une simple correspondance de carte (ou inférence de chemin si vous le souhaitez) de certains points GPS. J'utilise des postgres (postgis) .
J'ai un tableau dans ma base de données contenant mes points GPS: gpspoints (Lat, Long, temps, vitesse, azimut, géométrie, ...)
J'ai également importé un shapefile du réseau routier dans ma base de données: itinéraires (gid, idrte, version, nomrte, norte, clsrte, geom, ...) - JE N'AI PAS L'azimut des liens, et je suis Je ne sais pas comment le calculer en utilisant la fonction postgis ST_azimuth. Tout ce que j'ai, c'est un fichier de formes du réseau routier contenant les colonnes énumérées ci-dessus.
Je veux associer chaque point GPS au lien le plus proche (dans un tampon de 20 mètres autour du point) uniquement si la direction du lien correspond à l'azimut du point GPS (+ ou -15 degrés) et récupérer la position projetée. Sinon, je veux qu'il recherche le lien NEXT le plus proche, dans le tampon de 20 mètres, qui a un azimut acceptable! (Tout comme l'image!)
Je veux que les nouvelles coordonnées des points GPS projetés soient ajoutées dans le tableau "gpspoints" comme "projectionLat" et "projectionLong".
(Dans l'image ci-dessous, les points réels sont illustrés à l'aide d'une direction tandis que les points projetés n'ont pas de repère de direction)
ST_Azimuth
, mais gardez à l'esprit qu'il vous indiquera l'azimut par rapport au sens de la numérisation .