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 Thu 30 March 2017 22:59

Lsam
Participant assidu
Date d'inscription: 27 Nov 2013
Messages: 157

[PostGIS] géométrie d'une vue

Bonjour,

Je dispose d'une table sous PostGIS dont voici les attributs de géométrie :

Code:

 f_table_catalog | f_table_schema | f_table_name | f_geometry_column | coord_dimension | srid |    type    
-----------------+----------------+--------------+-------------------+-----------------+------+------------
 mabase          | monschema      | matable      | wkb_geometry      |               2 | 2154 | LINESTRING

Je crée la vue suivante :

Code:

create or replace view monschema.test as select row_number() OVER (order by monchamp)  as gid, st_centroid(wkb_geometry) geom from monschema.mabase ;

Code:

 f_table_catalog | f_table_schema | f_table_name | f_geometry_column | coord_dimension | srid |    type    
-----------------+----------------+--------------+-------------------+-----------------+------+------------
 mabase          | monschema      | matable      | wkb_geometry      |               2 | 2154 | LINESTRING
 mabase          | monschema      | test         | geom              |               2 |    0 | GEOMETRY

Pourquoi je n'obtiens pas une vue test avec une géométrie de type POINT et un SRID de 2154 ?

J'ai essayé de forcer le SRID avec setsrid(), ou carrément de forcer la mise à jour de geometry_column avec Populate_Geometry_Columns(), mais rien n'y fait.
Ça doit être simple mais je débute... Merci par avance pour vos conseils.

Dernière modification par Lsam (Thu 30 March 2017 23:41)

Hors ligne

 

#2 Fri 31 March 2017 09:33

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

Re: [PostGIS] géométrie d'une vue

Bonjour,

Quelques éléments d'info à ce sujet:

https://boundlessgeo.com/2012/03/postgi … es-typmod/

Nicolas

Hors ligne

 

#3 Fri 31 March 2017 09:37

JP LLORENS
Participant assidu
Date d'inscription: 12 Nov 2008
Messages: 231

Re: [PostGIS] géométrie d'une vue

Bonjour.
Essayes

Code:

 st_centroid(wkb_geometry)::geometry(point,2154)

ça devrait résoudre le problème.
Cordialement
JP

Dernière modification par JP LLORENS (Fri 31 March 2017 09:38)

Hors ligne

 

#4 Fri 31 March 2017 10:57

Lsam
Participant assidu
Date d'inscription: 27 Nov 2013
Messages: 157

Re: [PostGIS] géométrie d'une vue

Bonjour,

Merci pour vos réponses.

La solution suivante ne fonctionne pas pour ma vue :

Code:

ALTER TABLE monschema.test ALTER COLUMN geom SET DATA TYPE geometry(Point,2154) ;

La recréation de la vue avec la requête suivante fait bien son boulot :

Code:

create or replace view monschema.test as select row_number() OVER (order by monchamp)  as gid, st_centroid(wkb_geometry)::geometry(point,2154) geom from monschema.matable ;

J'utilisais pas mal Spatialite auparavant, je découvre maintenant de nouvelles syntaxes avec PostGIS. Quelle puissance…

Merci

LSam

Hors ligne

 

#5 Fri 31 March 2017 11:46

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

Re: [PostGIS] géométrie d'une vue

Lsam a écrit:

Bonjour,

Merci pour vos réponses.

La solution suivante ne fonctionne pas pour ma vue :

Code:

ALTER TABLE monschema.test ALTER COLUMN geom SET DATA TYPE geometry(Point,2154) ;


Normal: une vue est une requête enregistrée. On ne peut pas modifier sa structure avec ALTER.
Il faut le faire sur la ou les tables sources.

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB