Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Cette année les GeoDataDays auront lieu à Montpellier les 15 et 16 septembre 2020 !

Les inscriptions sont ouvertes.

#1 Sun 27 October 2019 22:45

preliator
Membre
Date d'inscription: 17 Nov 2018
Messages: 342

Stocker un shape dans PostGre (PostGis)

Bonjour à tous,

Débutant sur Postgis, je m’entraîne à importer des couches vecteurs de QGis à PostGre. Cependant, je me pose une question.

Jusqu'à présent, en m’entraînant à créer des bases de données simples sur PostGre, je faisais en sorte de toujours garder le script de création des tables et de remplissage avec moi, afin de pouvoir le partager, le modifier quand j'en ai envie. Or, j'ai récemment découvert sur QGis 3.8 l'option "Exporter dans PostGreSQL", permettant d'importer directement une couche vecteur directement dans ma base de donnée sur PostGre.

Cependant, sauf erreur de ma part, aucun script ne s'est crée. Pas de CREATE TABLE, ni de INSERT INTO.

Doit-on se passer de scripts lorsqu'on passe au spatial dans PostGre ? Selon moi c'est aussi un excellent moyen de limiter la taille des données shape, vu que tout tiens dans un script.

Merci à vous.

Hors ligne

 

#2 Mon 28 October 2019 03:14

Pascal Boulerie
Membre
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2310
Site web

Re: Stocker un shape dans PostGre (PostGis)

Ça doit être décrit dans le manuel utilisateur.

Ah ben zut alors ? Non ? (je n’ai pas trouvé de détails, mais ma connexion en ce moment est peut-être trop mauvaise...)
https://docs.qgis.org/3.4/en/docs/user_ … xport-data

Si quelqu’un est volontaire pour peupler la doc ?


Une solution est de regarder la liste des cases et autres disponibles dans la fenêtre de l’interface du logiciel.


Quant au sujet du fil ?de discussion, il me semble ne pas refléter exactement la question.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#3 Mon 28 October 2019 03:24

Pascal Boulerie
Membre
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2310
Site web

Re: Stocker un shape dans PostGre (PostGis)

Il y a peut-être aussi un lien cassé à faire réparer :
https://docs.qgis.org/3.4/en/docs/pream … xport-data


Sinon c’est intéressant de tâcher de répondre à vos questions pour bien documenter ce logiciel libre.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#4 Mon 28 October 2019 03:54

Pascal Boulerie
Membre
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2310
Site web

Re: Stocker un shape dans PostGre (PostGis)

Les données Shape sont stockées comment à l’origine dans votre configuration de traitement actuel ?


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#5 Mon 28 October 2019 09:58

preliator
Membre
Date d'inscription: 17 Nov 2018
Messages: 342

Re: Stocker un shape dans PostGre (PostGis)

Merci pour votre réponse.

Mes fichiers shape sont stockés dans un dossier dans mon bureau. C'est simplement lorsque je les ouvre dans QGis que j'utilise l'outil pour exporter vers PostGreSQL.

J'ai trouvé un début de piste pour répondre à ma question. J'ai trouvé un moyen d'exporter le script de ma BDD de PostGreSql dans un fichier .sql avec le cmd de Windows, et la formule suivante :

Code:

pg_dump -U postgres -s NOM_BASE_DE_DONNEE > C:\Users\NOM_USERS_WINDOWS\Desktop\EXPORT.sql

Malheureusement, il semble que seul les CREATE TABLE soient exportés, et non les remplissages de ces dernières.

Hors ligne

 

#6 Mon 28 October 2019 16:38

Edouard Hyvernat
Membre
Lieu: Vernon
Date d'inscription: 24 Jan 2011
Messages: 36

Re: Stocker un shape dans PostGre (PostGis)

Bonjour,

Je ne suis pas la personne la plus éclairé pour répondre à vos questionnements car je manque de pratiques et de bases solides mais étant une nouvelle fois attérré (et triste aussi disons le) par les réponses de M. Boulerie qui est toujours prompt pour noyer ou enfumer les posts par des considérations alambiquées je vais essayer de reprendre point par point votre message avec mes mots bien imparfaits :

Débutant sur Postgis, je m’entraîne à importer des couches vecteurs de QGis à PostGre


