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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 03 May 2012 10:54

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

non superposition de couche

Bonjour,

Je suis en stage et je travail sur un SIG. Mon encadrante est partie pour un nouveau job et avant de partir m'a filé une base de donnée en wgs84.
Afin d'avoir cette base dans le même référentiel que les autres et aussi de façon à pouvoir effectuer des calculs, il me faudrait la passer en Lambert 93.
Pour cela j'ai utilisé la fonction St_transform, mais lorsque je tente de projeter, ces couches ne se superpositionnent pas avec les autres.

J'ai l'impression que les couches sont restées en WGS84.

Pouvez-vous m'aider ?
Me donner une technique pour changer de projection ? Un script ?

merci d'avance

Hors ligne

 

#2 Thu 03 May 2012 11:04

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Bonjour,

Etes-vous sur que les données à transformer sont bien en WGS 84 ?
Quelle requete utilisez-vous pour reprojeter les données ?
Le srid utilisé pour L93 est bien le 2154 ?

Avez-vous un extrait des données disponible ? Style un seul polygone sorti au format WKT (select st_astext(geom) from table limit 1) ?

(bon, j'arrete avec mes questions smile )

Nicolas

Hors ligne

 

#3 Thu 03 May 2012 11:37

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

Bonjour,

Pour ce qui est des données, c'est ce que m'a dit mon encadrante avant de partir....donc je n'ai que sa parole.

la seule requête que j'ai faite c'est utiliser la fonction St_transform dont voici le script:

alter table copie_base_dce_pomet.dce_ligne drop constraint enforce_srid_the_geom;
update copie_base_dce_pomet.dce_ligne set the_geom = st_transform(the_geom, 2154);
alter table copie_base_dce_pomet.dce_ligne add constraint enforce_srid_the_geom check
(srid(the_geom) = 2154);

donc comme vous pouvez le voir j'ai bien utilisé 2154 pour le SRID.

pour ce qui est de l'extrait de mes données, vous avez le lien au-dessous (je ne connaissais pas du tout alors j'espère que j'ai bien fait!!^^)

[img]http://img198.imageshack.us/img198/3963/testhfe.jpg[/img]

En effet ça fait pas mal de questions :-) en espérant que ça résolve mon pb!!! wink

Merci

Flavien

Hors ligne

 

#4 Thu 03 May 2012 11:48

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Clairement les données ne sont pas en WGS84: leurs coordonnées seraient alors comprises entre -90 et +90° en latitude, et -180, +180 en longitude.
La, les coordonnées font plutot pensera une projection metrique.

Au fait, quelle etait la contrainte sur le SRID que vous avez droppé ? elle indique le SRID des données.

Pouvez vous aussi verifier ce que donne:

Code:

select st_srid(the_geom) from copie_base_dce_pomet.dce;

Nicolas

Hors ligne

 

#5 Thu 03 May 2012 12:02

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 2154)

c'est la contrainte qui est sur le SRID, je l'ai droppé sinon je ne pouvais pas réaliser la requête.

pour ce qui est du code voici la résultat que j'obtiens.

[img]http://img135.imageshack.us/img135/4463/testid.gif[/img]


Flavien

Hors ligne

 

#6 Thu 03 May 2012 13:40

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: non superposition de couche

2154, c'est du Lambert 93


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#7 Thu 03 May 2012 13:44

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

