Le but de ces outils est de créer de manière plus au moins automatique le modèle de données géologiques, en particulier la liste des valeurs attributaires possibles, et le modèle physique issu de ESRI ArcSDE.
Les exports de la base de données ArcSDE sont dans exports, les fichiers intermédiaires nécessaires pour la génération
des documents finaux, comme markdown dans inputs et les différents formats du modèle final dans outputs.
- Pour l'instant, le modèle est disponible en allemand et en français.
- Plusieurs formats sont disponbiles :
datamodel.pdf, ainsi que sous forme de fichier.docx,.htmlet.odt. - Le dump des informations de ESRI ArcSDE dans
exports - Le schéma ER de la base
ER-GCOVER.svg, généré à partir d'un fichierPlantUML.
Les outils gcdocs (génération de la documentation) et gcover (exports à partir de ESRI ArcSDE, mais pas que) sont
disponbiles comme paquets sur anaconda.org et pypi.org. La génération des fichiers finaux à partir des exports
est possible dans n'importe quel environnement, mais l'export des données à partir de l'ESRI Enterprise Database (SDE)
nécessite arcpy et un accès à cette même base (donc exclusivement Windows. Il est toutefois possible de générer cet
export à partir d'une FileGDB (backup).
Créez un nouvel environnement conda en clonant arcgispro-py3 si vous devez exporter des données depuis ArcSDE (évident).
Pour générer les modèles, vous n'avez pas besoin de arcpy.
Installez le paquet :
(arcgispro-py3) D:\conda\envs\arcgispro-py3_clone> conda install -c swisstopo gcover gcdocs
Pour générer les documents finaux à partir des sources markdown, vous avez besoin de pandoc.
Comme pandoc.exe est un binaire autonome sous Windows, téléchargez-le simplement et décompressez-le dans C:\LegacySW
(voir la dernière version disponible sur Pandoc).
Pour tester l'installation (le numéro de version peut varier) :
C:\LegacySW\pandoc-3.1.13\pandoc.exe --version
Vous avez besoin de pandoc et d'une installation complète de XeLaTeX.
Installez-la avec apt-get, yum, etc.
Créez un environnement conda comme d'habitude et installez le paquet :
conda install -c gcover gcdocs
Les sous-commandes de gcover nécessitant arcpy ne sont évidemment pas disponibles sous Linux.
python scripts/geology_tool_v4.0_with_cd_attributes.py
Le fichier sera écrit dans : outputs/geology_mapping_tool_v4.0.xlsx
Ce guide décrit les étapes nécessaires pour générer une nouvelle version du modèle de données géologiques en utilisant
les outils gcover et geocover
Créez un nouveau répertoire pour stocker les exports de la version :
mkdir -p exports/<RELEASE-DIR>Exemple : mkdir -p exports/2025-08-26
Modifiez le fichier datamodel.yaml pour spécifier la nouvelle version et le répertoire source :
# Le numéro de révision du modèle doit être modifié lorsque des attributs sont ajoutés, supprimés ou modifiés
model:
revision: '4.1.1'
revision_date: "2025-08-26"
sources_dir: "exports/2025-08-26"Si ce n'est pas déjà fait, installez des outils gcdocs et gcover :
Avec conda (recommandé) :
conda install -c swisstopo gcdocs gcoverAvec pip :
pip install gcdocs gcoverExportez le schéma complet depuis la base de données ArcSDE :
gcover schema extract \
--filter-prefix "GC_" \
--output exports/<RELEASE-DIR>/GCOVERP.json \
"D:\connections\[email protected]"Convertissez le schéma complet ESRI en version simplifiée :
gcover schema transform-simple \
exports/<RELEASE-DIR>/GCOVERP.json \
-o exports/<RELEASE-DIR>/gcoverp_export_simple.jsonExportez toutes les tables de référence nécessaires :
gcover schema export-tables \
-w "H:/connections/[email protected]" \
-o exports/<RELEASE-DIR> \
--gc-tables-only
📋 Scanning for tables...
📊 Found 11 tables to export
• TOPGIS_GC.GC_CHRONO → CHRONO
• TOPGIS_GC.GC_LITHO → LITHO
• TOPGIS_GC.GC_GEOL_MAPPING_UNIT → GEOL_MAPPING_UNIT
• TOPGIS_GC.GC_TECTO → TECTO
• TOPGIS_GC.GC_LITSTRAT_UNCO → LITSTRAT_UNCO
• TOPGIS_GC.GC_GEOL_MAPPING_UNIT_ATT → GEOL_MAPPING_UNIT_ATT
• TOPGIS_GC.GC_COMPOSIT → COMPOSIT
• TOPGIS_GC.GC_ADMIXTURE → ADMIXTURE
• TOPGIS_GC.GC_CHARCAT → CHARCAT
• TOPGIS_GC.GC_CORRELATION → CORRELATION
• TOPGIS_GC.GC_LITSTRAT_FORMATION_BANK → LITSTRAT_FORMATION_BANKCette commande génère les fichiers suivants :
Geol_Mapping_Unit_Att.jsonGeol_Mapping_Unit.jsonCorrelation.jsonAdmixture.jsonComposit.jsonCharcat.jsonSystem.json
gcover schema diff -o R15_R16.json --format json exports/2025-11-25/geocover-schema-sde.json \
exports/2025-11-26/geocover-schema-sde.json
Copiez manuellement les fichiers statiques suivants dans le répertoire exports/<RELEASE-DIR>/ :
Note : Ces fichiers seront bientôt intégrés automatiquement dans le processus
geolcode_chrono.csvGeolCodeText_Trad_2025.xlsxSCHEMA_CHANGES_4.0-4.1.json
gcdocs generate -i exports/2025-08-26/ -o inputs --lang fr,de datamodel.yaml
Une fois tous les exports terminés, générez les documents finaux :
make pdfsor
gcdocs build --lang de --format pdf --input-dir inputs
Cette commande produit les fichiers PDF dans les langues configurées (français, allemand).
Vérifiez que les métadonnées du PDF généré sont correctes :
exiftool outputs/fr/datamodel.pdfSortie attendue :
ExifTool Version Number : 12.40
File Name : datamodel.pdf
Language : fr
Page Count : 425
Title : Modèle de donnée géologique 2D (GeoCover), Révision 4.1
Subject : Levé géologique de la Suisse
Author : Service géologique national — Office fédéral de topographie swisstopo
Keywords : GeoCover, Metadata, Model, GIS, Vector data, Geology, Switzerland, development
Model Revision : 4.1.1
Model Short Revision : 4.1
Git Hash : a858a3b
Create Date : 2025:08:27 21:41:58+03:00
- Pré-requis : L'export des données nécessite un accès à la base de données ArcSDE et l'environnement ArcGIS Pro avec
arcpy - Durée : Le processus complet peut prendre plusieurs minutes selon la taille de la base de données
- Sauvegarde : Il est recommandé de sauvegarder les exports précédents avant de générer une nouvelle version
- Validation : Vérifiez toujours les fichiers générés avant de les publier