Skip to content

Instantly share code, notes, and snippets.

@maxcollombin
Last active March 27, 2025 12:38
Show Gist options
  • Save maxcollombin/8f072be4b56a162925a98d275656ed6a to your computer and use it in GitHub Desktop.
Save maxcollombin/8f072be4b56a162925a98d275656ed6a to your computer and use it in GitHub Desktop.

Exercice guidé #1 - Création du modèle physique

Important

Lien vers la présentation.

L'intégralité des modèles présentés peuvent être téléchargés à partir de la ressource suivante : https://github.com/MediaComem/FGDM4GS/tree/main/WP2-WP3/model/Planungszonen_V1_1.

Sur la base des modèles créés, nous vous proposons maintenant un petit test avec ili2gpkg et GDAL afin d'analyer la portée de ce que nous venons de présenter.

Création du GPKG

java -jar ili2gpkg.jar --schemaimport --dbfile planungszonen.gpkg --createTidCol --createBasketCol models/Planungszonen_V2_d_A.ili

Tip

En lieu et place des commandes ili2gpkg, vous pouvez utiliser Model Baker dont la documentation est disponible ici.

Examiner ensuite le contenu du GPKG p.ex. avec la commande ogrinfo -so -al planunszonen.gkpg. Que constatez-vous ?

Tip

La vue relationnelle view_pz n'a pas été créée. Cette fonctionnalité n'est donc pas prise en charge par ili2db.

Nous allons maintenant répliquer artificiellement le comportement d'ili2db en prenant en tenant compte de la vue relationnelle.

Pour ce faire, nous vous proposons de revenir au modèle de départ Planungszonen_V1_1.ili et d'utiliser un xtf provenant de l'API STAC de geodienste.

Les xtf ayant été définis sur le modèle de base Planungszonen_V1_1, nous vous proposons de recréer le GPKG en conséquence.

java -jar ili2gpkg.jar --schemaimport --dbfile planungszonen.gpkg --createTidCol --createBasketCol models/Planungszonen_V1_1.ili

Note

A nouveau, en lieu et place d'ili2gpkg, Model Baker peut être utilié.

Import des données

Les données peuvent ensuite être importées dans le GPKG.

java -jar ili2gpkg.jar --update --dbfile planungszonen.gpkg --importTid --importBid --dataset Baseset --iliMetaAttrs NULL models/ZR_VS.xtf

Création de la vue relationnelle

Nous allons maintenant singer le fonctionnement d’ili2gpkg qui prendrait en compte la création de VIEW à l’aide d’une commande GDAL.

ogr2ogr -f GPKG -nln view_pz -sql "
SELECT
    p.geometrie AS geometry,
    p.publiziertab AS publiziert_ab,
    p.publiziertbis AS gueltig_bis,
    p.rechtsstatus AS rechtsstatus,
    p.bemerkungen AS bemerkungen,
    t.acode AS code_typ,
    t.bezeichnung AS bezeichnung_typ,
    t.abkuerzung AS abkuerzung_typ,
    t.festlegung_stufe AS festlegung_stufe_typ,
    t.bemerkungen AS bemerkung_typ
FROM 
    planungszone p
JOIN 
    typ_planungszone t 
ON 
    p.typpz = t.T_Id
" planungszonen.gpkg planungszonen.gpkg -update

On peut ensuite vérifier le tout avec GDAL (ou QGIS).

ogrinfo -so planungszonen.gpkg view_pz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment