#1 Mon 15 December 2014 11:50
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Création d'une table sur PostgreSQL/Postgis
Bonjour,
Je souhaite créer une table avec postgis (je débute tout juste). J'ai créé mes colonnes et je les ai remplies, mais ce que je ne comprends pas c'est comment ajouter toute la partie géographique à ma table (SRID, coordonnées etc.) ?
Merci d'avance
Hors ligne
#2 Mon 15 December 2014 12:22
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour,
Comment avez-vous procéder ? Avec quel outil ?
Votre table est-elle géographique ?
Hors ligne
#3 Mon 15 December 2014 12:25
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour,
Difficile comme question, il y a tellement de possibilités !
* à partir d'un shapefile existant (mais il créé la table et rempli toutes les colonnes) : shp2pgsql
* à partir d'une requête SQL :
- Il faut créer un champ géométrique : avec la fonction addGeoemtrycolumn() : SELECT addGeometryColumn() (je te conseil d'aller voir la doc [1] pour les détails des paramètres de cette fonction) ou bien si tu es sur PsotGIS 2 : ALTER TABLE maTable ADD COLUMN the_geom geometry(POINT, 4326); (plus simple )
- UPDATE maTable Set monChamp = st_srid(st_makepoint(4,3),4326); mais ca dépend de la projection que tu vas utiliser. Tu peux aussi utiliser un WKT monChamp = St_geometryFromText('POINT(4 3), 4326);
Bien évidement ce sont des pistes, ces requêtes ne vont pas toutes fonctionner tel quel.
Y.
[1] http://postgis.net/docs/AddGeometryColumn.html
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Mon 15 December 2014 14:21
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
merci beaucoup. J'ai effectué la requête ALTER TABLE maTable ADD COLUMN the_geom geometry(POINT, 4326); et mon champs a été créé. Du coup, ce que je ne comprends pas c'est après comment remplir ce champs ?
J'ai construit une table test avec postgreSQL, elle n'est pas géographique. Je voudrais justement tout faire par ma moi même pour mieux comprendre.
merci pour votre aide!
Hors ligne
#5 Mon 15 December 2014 14:31
Re: Création d'une table sur PostgreSQL/Postgis
La deuxième instruction Update proposée par Yves.
Hors ligne
#6 Mon 15 December 2014 16:32
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
ok merci. Il me marque : ERROR: function st_srid(geometry, integer) does not exist
LINE 1: UPDATE destinations Set the_geom = st_srid(st_makepoint(4,3)...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Erreur **********
pourtant j'ai cherché dans la liste des fonctions et cela a l"air de correspondre..
Hors ligne
#7 Mon 15 December 2014 16:38
Re: Création d'une table sur PostgreSQL/Postgis
Juste un st_makepoint()
Hors ligne
#8 Mon 15 December 2014 17:33
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour,
Il y avait une petite errur dans la requête SQL :
Code:
UPDATE destinations Set the_geom = st_setsrid(st_makepoint(4,3), 4326);
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Fri 19 December 2014 18:25
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
Merci cela a marché. Si je comprends bien cette manipulation créée le type de géométrie et le type de système de projection. Mais si ensuite je veux pouvoir donner à chaque entité créée des coordonnées géographiques, comment je peux faire ? Désolée je suis un peu paumée dans les possibilités de postgresql/postgis.
Merci encore pour votre aide
Hors ligne
#10 Mon 22 December 2014 15:54
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour,
A quoi correspond 0101000020E610000000000000000010400000000000000840 dans la colonne the geom ? Est-ce cela que je dois modifier?
Merci,
Hors ligne
#11 Mon 22 December 2014 16:39
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour
Il s'agit de la géométrie encodée (0101000020E610000000000000000010400000000000000840).
La requête que vous avez effectuée vous a créée un point avec les coordonnées lat 4 long 3 (ou l'inverse je ne sais plus) dans le système de projection epsg 4326
Vous pouvez consulter ce site pour avoir plus d'infos
http://www.postgis.fr/chrome/site/docs/ … index.html
Cordialement.
Hors ligne
#12 Mon 22 December 2014 16:56
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
Merci! du coup savez vous comment je peux changer ces points de coordonnées pour chaque objet? J'ai lu les infos sur le site postgis.fr mais je n'arrive pas à trouver la réponse a a question.
Hors ligne
#13 Tue 23 December 2014 09:51
Re: Création d'une table sur PostgreSQL/Postgis
Bonjour,
Il faut mettre une clause WHERE pour affecter un objet ou un groupe d'objet.
Ici l'objet qui a pour id 22:
UPDATE destinations SET the_geom = st_setsrid(st_makepoint(4,45), 4326) WHERE id= 22;
Hors ligne
#14 Tue 30 December 2014 12:27
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
D'accord merci. Je voudrais en fait, créer une colonne X,Y pour attribuer à chaque objet des coordonnées. Est-ce déjà possible ? et ou puis-je trouver le bon format de coordonnées géographiques ? car pour le moment j'ai essayé mais lorsque j'ouvre ma table avec QGIS mes points ont disparu.
Merci de votre aide
Hors ligne
#15 Tue 30 December 2014 12:51
- just
- Participant occasionnel
- Date d'inscription: 5 Jan 2012
- Messages: 21
Re: Création d'une table sur PostgreSQL/Postgis
En fait c'est bon je viens de comprendre que je pouvais les modifier dans la colonne the geom. Petite question supplémentaire : quel est l'intéret du systeme de projection epsg 4326 par rapport à EPSG 3857 ?
Hors ligne