banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 ... wink

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

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS: Analyse Base de données Postgres Heroku

Ericge a écrit:

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 sad

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

 

Pied de page des forums

Powered by FluxBB