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 :

Erreur lors de la vérification d'une contrainte


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Par défaut Erreur lors de la vérification d'une contrainte
    Bonjour,

    J'ai créé une table avec Postgresql. J'ai ajouté à cette table une colonne 'geom' de type POINT (PostGIS) et de dimension 2 avec la fonction addgeometrycolumn(). J'ai créé des enregistrements dans cette table sans toucher au champ geom. J'ai voulu remplir les champs geom avec la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE client SET geom=st_geomfromewkt('POINT(45 50)');
    et j'ai obtenu l'erreur suivante :
    la nouvelle ligne viole la contrainte de vérification « table » de la relation « enforce_srid_geom »

    Auriez-vous une idée de ce qui se passe ?

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bojnour le srid correspond à un système de référence spatiale(http://en.wikipedia.org/wiki/SRID),les coordonnées de ton point ne correspondent pas à ce "srid", pour tester postgis tu peux à la limite supprimer la contrainte portant sur le srid (d’après les coordonnées de ton point tu n'as pas besoin de srid)

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Par défaut
    Merci pour votre réponse rapide.
    J'avais même testé avec la projection conique conforme Lambert 1 et un point de coordonnées (601000, 201000) et ça me donnait la même erreur.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    C'est vous qui n'avez pas compris ce qu'est une dimension !
    Lisez l'article que j'ai écrit sur la manipulation des SIG dans SQL : http://blog.developpez.com/sqlpro/p9...n-geographiqu/

    et notamment :
    6.3 - Méthodes communes
    [...]
    Dimension() : Integer
    Retourne la dimension spatiale de l’objet de 0 à 2 (un point étant de dimension 0, une ligne 1, un polygone 2…)
    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/ * * * * *

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Par défaut
    D'accord merci. Je vais essayer avec la dimension 0. Mais n'y a-t-il pas une redondance ? Pour créer une colonne spatiale, il faut préciser la dimension et le type géométrique 'POINT' dans mon cas?

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    NON !
    Le standard OGC prévoir que le type est GEOMETRY ou GEOGRAPY (avec donc en sus un SRID) mais l'utilisation de addgeometrycolumn() pour un type plus précis est un gadget PostGreSQL pour alimenter une table système des colonnes géométriques....
    Mieux vaut passer par une contrainte CHECK sur un type GEO que par ce genre de gadget !

    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. Erreur lors de la création d'une contrainte d'unicité
    Par Maren00 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 04/09/2009, 21h07
  2. Réponses: 3
    Dernier message: 07/12/2005, 14h28
  3. [vb.net] erreur lors de l'éxécution d'une classe
    Par os_rasta dans le forum VB.NET
    Réponses: 10
    Dernier message: 01/12/2005, 18h34
  4. Erreur lors de l'ajout d'une table
    Par FredMines dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/07/2005, 13h13
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 15h47

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