Script permettant de générer les principaux contours administratifs selon différents niveaux de généralisation.
yarn
La préparation des sources inclut la récupération des données auprès des serveurs OpenStreetMap et OpenDatArchives et la décompression des fichiers utiles dans le dossier sources
.
yarn prepare-sources
yarn build
Si vous voulez générer les communes associées ou déléguées, vous devez executer la même commande avec la variable d'environnement COMMUNES_ASSOCIEES_DELEGUEES
export COMMUNES_ASSOCIEES_DELEGUEES=YES
yarn run build
Pour compresser les fichiers en gz avant envoi, faire
cd dist
for i in *.geojson;
do gzip -k $i;
done;
cd ..
Pour déployer, faire en changeant alias_ssh:/chemin_dossier/annee/geojson/
scp dist/*.geojson* alias_ssh:/chemin_dossier/annee/geojson/
Nous générons des tuiles vectorielles depuis les fichiers de contour. Elles sont servies depuis https://openmaptiles.geo.data.gouv.fr/data/decoupage-administratif/#4.63/46.18/-1.66
Elles contiennent :
Nous ne cherchons pas à intégrer toutes les couches administratives possibles pour des raisons d'optimisation de taille des tuiles vecteur.
Pour savoir à quelles zooms les couches sont disponibles, nous utilisons les zooms suivants :
Nom couches | Z3 | Z4 | Z5 | Z6 | Z7 | Z8 | Z9 | Z10 | Z11 | Z12 |
---|---|---|---|---|---|---|---|---|---|---|
regions | V | V | V | V | V | V | V | V | V | V |
departements | V | V | V | V | V | V | V | V | V | V |
epcis | V | V | V | V | V | V | V | V | V | V |
communes | V | V | V | V | V | |||||
communes_associees_deleguees | V | V | V | V | V | |||||
mairies | V | V | V | V | V |
Il est possible par un mécanisme d'overzoom d'accéder aux tuiles de zoom 3 au zoom 0, 1 ou 2 ou pour un zoom de niveau 16, d'accéder aux tuiles de niveau 12.
Pour un exemple d'intégration de ces tuiles avec des styles, voir en particulier l'exemple mentionnant "limites administratives" https://guides.etalab.gouv.fr/apis-geo/3-tuiles-vecteur.html#comment-utiliser-les-tuiles-vectorielles-d-etalab
Chaque fois nous passons par un utilitaire appelé ogrinfo
qui nous permet de lister les colonnes pour chaque couche.
La couche commune contient en fait à la fois les communes et les arrondissements municipaux
ogrinfo -so -al /vsigzip/./dist/communes-5m.geojson.gz
code: String (0.0)
nom: String (0.0)
departement: String (0.0)
region: String (0.0)
epci: String (0.0)
plm: Integer(Boolean) (1.0)
commune: String (0.0)
plm
contient 1 si les communes sont des communes ayant des arrondissements. Si la colonne commune
contient un code, c'est un arrondissement municipal
ogrinfo -so -al /vsigzip/./dist/mairies.geojson.gz
commune: String (0.0)
nom: String (0.0)
type: String (0.0)
La colonne type indique soit mairie
, soit memorial
, soit centre
La couche commune contient en fait à la fois les communes associées et les communes déléguées
ogrinfo -so -al /vsigzip/./dist/communes-associees-deleguees-5m.geojson.gz
code: String (0.0)
nom: String (0.0)
type: String (0.0)
departement: String (0.0)
region: String (0.0)
epci: String (0.0)
ogrinfo -so -al /vsigzip/./dist/epci-5m.geojson.gz
code: String (0.0)
nom: String (0.0)
Le code de l'EPCI est le code SIREN de l'EPCI
ogrinfo -so -al /vsigzip/./dist/departements-5m.geojson.gz
code: String (0.0)
nom: String (0.0)
region: String (0.0)
ogrinfo -so -al /vsigzip/./dist/regions-5m.geojson.gz
code: String (0.0)
nom: String (0.0)