Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 05 September 2007 15:08

michael_douchin
Participant occasionnel
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 11

Lisser des trajectoires issues de données GPS

Bonjour à tous,

J'ai une base de données geo PostGreSQL + PostGIS
un fichier texte qui contient entre autre une colonne latitude et une longitude, obtenu via un boitier electronique comprenant un gps.
Je l'importe dans postgis en 2 étapes : création d'un shape à partir d'un CSV puis import du shape dans postgis via l'outil ogr2ogr

Je me retrouve donc avec une table postgis (type de la géométrie = POINT) que je peux afficher dans openjump ou quantum gis.
Cette table a autant de lignes que de points représentés sur la carte : un point par donnee du GPS en fait.

Le rendu est plutôt bon, mais la précision GPS varie en fonction des conditions extérieures. Donc le rendu de ma trajectoire est parfois un peu "secoué".

Je cherche donc un moyen (libre de préférence, gratuit sinon) pour lisser cette trajectoire.
J'ai cherché sur google et sur des forums spécialisés avec "gps lisser trajectoire" et autres jolis mots-clés, sans succès.

Quelqu'un connait-il un algorythme, une fonction (postgis, grass, ), un plugin OpenJump ou autre pour faire cela ?

Merci d'avance

Hors ligne

 

#2 Wed 05 September 2007 15:20

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: Lisser des trajectoires issues de données GPS

Bonjour,

Vous devriez d'abord créer votre polyligne avec vos points avec un script SQL, puis utiliser la fonction de simplification de postgis : simplify(geoemtrey, tolerance)

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 05 September 2007 15:58

michael_douchin
Participant occasionnel
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 11

Re: Lisser des trajectoires issues de données GPS

Merci de votre réponse.
Je n'ai pas trouvé dans l'aide postgis comment obtenir des lignes à partir de points via une requête sql.
Bien sûr, il faudrait pouvoir donner l'ordre pour relier les points (ça tombre bien, j'ai une colonne date-heure).
J'ai regardé à cette page, mais cela ne m'a pas aidé:
http://www.postgis.fr/node/223

Il y a des fonctions aussi ici, mais pas évidentes à comprendre.
JE vais essayer
Merci

Hors ligne

 

#4 Wed 05 September 2007 16:45

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: Lisser des trajectoires issues de données GPS

il faut écrire soit une procédure stockée qui, bouclant sur les
enregistements ponctuels créera un WKT de type ligne ; ou sinon un
script (php, python...) faisant la même chose

Hors ligne

 

#5 Wed 05 September 2007 16:55

michael_douchin
Participant occasionnel
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 11

Re: Lisser des trajectoires issues de données GPS

Bonjour,

J'ai trouvé la solution, c'est faisable entièrement via des requêtes POSGIS.

Dans mon cas, il suffit donc que je crée la vue suivante :

CREATE OR REPLACE VIEW v_ligne_03 AS

SELECT date, simplify(makeline(the_geom),5)
FROM v_03
GROUP BY date
ORDER BY date;

ALTER TABLE public.v_ligne_03 OWNER TO postgres;

INSERT INTO geometry_columns VALUES ( '', 'public', 'v_ligne_03', 'the_geom', 2, 27572, 'LINESTRING' );


Le makeline permet de faire une ligne à partir d'une sélection de points. Ici j'ai sélectionné mes points dans la table v_03, groupé par date.

De cette manière, j'ai bien une ligne par date qui trace la trajectoire de tous mes points, et je peux modifier le paramètre de simplification (ici 5) directement dans la requête.

Voilà
Merci encore

Dernière modification par michael_douchin (Wed 05 September 2007 16:58)

Hors ligne

 

Pied de page des forums

Powered by FluxBB