#1 Sun 27 October 2019 22:45
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
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
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2947
- 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.)
En ligne
#3 Mon 28 October 2019 03:24
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2947
- 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.)
En ligne
#4 Mon 28 October 2019 03:54
- Pascal Boulerie
- Participant assidu
- Lieu: France
- Date d'inscription: 12 Sep 2005
- Messages: 2947
- 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.)
En ligne
#5 Mon 28 October 2019 09:58
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
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
- Participant occasionnel
- Lieu: Vernon
- Date d'inscription: 24 Jan 2011
- Messages: 46
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
Hors ligne
#7 Mon 28 October 2019 18:42
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
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
Hors ligne