#1 Tue 23 October 2018 16:18
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
QGIS: Analyse Base de données Postgres Heroku
Bonjour à tous,
J'ai plusieurs bases de données sur le serveur HEROKU, en postgres, et il est a priori impossible de les convertir en postgis.
J'aimerai pouvoir ouvrir ces bases postgres sur Qgis et les spatialiser, les traiter.
Je n'y parviens pas. comment faire ?
Merci d'avance
Hors ligne
#2 Wed 24 October 2018 16:15
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
Re: QGIS: Analyse Base de données Postgres Heroku
Ma question doit être trop vague ...
Je vais essayer d'être plus clair : je cherche à créer une couche de point depuis une table attributaire distante.
J'aimerai le faire en SQL, afin de pouvoir chaîner plusieurs opérations sur cette même table (notamment des opérations de changement de format, jointure ...).
Hors ligne
#3 Fri 26 October 2018 07:20
- romainbh
- Participant assidu
- Date d'inscription: 20 Aug 2013
- Messages: 355
Re: QGIS: Analyse Base de données Postgres Heroku
Bonjour,
PostGIS est une extension de PostGres, il faut donc installer PostGis sur le serveur pour donner la possibilité de spatialiser des tables PostGres.
Hors ligne
#4 Tue 30 October 2018 14:18
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
Re: QGIS: Analyse Base de données Postgres Heroku
ok.
Je débute sur toutes ces questions postgis.
J'ai essayé (via l'outil SQL de PGAdmin) d'installer l'extension postgis sur une de mes base de données heroku existante : une extension postgis a été crée dans la BD, ainsi qu'une table "spatial_ref_sys".
Ce que je ne comprends pas, c'est comment spatialiser les autres tables de ma BD, tables qui contiennent des enregistrements de points avec latitude et longitude. Faut'il les convertir en shp???
Hors ligne
#5 Tue 30 October 2018 14:52
- Theos2000
- Participant assidu
- Date d'inscription: 15 Jun 2015
- Messages: 221
Re: QGIS: Analyse Base de données Postgres Heroku
Salut,
Je ne peux que te conseiller ce bon document pour débuter avec postgis : http://www.postgis.fr/chrome/site/docs/ … index.html ==> Postgis dispose de fonction pour transformer des longitude/latitude en point ==> https://postgis.net/docs/ST_MakePoint.html
Pour ce qui est de l'import de fichier shape tu peux passer par le db manager de qgis mais avant ca il faut creer une connexion avec ta base de donnée. Si tu veux pour tes points tu peux passer par qgis (csv) et ensuite intégrer ton.shp dans postgre via le dbmanager
Bon courage :-)
Hors ligne
#6 Tue 30 October 2018 15:02
- trovez
- Participant occasionnel
- Lieu: Nantes
- Date d'inscription: 17 Sep 2007
- Messages: 24
Re: QGIS: Analyse Base de données Postgres Heroku
Bonjour,
Il faut créer dans chaque tables une colonne (geom) dont la géométrie est de type point en lui indiquant la projection.A priori 4326 pour des latitudes, longitudes.
ALTER TABLE ma_table ADD COLUMN geom geometry(Point,4326);
Puis lancer:
UPDATE ma_table
SET geom = ST_SRID(ST_MakePoint(longitude, latitude), 4326)
où longitude et latitude sont les colonnes qui contiennent les coordonnées .
Hors ligne
#7 Tue 30 October 2018 15:58
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
Re: QGIS: Analyse Base de données Postgres Heroku
Merci pour vos réponses.
Cette table est alimentée par une application android sur mobile. Aussi, la solution csv est trop complexe.
Je vais essayer de transformer les tables en intégrant la colonne geom.
En espérant qu'Heroku l'accepte !
Hors ligne
#8 Tue 30 October 2018 16:17
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
Re: QGIS: Analyse Base de données Postgres Heroku
Je viens de tester en créant la nouvelle colonne geom et en rentrant la fenêtre sql de DB manager :
UPDATE matable
SET geom = st_srid (ST_MakePoint(longitude, latitude), 4326)
Réponse :
function st_srid(geometry, integer) does not exist
LINE 2: SET geom = st_srid (ST_MakePoint(longitude, latitude), 4326)
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Je dois avoir fait une faute quelque part ?
Hors ligne
#9 Tue 30 October 2018 17:44
Re: QGIS: Analyse Base de données Postgres Heroku
Je viens de tester en créant la nouvelle colonne geom et en rentrant la fenêtre sql de DB manager :
UPDATE matable
SET geom = st_srid (ST_MakePoint(longitude, latitude), 4326)
Bonjour
Avec cette instruction vous définissez une géométrie par un SRID, ce qui n'a pas de sens (Vous avez déjà défini le SRID au niveau de la colonne) :
Code:
SET geom = ST_MakePoint(longitude, latitude)
[Edit]
Code:
select st_srid (ST_MakePoint(longitude, latitude))
renvoie le SRID de la géométrie
Sinon, vous devriez utiliser
Code:
SET geom = st_setSRID (ST_MakePoint(longitude, latitude), 4326)
La confusion est aisée
Dernière modification par jmarsac (Tue 30 October 2018 17:55)
Jean-Marie
Azimut
Hors ligne
#10 Tue 30 October 2018 18:29
- Ericge
- Participant occasionnel
- Date d'inscription: 23 Oct 2018
- Messages: 22
Re: QGIS: Analyse Base de données Postgres Heroku
YAOUOU !!!! Merci jmarsac,
Votre dernière instruction fonctionne super bien : mes tables sont bien spatialisées et je peux les appeler directement sur Qgis via la fonction Ajouter couche Potsgis.
Génial, encore merci
Hors ligne