et pourtant ces données ne se superposent pas aux autres........:-(

Hors ligne

 

#8 Thu 03 May 2012 14:09

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Avez vous une copie des données d'origine ?
Ce que vous nous envoyez correspond aux données transformées en 2154. Il faudrait pouvoir regarder les données source. Le SRID source ne devait pas etre 4326 pour que le decalage soit si grand.

Nicolas

P.S. Pouvez-vous poster du texte plutot que des images pour les resultats ou les requetes.
C'est plus pratique s'il faut manipuler une peu wink Merci

Hors ligne

 

#9 Thu 03 May 2012 14:22

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

si j'ai une copie d'origine de mes données.

avec le même code cela donne comme résultat 4326

vous allez certainement me trouver chiant mais pour vous montrer les résultats je ne sais pas comment faire à part mettre des images?

Flavien

Hors ligne

 

#10 Thu 03 May 2012 16:37

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Ce sont des données au format shapefile ? Y a-t-il un fichier .prj avec les données, qui decrirait la projection ?

Pour copier du texte, selectionnez la ou les lignes de resultats avec pgAdmin, puis faites ctrl+c sur votre clavier avant de coller le tout dans le message.

Nicolas

Hors ligne

 

#11 Thu 03 May 2012 16:52

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

oui ce sont des données au format shp, et j'ai des fichier .prj pour chaque.

je vous met les fichiers .prj pour les données d'origine (dce_4326) et celui des données transformées (dce_2154)

Dernière modification par newsigiste (Thu 03 May 2012 16:52)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#12 Thu 03 May 2012 17:08

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Oki merci.

Les deux fichiers contiennent la meme projection.

Donc soit vos données sont deja en 2154 et ce n'est pas necessaire de les reprojeter, soit il y a un probleme avec les données et le fichier dce_2154 ne correspond pas a des données en 2154.

Vous pouvez les shapefile source quelque part, qu'on regarde ?

Nicolas

Hors ligne

 

#13 Fri 04 May 2012 10:59

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

Bonjour,

donc j'ai déposé les fichiers shape sur un serveur SFTP, j'espère que vous pourrez l'ouvrir.

sftp://

Hors ligne

 

#14 Fri 04 May 2012 19:51

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Bonsoir:

De ce que je vois, le fichier dce_4326.shp contient des données qui semblent en coordonnées lat/lon et se situent en Algerie (si on superpose les pays en WGS84).
Ce ne sont pas des coordonnées Lambert 93 malgré ce qu'indique le fichier dce_4326.prj.

D'apres les attributs, ca devrait se trouver plutot en Gironde, non ?

A mon avis, ces données sont corrompues ou abimées apres un traitement:

Dans l'extrait suivant,

le champ longueur est issu des attributs de la couche,
le champ st_length represente la longueur de la ligne si on considere que ses coordonnées sont dans une unité métrique
et l2 représente la longueur en metres sur le sphéroid de la terre si on considere que les coordonnées sont sphériques.

C'est tres tres loin de la longueur indiquée dans "longueur"

   

Code:

__gid | ordre_trai |    masse_deau    | longueur |      st_length       |          l2          
-------+------------+------------------+----------+----------------------+----------------------
   612 |      5.000 | dordogne         | 3877.630 |  3.4365990749648e-07 |   0.0363102852986467
   149 |      8.000 | Charente         | 2029.670 | 2.41743297675454e-07 |   0.0241688791149036
   433 |      3.000 | adour aval       | 2098.250 | 2.36750594832977e-07 |   0.0237383631931203
   218 |      8.000 | adour aval       | 1904.720 | 2.14607310952736e-07 |   0.0215275779611556
   743 |      8.000 | gironde centrale | 2262.340 | 2.02094263258832e-07 |   0.0212893753376607
    64 |      3.000 | dordogne         | 1798.660 | 2.03684501213608e-07 |   0.0204755133509519
   755 |      6.000 | gironde externe  | 1827.680 | 1.87499852591966e-07 |   0.0191137825940724
   759 |      8.000 | gironde externe  | 1613.230 | 1.86927354266275e-07 |    0.018647072426081
   753 |      5.000 | gironde externe  | 1541.480 | 1.87582013234328e-07 |   0.0186019582746346
   754 |      6.000 | gironde centrale | 1789.230 | 1.78705214692724e-07 |   0.0183282482553299
   729 |      4.000 | gironde externe  | 1516.140 | 1.81697882234626e-07 |   0.0181196391929681
   736 |      7.000 | gironde externe  | 1549.690 | 1.80021336443619e-07 |   0.0179977171601091

Nicolas

Hors ligne

 

#15 Wed 09 May 2012 09:19

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

Bonjour Nicolas,

désolé de ce retard de réponse, mais je suis parti en campagne sur le terrain, je n'avais pas accès à mes mails.

En effet lorsque je projette cette couche, elle se retrouve bien au sud de l'estuaire de la Gironde. Et c'est bien des traits de chalut qui ont été réalisé dans l'estuaire de la Gironde que cette couche représente.

Est-il possible de récupérer les données?
Ou sont-elles abimées de façon irrémédiable?

En tout cas merci beaucoup pour votre aide et tout le temps que vous y avez passé.


Flavien

Hors ligne

 

#16 Wed 09 May 2012 10:04

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Celles que je vois sont "abimées" de façon irrémédiable.

Vous dites que vous pouvez faire correspondre ces données avec l'estuaire de la Gironde ? Avez-vous tjs ces données qui correspondent, ou juste celles que vous avez mises sur le FTP ?

Nicolas

Hors ligne

 

#17 Wed 09 May 2012 10:11

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

Normalement, je ne suis pas sûr encore a 100%, mais il semblerait qu'une seconde sauvegarde (autre que celle que vous avez eu sur le FTP) existe sur notre serveur interne.

Favien

Hors ligne

 

#18 Wed 09 May 2012 10:50

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Oki.

Si vous récupérez les données initiales, on pourra regarder la projection qui leur est associées.

Hors ligne

 

#19 Thu 10 May 2012 14:27

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

l'informaticien du centre est entrain de me faire une copie de la base d'origine.
Ce sont des fichier .dump qu'il me sort et qui sont stocké sur mon E:\

Comment est-ce que je fais pour mettre ces fichiers dans postgres et ainsi recréer ma base?

si vous avez une autre solution, je suis preneur!!!!

merci

Flavien

Hors ligne

 

#20 Thu 10 May 2012 14:39

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

Re: non superposition de couche

Bonjour,

En ligne de commande : pg_restore

Avec pgAdmin : via le sous-menu "restauration" qui se trouve je ne sais plus où wink

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

 

#21 Thu 10 May 2012 15:20

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

newsigiste a écrit:

l'informaticien du centre est entrain de me faire une copie de la base d'origine.
Ce sont des fichier .dump qu'il me sort et qui sont stocké sur mon E:\

Comment est-ce que je fais pour mettre ces fichiers dans postgres et ainsi recréer ma base?

si vous avez une autre solution, je suis preneur!!!!

merci

Flavien


Bonjour,

Pour completer la reponse d'Yves: si le contenu de ces .dump est lisible et contient du SQL, vous pourrez directement les charger dans une nouvelle base (qui devra exister) en faisant:

psql -f mon.dump mabase

(je me suis dèjà trouvé confronté a des fichiers .dump qui n'etaient pas au format attendu par pg_restore)

Nicolas

Hors ligne

 

#22 Thu 10 May 2012 16:59

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

merci de votre aide,

alors la restauration avec les fichiers .dump ne fonctionne pas. Il y a plusieurs tentatives soit on a un message d'erreur disant que l'archive n'est pas valide, soit il n'y a pas de message d'erreur et pourtant la restauration n'a pas été faite puisque j'ai toujours les mêmes données dans la tables alors que je sais qu'il y a des différences.

Mon encadrante qui est partie pour un autre job était surperutilisateur et m'a donné des droits sur une copie de la base d'origine.
Aujourd'hui puisque c'est copie est corrompue, on souhaiterais refaire une copie de la base mère.

Quelqu'un est-il capable de me dire comment est-ce que l'on procède? car je débute sur postgres et il n'y a plus de gestionnaire de base de donnée dans le centre où je travail.


merci

Flavien

Hors ligne

 

#23 Fri 11 May 2012 11:54

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

Bonjour,

après pas mal de galères je viens de récupérer une nouvelle version de la base mère.
je vous ai mis tout les fichiers de mes trois tables.

Je n'ai rien touché pour le moment.

Mon but est que les tables:
-dce_ligne
-dce_point
-traces_de_chalut

soient en Lambert 93 afin qu'elles se superposent à l'estuaire de la gironde dont je vous ai mis sa table de salinité
-a1999_salinite_surface_moy

j'espère que ce coup-ci tout fonctionnera bien.

Les différents fichiers sont à nouveau stocké sur le site sftp

sftp://

Hors ligne

 

#24 Fri 11 May 2012 13:00

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

Re: non superposition de couche

Bonjour,

Quelque chose comme ceci devrait fonctionner ::

Code:

-- on fait une sauvegarde
CREATE DATABASE copieMaBase TEMPLATE maBaseActuelle;
-- on ajoute une colonne (adapte le schéma, le nom de la table, le type de géométrie)
SELECT AddGeometryColumn ('my_schema','my_spatial_table', 'the_geom_l93',2154,MULTIPOLYGON',2, false);
-- on met à jour la colonne pour la reprojection
UPDATE my_spatial_table SET the_geom_l93=st_transform(the_geom,2154);

À adapter éventuellement;
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

 

#25 Fri 11 May 2012 13:49

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

-- on ajoute une colonne (adapte le schéma, le nom de la table, le type de géométrie)
SELECT AddGeometryColumn ('my_schema','my_spatial_table', 'the_geom_l93',2154,MULTIPOLYGON',2, false);


j'ai toujours un message d'erreur qui me dit que la fonction AddGeometryColumn n'existe pas.
J'ai essayé de modifier les différents arguments sans plus de chances.

j'ai aussi tester le SRID

Code:

select st_srid(the_geom) from copie_dce.dce_ligne;

et là grosse surprise, je n'obtiens pas 4326 comme je pensais (WGS84)

Code:

-1
-1
-1
-1
-1
-1
-1
-1
-1

enfin j'ai sorti un polygone au format WKT

Code:

select st_astext(the_geom) from copie_dce.dce_ligne limit 1

j'obtient

Code:

"LINESTRING(-1.14171666666667 45.7995666666667,-1.13513333333333 45.7931)"

je commence à être réellement perdu avec tout ces trucs......:-(

Flavien

Hors ligne

 

#26 Fri 11 May 2012 13:51

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1025
Site web

Re: non superposition de couche

La  base possède bien le template postgis ?

Dernière modification par heretik25 (Fri 11 May 2012 13:52)


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#27 Fri 11 May 2012 13:53

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

ce n'est pas moi qui est créé la base.

On m'a fait une copie d'une base mère.

Hors ligne

 

#28 Fri 11 May 2012 14:04

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

Re: non superposition de couche

Bonjour,

Pour les srid à -1 c'est embétant mais ca se rattrape wink

si tu utilises pgAdmin regarde la section function de ton schéma public et vérifie que tu as des fonctions postgis.

Code:

SELECT full_version_postgis();
SELECT * FROM geometry_columns;

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

 

#29 Fri 11 May 2012 14:10

newsigiste
Participant occasionnel
Date d'inscription: 2 May 2012
Messages: 27

Re: non superposition de couche

oui j'ai des fonctions dans le schéma public (au nombre de 781)

Pour ce qui est des srid il n'y a que mes 3 colonnes qui présentent ce -1

Code:

"";"copie_base_dce_pomet";"dce_points";"the_geom";2;2154;"POINT"
"";"copie_base_dce_pomet";"dce_ligne";"the_geom";2;2154;"MULTILINESTRING"
"";"copie_base_dce_pomet";"traces_de_chalut_adour_garonne_2009_2010_2011_wgs84";"the_geom";2;2154;"MULTILINESTRING"
"";"public";"a1999_facies_sedimentaire_lesourd_et_shom_l93";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a2000_bathymetrie_shom_l93";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"grille_test4";"the_geom";2;2154;"POLYGON"
"";"public";"traces_chalut_1986_1991_et_1994_2001_l2e";"the_geom";2;2154;"LINESTRING"
"";"terrain";"a1999_facies_sedimentaire_lesourd_shom";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_surface_max";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_surface_min";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_fond_max";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_fond_moy";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_fond_min";"the_geom";2;2154;"MULTIPOLYGON"
"";"terrain";"a1999_salinite_surface_moy";"the_geom";2;2154;"MULTIPOLYGON"
"";"copie_base_dce_pomet";"dce_ligne2";"the_geom";2;2154;"MULTILINESTRING"
"";"public";"dce_ligne_MAJ_mars_2011";"the_geom";2;-1;"LINESTRING"
"";"copie_dce";"dce_points_MAJ_mars_2011";"the_geom";2;-1;"POINT"
"";"copie_dce";"dce_ligne_MAJ_mars_2011";"the_geom";2;-1;"LINESTRING"
"";"copie_dce";"traces_de_chalut_adour_garonne_2009_2010_2011_wgs84_(2)";"the_geom";2;-1;"LINESTRING"

Dernière modification par newsigiste (Fri 11 May 2012 14:17)

Hors ligne

 

#30 Fri 11 May 2012 15:15

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: non superposition de couche

Bonjour,

Voila de jolies données smile

Voici ce qui a ete fait pour tester:

Chargement des données dans Postgis:

•  données en 4326:

Code:

shp2pgsql -IiD -g geom -s 4326 traces_de_chalut.shp traces_chalut | psql
shp2pgsql -IiD -g geom -s 4326 dce_points.shp dce_point| psql
shp2pgsql -IiD -g geom -s 4326 dce_ligne.shp dce_ligne| psql

• données en 2154:

Code:

shp2pgsql -IiD -g geom -s 2154 a1999_salinite_surface_moy.shp salinite_99| psql

Reprojection des données pour toutes les mettre en 2154, une fois connecté sur la base de travail:

Code:

alter table dce_point add column geom_proj geometry (Point, 2154);
update dce_point set geom_proj = st_transform(geom, 2154);

alter table dce_ligne add column geom_proj geometry (MultiLineString, 2154);
update dce_ligne set geom_proj = st_transform(geom, 2154);

alter table traces_chalut add column geom_proj geometry(MultiLineString, 2154);
update traces_chalut set geom_proj = st_transform(geom, 2154);

Je joins une image du resultat: avec ces données, tout se cale

Nicolas


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB