!!! Warning : Personal and experimental project to explore opendata resources, not ready for production !!!
This repository contains helpers to integrate data in postgis and dataset integration scripts mainly focused on open datasets about France.
Ce dépôt contient :
- Des utilitaires permettant d'écrire facilement des scripts d'intégration (appel à ogr2ogr, psql, etc.)
- Des scripts d'intégration de données ouvertes dans postgis
ATTENTION : Reportez-vous aux descriptions des jeux de données pour connaître les conditions d'utilisation et licences exactes (voir homepage
dans les fichiers config.json
pour obtenir plus d'information)
Nom | Description |
---|---|
adminexpress | Région, département, commune, etc. (IGN) |
cadastre | Commune, section, feuille, parcelle, bâtiment (DGFIP retravaillé par ETALAB) |
naturalearth | Jeux de données de couverture mondiale (Pays, ports, lacs, batymétrie, etc.) |
route500 | Réseau routier à petite échelle |
Nom | Description |
---|---|
nodejs | Script JS côté serveur |
unzip | Extraction archive .zip |
7z | Extraction archive .7z (p7zip-full sur debian/ubuntu) |
tar | Extraction archive .tar.gz, .tar.bz2 |
ogr2ogr | Lecture des formats geojson, shapefile, CSV, etc. (gdal-bin sur debian/ubuntu) |
psql | Chargement de données SQL (postgresql-client debian/ubuntu) |
pg_dump | Génération d'export des données (postgresql-client debian/ubuntu) |
git clone https://github.com/mborne/postgis-integration
cd postgis-integration
npm install
Les scripts s'appuient sur des variables d'environnements :
Variable | Description | Valeur par défaut | Obligatoire |
---|---|---|---|
PGHOST | Nom du serveur | localhost | NON |
PGDATABASE | Nom de la base de données | $USER |
NON |
PGUSER | Utilisateur | $USER |
NON |
PGPASSWORD | Mot de passe utilisateur | Aucune | NON |
DATA_DIR | Dossier de travail | postgis-integration/data |
NON |
createdb gis
psql -d gis -c "CREATE EXTENSION postgis"
PGDATABASE=gis bin/import.js adminexpress
#...
docker build -t postgis-integration .
# avec docker-devbox/postgis et la configuration par défaut
docker run --rm -ti \
--net=devbox -e DEBUG=* -e PGHOST=postgis -e PGDATABASE=gis \
-e PGUSER=postgres -e PGPASSWORD=ChangeIt \
postgis-integration node bin/import.js adminexpress
Pour chaque jeu de données, on retrouve les fichiers suivant :
Fichier | Description |
---|---|
datasets/{datasetName} | Dossier du jeu de données |
datasets/{datasetName}/import.js | Script d'import du jeu de données |
datasets/{datasetName}/config.json | Configuration du jeu de données (métadonnées) |
Le fichier config.json
fournit les informations suivantes :
Nom | Description | Exemple |
---|---|---|
name | Identifiant du jeu de données | ban |
description | Description du jeu de données en une phrase | Base Adresse Nationale |
homepage | Page de présentation du jeu de données | https://www.data.gouv.fr/fr/datasets/ban-base-adresse-nationale/ |
url | URL de téléchargement du jeu de données | https://adresse.data.gouv.fr/data/BAN_licence_gratuite_repartage_{CODE_DEP}.zip |
version | Version du jeu de données | latest |
Remarque :
version=latest
traduit la possibilité pour le script de récupérer la dernière version du jeu de données- l'URL peut contenir des paramètres évalués au niveau du script d'intégration (ex :
{CODE_DEP}
)