Read-only mirror of https://github.com/swisstopo/lg-geology-data-model — Bundesamt für Landestopografie. Issues & pull requests at the source.
  • Python 59.6%
  • HTML 31.8%
  • Jinja 4.1%
  • Makefile 2.6%
  • CSS 1.7%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Marc Mönneråt 97c540a0bc
Merge pull request #221 from swisstopo/feature/add_data_export_date
New DM for swissGeocover2d R18 (October 2026)
2026-08-25 17:43:28 +02:00
.github exporting all geolodes to xlsx 2026-08-24 11:21:05 +02:00
assets trying to match style with boreholes (#222) 2026-08-25 11:19:42 +02:00
doc add model translation 2024-04-15 15:19:06 +02:00
excel minor improvement to release date 2026-04-05 10:36:08 +02:00
migration Older schema (#99) 2024-11-06 18:34:29 +01:00
recipe summary 2025-08-30 13:36:27 +02:00
schema incorporating small tables keys/values in document flow 2025-06-12 16:16:32 +02:00
scripts exporting all geolodes to xlsx 2026-08-24 11:21:05 +02:00
sources schema changes 2026-08-23 19:56:33 +02:00
src Wrong title and typo 2026-08-25 15:22:24 +02:00
tests add minimal smoke tests (#198) 2026-04-04 17:08:12 +02:00
.gitignore relase v4.3.3 (#203) 2026-04-09 18:34:48 +02:00
CHANGELOG.md changlog 2026-08-23 12:03:43 +02:00
create_gv.py Cleanup attributes (#152) 2025-06-03 16:24:55 +02:00
DATA_RELEASES.yaml added data for schema 4.5 2026-08-23 12:44:58 +02:00
datamodel.yaml Wrong title and typo 2026-08-25 15:22:24 +02:00
DIAGRAM.md Generate diagram (#209) 2026-04-14 12:28:18 +02:00
environment.yaml add minimal smoke tests (#198) 2026-04-04 17:08:12 +02:00
extract_translations.py add support for IT and EN 2025-10-24 13:26:35 +02:00
HOWTO_RELEASE.md exporting all geolodes to xlsx 2026-08-24 11:21:05 +02:00
LICENSE.txt Conda package (#45) 2024-09-30 22:22:09 +02:00
Makefile exporting all geolodes to xlsx 2026-08-24 11:21:05 +02:00
MANIFEST.in Translation data (#100) 2024-11-06 22:54:36 +01:00
pyproject.toml moving translation into module 2026-04-11 14:30:16 +02:00
README.md V4.2.0 rc.1 (#175) 2025-11-27 13:52:33 +01:00
release.yaml added data for schema 4.5 2026-08-23 12:44:58 +02:00
REPLACEMENTS.txt diffs before/after KE 2025-05-26 21:31:25 +02:00
SCHEMA_CHANGES.yaml add meeting reference 2026-08-23 20:06:50 +02:00
setup.py replacing setup.py by pyproject.toml 2025-08-29 13:54:10 +02:00
translations.xlsx using templates 2026-04-05 14:15:31 +02:00
VERSION bumping version 2025-08-30 16:25:46 +02:00

Modèle de données géologiques

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, .html et .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 fichier PlantUML.

Installation

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).

Windows

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

Linux

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.

Fichier XLSX pour le mapping des attributs

python scripts/geology_tool_v4.0_with_cd_attributes.py

Le fichier sera écrit dans : outputs/geology_mapping_tool_v4.0.xlsx

Utilisation

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

Préparation

1. Création du répertoire de données

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

2. Configuration du modèle

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"

3. Installation de l'outil

Si ce n'est pas déjà fait, installez des outils gcdocs et gcover :

Avec conda (recommandé) :

conda install -c swisstopo gcdocs  gcover

Avec pip :

pip install gcdocs gcover

Export des données

1. Export du schéma de données

Exportez 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\GCOVERP@osa.sde"

2. Transformation en version simplifiée

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.json

3. Export des tables annexes

Exportez toutes les tables de référence nécessaires :

gcover schema export-tables \
  -w "H:/connections/GCOVERP@osa.sde" \
  -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_BANK

Cette commande génère les fichiers suivants :

  • Geol_Mapping_Unit_Att.json
  • Geol_Mapping_Unit.json
  • Correlation.json
  • Admixture.json
  • Composit.json
  • Charcat.json
  • System.json

4. Différences

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

4. Ajout des fichiers statiques

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.csv
  • GeolCodeText_Trad_2025.xlsx
  • SCHEMA_CHANGES_4.0-4.1.json

Génération des documents

Génération du fichier Markdown

 gcdocs generate -i exports/2025-08-26/  -o inputs --lang fr,de  datamodel.yaml

Génération des PDF

Une fois tous les exports terminés, générez les documents finaux :

make pdfs

or

gcdocs build --lang de --format pdf --input-dir inputs

Cette commande produit les fichiers PDF dans les langues configurées (français, allemand).

Vérification de la qualité

Validation des métadonnées PDF

Vérifiez que les métadonnées du PDF généré sont correctes :

exiftool outputs/fr/datamodel.pdf

Sortie 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

Notes importantes

  • 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