Petite remarque préalable : PostgreSQL est un gestionnaire de base de données qui comprend plusieurs extensions dont PostGis qui permet de traiter des objets géographiques via un ensemble de fonctions dédiées et en stockant et en permettant l'interprétation de cette géométrie par des outils tiers.
Un des intérêts d'utiliser des "données SIG" étant de permettre d'avoir une représentation géométriques (point, ligne, polygone) dans l'espace augmentée d'un ensemble d'attribut, la bonne démarche à mon sens est de s'intéresser d'abord au fonctionnement de PostgreSQL puis à ce qu'apporte PostGIS à ce gestionnaire de base de donnée

En synthèse de comprendre la syntaxe pour charger, créer, sauvegarder, etc. des données dans PostgreSQL puis de comprendre comment, une fois l'extension PostGIS installé lorsqu'on charge dans un champ dédié (ex : the_geom) une chaîne de caractères de type "01000100000A00660CD58565..." (format WKB) et bien cela permet à un outil tiers (ex QGIS) d'interpréter ce champ comme un polygone, une ligne ou un point localisé dans l'espace.

Jusqu'à présent, en m’entraînant à créer des bases de données simples sur PostGre, je faisais en sorte de toujours garder le script de création des tables et de remplissage avec moi


Effectivement, en travaillant de la sorte, on peut dire que vous prenez les choses par le "bon bout" puisque vous allez vous familiariser avec les commandes de PostgreSQL permettant de créer des bases de données, des tables, des champs à l'intérieur de ces tables et donc de les peupler d'objets (de ligne dans votre base de donnée pour vulgariser à l'extrême). C'est vous qui créez directement de la donnée dans PostgreSQL par vos scripts, et via une syntaxe spécifique.

Or, j'ai récemment découvert sur QGis 3.8 l'option "Exporter dans PostGreSQL", permettant d'importer directement une couche vecteur directement dans ma base de donnée sur PostGre


Donc si on réfléchit à ce que fait cette "option", on comprend que QGIS va jouer le rôle de l'instructeur à votre place et donner les ordres pour que votre base de donnée soit remplie.

Cependant, sauf erreur de ma part, aucun script ne s'est crée. Pas de CREATE TABLE, ni de INSERT INTO.


Si vous me suivez toujours dans mon raisonnement, vous savez que votre base de donnée a besoin d'instructions et de valeurs pour se peupler mais le fait de sauvegarder cette instruction est un choix personnel et PostgreSQL n'a pas besoin de stocker, d'enregistrer cette instruction pour "travailler". Il reçoit un ordre, il l'exécute et seul résultat de tout cela est stocké en dur dans la base de donnée.
Ceci étant dit, si vous utilisez un outil graphique type PG Admin pour travailler votre BD, vous trouverez bien l'instruction CREATE TABLE dans la définition de chaque table de votre base de données.

Doit-on se passer de scripts lorsqu'on passe au spatial dans PostGre ?


Manifestement cette question qu'on pourrait garder comme sujet d'un Baccalauréat imaginaire sur la philosophie des SIG (pardonnez mon sarcasme) me pousse à vous recommander de reprendre progressivement chaque point évoqué plus haut et vous en déduirez alors que :
- Comme tout gestionnaire de base de données, qu'elles soient spatiales ou non, PostgreSQL a besoin d'instructions écrites qu'on appelle souvent "script" et peuvent être produites directement par vous via le terminal/la console (ex : psql qui est le terminal de PostgreSQL), via une interface graphique (PG Admin, DBeaver par ex.), via un outil SIG (QGIS par ex.)

Selon moi c'est aussi un excellent moyen de limiter la taille des données shape, vu que tout tiens dans un script.


Je vais terminer par ce par quoi j'aurai du commencer.
Prenez le temps de lire par exemple ce cours : http://www.postgis.fr/chrome/site/docs/ … index.html et dans quelques temps vous vous rendrez compte que votre phrase n'est pas très intelligible.

J'ai beaucoup écrit pour pas grand chose au final et je ne veux pas paraitre comme un donneur de leçon ni être cassant mais je souhaitais vous faire prendre conscience de l'importance de lire, et de comprendre au moins de manière schématique, le fonctionnement de vos outils avant de foncer tête baissée dans leurs utilisations... et aussi de ne pas vous laisser croire que le sûrement très sympathique Pascal Boulerie saura vous aider dans vos questions wink

Hors ligne

 

#7 Mon 28 October 2019 18:42

preliator
Membre
Date d'inscription: 17 Nov 2018
Messages: 342

Re: Stocker un shape dans PostGre (PostGis)

Un grand merci pour le temps que vous avez passé à m'écrire. Je prend note de tous ça smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |