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Ă© ?

#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

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

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: 1566

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

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

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

 

Pied de page des forums

Copyright Association GeoRezo