#1 Wed 27 August 2008 14:31
- bort.vincent
- Juste Inscrit !
- Lieu: Strasbourg
- Date d'inscription: 19 Jul 2006
- Messages: 2
transformation de coordonnées dans postgis
bonjour,
je souhaite transformer une table "commune" en lambert zone 1 ( SRID 27571) vers RGF93 (SRID 2154) et enregistrer le résultat:
-dans une vue
-dans une nouvelle table
-dans la même table
Comme je suis débutant sur postgis, je n'arrive pas à contruire une requête SQL avec la commande ST_transform ou transform.
comment dois-je procéder?
je vous remercie d'avance
Hors ligne
#2 Wed 27 August 2008 22:31
Re: transformation de coordonnées dans postgis
Bonjour,
Dans la même table :
Code:
SELECT addGeometryColumn( 'communes', 'the_geom_rgf93', 2154, 'MULTIPOLYGON', 2); UPDATE matabe SET the_geom_rgf93 = transform(the_geom,2154);
Dans une nouvelle table :
Code:
CREATE TABLE newtable AS SELECT communes.*, transform(the_geom,2154) AS the_geom_rgf94 FROM communes; INSERT INTO geometry_column VALUES ('','public','newtable','the_geom_rgf93',2,2154,'MULTIPOLYGON);
Dans une vue :
Code:
CREATE VIEW newtable AS SELECT communes.*, transform(the_geom,2154) AS the_geom_rgf94 FROM communes; INSERT INTO geometry_column VALUES ('','public','newtable','the_geom_rgf93',2,2154,'MULTIPOLYGON);
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 Thu 28 August 2008 08:59
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1544
Re: transformation de coordonnées dans postgis
Bonjour,
(en admettant que la table commune a une colonne geo appelée the_geom)
____________
Dans une vue:
create view mavue as select champs1, champs2, ...,
st_transform(the_geom, 2154) from commune;
_____________________
Dans une nouvelle table:
create table matable as select champs1, champs2, ...,
st_transform(the_geom, 2154) from commune;
_________________
Dans la meme table:
c'est un peu plus tricky:
il y a surement une contrainte sur les SRID sur la table commune (si
elle a ete créée avec shp2pgsql par exemple). on peut le verifier avec
la commande psql:
d commune
Si c'est le cas, il faut dropper la contrainte sur les SRID, mettre a
jour les geométries, puis recreer la contrainte, qqch comme:
alter table commune drop constraint enforce_srid_the_geom;
update commune set the_geom = st_transform(the_geom, 2154);
alter table commune add constraint enforce_srid_the_geom check
(srid(the_geom) = 2154);
S'il n'y a pas de contraintes sur les SRID, la commande update suffit.
Nicolas
Hors ligne
#4 Thu 28 August 2008 09:07
Re: transformation de coordonnées dans postgis
Bonjour,
Personnellement j'aime bien utiliser une autre colonne pour la reprojection, cela fait un peu information en "doublon" mais dans le cas où les données sont importantes c'est appréciable de ne pas avoir à les reprojeter à la volée (même si cela ne m'arrive pas beaucoup).
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
#5 Thu 28 August 2008 15:02
- bort.vincent
- Juste Inscrit !
- Lieu: Strasbourg
- Date d'inscription: 19 Jul 2006
- Messages: 2
Re: transformation de coordonnées dans postgis
bonjour,
merci beaucoup pour ces réponses et votre aide précieuse.
je vais tester rapidemment vos suggestions
bonne journée a+
Hors ligne