IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Postgis Geometry type (Polygon) does not match column type (MultiPolygon)


Sujet :

PostgreSQL

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 109
    Par défaut Postgis Geometry type (Polygon) does not match column type (MultiPolygon)
    Bonjour à tous,

    Je me lance sur Postgresql et plus précisément sur Postgis.

    Objectif : créer une requête de regroupement de la géométrie de la table commune et mettre à jour la géométrie de la table département

    Au préalable, j'ai vérifié que l'ensemble des tables avaient un champ geom paramétré en multipolygon

    Depuis un shapefile, j'ai importé la géométrie vers une table commune qui que j'ai crée via l'IDE PgAdmin 4 ==> OK

    Cette table comprend les communes des départements du 44,49 et 85.

    Ensuite j'ai voulu appliqué la requête St_union afin regrouper les communes d'un même département en une seule entité ==> OK

    Cependant quand j'exécute la requête, voici le message d'erreur qui s'affiche

    ERROR: ERREUR: Geometry type (Polygon) does not match column type (MultiPolygon)

    Alors que la géométrie de mes tables sont de type MULTIPOLYGON

    Ci-dessous ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH dep_geom AS
    (SELECT dep, st_union(geom) as geom
    FROM public.commune
    GROUP BY dep
    )
     
    UPDATE public.departement
    SET geom= dep_geom.geom
    FROM dep_geom
    WHERE departement.dep = dep_geom.dep;

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Et comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    WITH dep_geom AS
    (
      SELECT dep, St_Multi(ST_Union(geom)) as geom
        FROM public.commune
    GROUP BY dep
    )
     
    UPDATE public.departement
       SET geom = dep_geom.geom
      FROM dep_geom
     WHERE departement.dep = dep_geom.dep;

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 109
    Par défaut
    Bonjour,

    Cela fonctionne, merci beaucoup mais pouvez-vous m'expliquer pourquoi cela fonction avec votre méthodologie svp ?

    Cordialement,

    --

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    J'ai simplement cherché sur google "postgis ST_Union Multipolygon"

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 992
    Billets dans le blog
    6
    Par défaut
    PstGreSQL est relativement chiant sur le typage des données. La norme SQL considère que les données SQL sont fortement typé à transtypage automatique. Dans la plupart des SGBDR cela ne pose aucun problème.. Dans PG c'est la merde il faut tout le temps le corriger !
    Dans cet article :
    http://mssqlserver.fr/postgresql-vs-...ed-comparison/
    Je montre au § 3 – Data casting une requête qui cherche un prix (colonne de type MONEY) = 123 et PostGreSQL part en erreur !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PRoperty.GetValue "object does not match target type"
    Par mactwist69 dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/08/2016, 14h01
  2. Réponses: 2
    Dernier message: 18/11/2014, 16h43
  3. Réponses: 7
    Dernier message: 07/07/2006, 11h17
  4. Réponses: 1
    Dernier message: 10/05/2006, 12h11
  5. [Plugin]package does not match the expected package src
    Par Fladnag dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 10/03/2004, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo