Pages: 1
- Sujet précédent - postgis : import bd topo ign format sql sur quelques départements - Sujet suivant
#1 Fri 30 July 2021 10:32
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 267
postgis : import bd topo ign format sql sur quelques départements
Bonjour,
Je souhaite importer dans ma bdd postgis l'ensemble du contenu de la bd topo pour 10 départements uniquement. l'IGN met à disposition la donnée au format sql sur la France entière. Selon moi, la méthode idéale serait celle qui permette de pouvoir importer en une seule fois l'ensemble du contenu de la bd topo (tous les thèmes, donc, tous les fichiers sql) mais en limitant l'import dans la bdd à mes 10 départements d'intéret uniquement. Selon vous, cette méthode est elle réaliste? Possible?
Pour information, j'ai bien dans ma bdd une table ign admin express des départements français.
Idealement je souhaiterai en plus que pour chaque table il y ait création d'un index GIST et la definition d'un clef primaire gid. Et si possible un petit VACUUM ANALYZE.
Connaitriez vous une méthode, outil qui permettrait ce paramétrage d'import ? (ogr, psql, pg_restore,autre?.). Ou faut il obligatoirement passer par un langage de programmation comme PL/pgSQL ou python ou autre ?
Merci bien.
Dernière modification par image95 (Fri 30 July 2021 11:21)
Hors ligne
#2 Sun 01 August 2021 10:22
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1555
Re: postgis : import bd topo ign format sql sur quelques départements
Bonjour,
Vous pouvez faire ça avec un langage de script comme powershell ou bash en quelques lignes. Il y a de nombreux exemples sur ce forum ou sur le net (par exemple: https://georezo.net/forum/viewtopic.php?id=108813)
Le principe est de définir la liste des 10 départements, puis de faire une boucle sur ces départements pour executer les scripts SQL correspondants.
Nicolas
Hors ligne
#3 Mon 02 August 2021 11:17
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 267
Re: postgis : import bd topo ign format sql sur quelques départements
Bonjour.
Merci. Je vais relire le post que vous partagé. Il est intéressant mais selon moi il répond pas tout à fait au besoin. Sauf erreur de ma part, les méthodes proposées ne permettent pas, depuis le fichier bd topo de l'ign sur la France entière, de limiter l'import des données à certains départements, à un territoire d'intéret.
Afin de préciser mon cas personnel, ma zone d'intérêt : 10 départements sur 2 régions différentes. Mon but est que le contenu de la bd topo de mes départements d'intérêt soit in fine fusionné spatialement (PAS une table dédiée au département A et une autre au département B,etc.). Idéalement, je ne souhaite pas importer tout le fichier SQL sur la France entière.
D’après moi, actuellement, 2 options s’offrent à moi. Soit j’importe les données dans postgis par départements et je fusionne tout (c’est un sacré travail presque impossible à faire par simples requêtes au vu du nombre de départements et du nombres de tables).
Soit j’importe toute la France mais il faut alors une méthode pour essayer de limiter l’import à mes départements uniquement (c’est selon moi la méthode qui serait la plus pertinente).
Dans le post georezo https://georezo.net/forum/viewtopic.php?id=108813 , il y a un court échange qui fait allusion à ce besoin :
Bonjour,
Je souhaite intégrer la BDTOPO v3 au format PostgreSQL mais impossible de télécharger une autre emprise que la France métropolitaine alors que je n'ai besoin que d'un département. J'ai posé la question à l'IGN pour savoir si c'est possible ou non. En attendant la réponse, je vous la pose aussi, ça ne mange pas de pain...
De plus et en supposant qu'on ne puisse pas, quelqu'un a-t-il travaillé sur une adaptation des fichiers SQL permettant de restreindre l'import des données à un territoire particulier? Comme toutes les classes d'objets n'ont pas de COG et que l'identifiant des objets ne semble contenir aucune référence à un département ou une commune, je ne sais pas comment m'y prendre.
Le chargement d'un seul fichier SQL métropolitain fonctionne bien mais impossible d'envisager de tout charger en base, je n'ai pas assez de place pour ça.
Merci pour votre aide
Re: Import des données IGN au format Posgres
Voici ce que je fais personnellement :
1] j'importe la table nationale via PSQL
2] je découpe cette table selon mon territoire, via une requête de ce type :
Code:
CREATE TABLE france_2019.zone_de_vegetation_territoire AS
SELECT zv.*
FROM france_2019.zone_de_vegetation zv
JOIN france_2019.mon_territoire t ON ST_Intersects(zv.geometrie, t.geom)
WHERE t.nom is not null;
3] Je supprime la table nationale (DROP SQL)
Ce serait certainement scriptable, mais dans mon cas, ça me convient (beaucoup plus simple que quand je devais fusionner plusieurs départements SHP !)
Sylvain M.
Hors ligne
Merci. Vous chargez toutes les tables ou une partie uniquement?
Il va falloir que je demande aux informaticiens de pousser les murs car, même si je supprime ensuite tout ce dont je n'ai pas besoin, je n'ai pas assez d'espace pour charger la base nationale...
Salutations, Nicolas.
Dernière modification par image95 (Mon 02 August 2021 11:19)
Hors ligne
#4 Mon 02 August 2021 12:10
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1555
Re: postgis : import bd topo ign format sql sur quelques départements
Ah désolé, j'avais mal compris et je pensais que la livraison était par dept.
Nicolas
Hors ligne
#5 Mon 02 August 2021 12:15
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1555
Re: postgis : import bd topo ign format sql sur quelques départements
L'IGN met à disposition d'autres formats : shapefile par région ou geopackage par dept.
Ca permet d'importer les dept voulus uniquement.
Nicolas
Hors ligne
Pages: 1
- Sujet précédent - postgis : import bd topo ign format sql sur quelques départements - Sujet suivant