#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: 1554
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: 1554
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) ;
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