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

Requêtes PostgreSQL Discussion :

Définir le type de géométrie pour une colonne de type geometry


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 64
    Points
    64
    Par défaut Définir le type de géométrie pour une colonne de type geometry
    Bonjour,

    J'ai un problème avec une colonne de type geometry. Celle-ci a été créée de façon incorrecte et ne s'affiche donc pas correctement dans QGIS.

    Elle est bien de type "geometry".

    Elle n'avait pas de SRID attribué, je lui en ai donc attribué un avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select updategeometrysrid ('mon_schema','ma_table','ma_colonne',2154)
    Il semble aussi qu'il manque la définition du type de géométrie pour que le chargement se fasse correctement, mais là je n'arrive pas à trouver comment faire ?

    Dans QGIS et dans la fenêtre de chargement des couches postgis la couche apparaît deux fois après un long temps d'analyse :
    - une fois avec le "type spatial" bien reconnu (certainement après analyse en live)
    - une fois avec le "type spatial" nécessitant une sélection manuelle.

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Points : 64
    Points
    64
    Par défaut
    Je me répond à moi-même :-)

    J'ai donc, finalement, trouvé la solution.

    J'ai découvert dans la documentation de postgis 2.2, que la fonction "populate_geometry_columns" que je croyais désormais inutile dès-lors que l'on est en version 2 et supérieur de postgis, est en fait toujours utile pour demander à renseigner "manuellement" la vue "geometry_columns" (qui remplace l'ancienne table du même non dans les versions précédentes de postgis).

    Dans mon cas elle a permis de corriger mes problèmes de type de géométrie sur certaines colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT populate_geometry_columns('mon_schema.ma_table'::regclass)
    Par contre, ça a fonctionné sur une base, mais pas sur une autre pour la raison suivante :

    ERREUR: la fonction populate_geometry_columns(regclass) n'est pas unique
    LINE 1: ...SE off, COSTS on, BUFFERS off, TIMING off )SELECT populate_g...
    ^
    HINT: N'a pas pu choisir un meilleur candidat dans les fonctions. Vous pourriez
    avoir besoin d'ajouter des conversions explicites de type.
    En effet, la fonction se trouve plusieurs fois dans chacune des bases (shéma public, fonctions...) et dans celle sur laquelle il y avait un bug j'ai renommé une des fonctions doublonnées en rajoutant un 0 devant... et ça fonctionne même si ce n'est peut-être pas très orthodoxe comme méthode !!!

Discussions similaires

  1. [Débutant] Type Enum pour une colonne d'un DataTable
    Par thibab dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/09/2014, 21h45
  2. Réponses: 1
    Dernier message: 09/09/2011, 16h38
  3. Réponses: 2
    Dernier message: 25/10/2010, 17h22
  4. Réponses: 2
    Dernier message: 13/11/2009, 13h14

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