#1 Fri 26 February 2016 11:25
- white-shadow90
- Participant actif
- Date d'inscription: 9 Oct 2013
- Messages: 91
[Postgis] - Champs geom vide après import
Bonjour,
Lorsque je passe le polygone en piece jointe dans postgis via le module d'import SPIT de QGIS, je perds la géometrie sans avoir de message d'erreur.
J'ai utilisé le vérificateur de topologie de QGIS pour corriger les erreurs de géométrie mais ca n'a rien changé au problème.
Auriez-vous une idée de l'origine du problème ?
Je vous remercie par avance pour votre aide
Hors ligne
#2 Fri 26 February 2016 11:41
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [Postgis] - Champs geom vide après import
Bonjour,
Le polygone se charge bien avec shp2pgsql.
Vous n'avez pas de message d'erreur dans QGis ?
Nicolas
Hors ligne
#3 Fri 26 February 2016 11:45
- white-shadow90
- Participant actif
- Date d'inscription: 9 Oct 2013
- Messages: 91
Re: [Postgis] - Champs geom vide après import
Oui, il se charge, que ce soit avec SPIT ou shp2pgsql, mais le champs "the_geom" est vide...
Dernière modification par white-shadow90 (Fri 26 February 2016 12:31)
Hors ligne
#4 Fri 26 February 2016 12:18
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [Postgis] - Champs geom vide après import
En ligne de commande, la geom est bien là.
Quelle version de shp2pgsql utilise spit chez vous ? (s'il utilise ce programme)
Nico
Hors ligne
#5 Fri 26 February 2016 12:34
- white-shadow90
- Participant actif
- Date d'inscription: 9 Oct 2013
- Messages: 91
Re: [Postgis] - Champs geom vide après import
J'ai la version 2.8.1 de QGIS, avec SPIT version 0.1
Quant au module d'import "Postgis shapefile Import/export Manager" (shp2pgsql) il me dit qu'il s'agit de la version 2.1.3...
Dernière modification par white-shadow90 (Fri 26 February 2016 12:34)
Hors ligne
#6 Fri 26 February 2016 15:30
- white-shadow90
- Participant actif
- Date d'inscription: 9 Oct 2013
- Messages: 91
Re: [Postgis] - Champs geom vide après import
Les autres secteurs passent sans problème. J'ai recréé le polygone et ça marche. En revanche, je rencontre le problème d'absence de géométrie lorsque je créer une vue regroupant plusieurs de ces secteurs avec un ST_UNION
Au cas où ca intéresserait quelqu'un voici la requête :
Code:
CREATE OR REPLACE VIEW simu_sect_mater_geda (secteur_geda, nom_sect, livraison_2015, livraison_2016, livraison_2017, livraison_2018, livraison_2019, livraison_2020, nb_lgts, the_geom) AS SELECT secteur_geda, CASE WHEN "SIMULATION_SECTEURS_ECOLES_MATERNELLES".secteur_geda = '1' THEN 'Boisseau - Condorcet' WHEN "SIMULATION_SECTEURS_ECOLES_MATERNELLES".secteur_geda = '2' THEN 'Victor Hugo - Foucault' WHEN "SIMULATION_SECTEURS_ECOLES_MATERNELLES".secteur_geda = '3' THEN 'Jules Ferry - Mendès France - Léopold Sédar Senghor - Landy' WHEN "SIMULATION_SECTEURS_ECOLES_MATERNELLES".secteur_geda = '4' THEN 'Pasteur - Prévert - Fournier' WHEN "SIMULATION_SECTEURS_ECOLES_MATERNELLES".secteur_geda = '5' THEN 'Jean Jaurès - Fratellini' end, sum(CASE WHEN annee_livr = '2015' THEN nb_logts ELSE 0 END), sum(CASE WHEN annee_livr = '2016' THEN nb_logts ELSE 0 END), sum(CASE WHEN annee_livr = '2017' THEN nb_logts ELSE 0 END), sum(CASE WHEN annee_livr = '2018' THEN nb_logts ELSE 0 END), sum(CASE WHEN annee_livr = '2019' THEN nb_logts ELSE 0 END), sum(CASE WHEN annee_livr = '2020' THEN nb_logts ELSE 0 END), sum(nb_logts) AS nb_logts, ST_UNION("SIMULATION_SECTEURS_ECOLES_MATERNELLES".geometry2) AS the_geom FROM postgres.postgres."SIMULATION_SECTEURS_ECOLES_MATERNELLES" INNER JOIN nouveaux_logements ON ST_WITHIN (nouveaux_logements.the_geom, "SIMULATION_SECTEURS_ECOLES_MATERNELLES".geometry2) WHERE nouveaux_logements.destinatio <> 'résidence de tourisme' OR nouveaux_logements.destinatio <> 'résidence étudiante' OR nouveaux_logements.destinatio <> 'résidence jeunes actifs' GROUP BY secteur_geda ORDER BY secteur_geda
Hors ligne
#7 Fri 26 February 2016 17:20
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: [Postgis] - Champs geom vide après import
Bonjour ,
Oui, il se charge, que ce soit avec SPIT ou shp2pgsql, mais le champs "the_geom" est vide...
Le fait que le champ soit vide visuellement ne signifie pas pour autant qu'il n'y ait pas de données, c'est juste pgAdmin qui n'affiche pas la valeur de la colonne the_geom.
Normalement si l'on fait un clic droit copier dans la valeur "vide" et que l'on colle cela dans un editeur de texte les valeurs apparaissent.
On peut aussi le faire par la requète st_astext (the_geom)
par exemple
Code:
select st_astext(the_geom) from maTable
A+
Nicolas GRANIER
Hors ligne