#1 Tue 09 April 2019 17:36
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Deux moyens équivalent pour créer une colonne geom ?
Bonjour,
Je me pose une question essentielle :
Quelle est la différence fondamentale entre ces deux instructions SQL pour créer une colonne de géométrie?
Code:
ALTER TABLE table ADD COLUMN geom geometry(Point,4326)
Code:
SELECT ADDGEOMETRYCOLUMN ('schema','table','geom',4326,'POINT',2)
Je suis tombée sur cette explication dans la doc de postgis mais ce n'est pas encore assez clair pour moi..
https://postgis.net/docs/AddGeometryColumn.html
Changed: 2.0.0 This function no longer updates geometry_columns since geometry_columns is a view that reads from system catalogs. It by default also does not create constraints, but instead uses the built in type modifier behavior of PostgreSQL. So for example building a wgs84 POINT column with this function is now equivalent to: ALTER TABLE some_table ADD COLUMN geom geometry(Point,4326);
Changed: 2.0.0 If you require the old behavior of constraints use the default use_typmod, but set it to false.
Merci d'avance pour vos réponses!
Hors ligne
#2 Wed 10 April 2019 10:54
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Deux moyens équivalent pour créer une colonne geom ?
Bonjour;
AddGeometryColumn date de l'ancien temps de Postgis et permettait d'ajouter des contraintes a la colonne géo (type, srid) et d'enregistrer cette colonne dans la table GeometryColumns (table listant toutes les colonnes geo, issue de la norme OGC).
Depuis la 2.0, plus besoin de passer par là: les types geometry et geography acceptent des typemod (modificateur de type) permettant de préciser des infos sur la colonne géo (type, srid). (meme principe que VARCHAR(12), ou (12) modifie le type VARCHAR pour le limiter a 12 caractères max)
Ces info étant enregistrées dans la BD, plus besoin de table geometryColumns, mais une vue suffit, listant en temps réel toutes les colonnes géo des tables.
Vous pouvez donc oublier addGeometryColumns.
Pour déclarer un type géo:
Code:
... geom geometry; -- => la colonne peut stocker pt, lignes, pg, etc., srid = 0 (pas d'info) ... geom geometry(POINT); -- la colonne ne peut stocker que des POINT, srid = 0 ... geom geometry(POINT, 2154); -- colonne ne peut stocker que des POINT, avec un srid = 2154 obligatoire.
Nico
Hors ligne
#3 Thu 09 May 2019 13:16
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Deux moyens équivalent pour créer une colonne geom ?
Bonjour,
Je vous remercie pour ces éléments de réponses!
Hors ligne
#4 Thu 09 May 2019 13:16
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Deux moyens équivalent pour créer une colonne geom ?
Bonjour,
Je vous remercie pour ces éléments de réponses!
Hors ligne
#5 Thu 09 May 2019 13:21
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Deux moyens équivalent pour créer une colonne geom ?
Bonjour,
Je vous remercie pour ces éléments de réponses!
Hors ligne
#6 Thu 09 May 2019 13:56
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Deux moyens équivalent pour créer une colonne geom ?
Je suis désolée, il y a eu quelques soucis au moment de l'envoi de mon message..Je ne sais pas comment supprimer une réponse.
Hors ligne
#7 Thu 09 May 2019 13:56
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Deux moyens équivalent pour créer une colonne geom ?
Error: Couldn't get mail server response codes. Please contact the forum administrator. Expected response: 220.
Hors ligne