Ili2fgdb: Domains und Relationship Classes

Ich habe ein wenig Liebe in ili2fgdb reingesteckt und rausgekommen ist die Unterstützung von Domains und Relationship Classes. Anbei eine beispielhafte FileGeodatabase basierend auf dem Datenmodell SO_AFU_ABBAUSTELLEN_20210630 • INTERLIS Model Finder • Kanton Solothurn Leider habe ich kein ArcGIS Pro o.ä. bei mir. Könnte jemand die FGDB auf Herz und Nieren testen?

abbaustellen.gdb.zip (84,7 KB)

Stefan

Toll. Danke für deinen Effort! Wir haben ArcGIS Pro im Einsatz und ich kann mir (falls dies nicht bereits geschehen ist) die fGDB anschauen.

sehr cool, danke schonmal! Hab die FGDB kurz geprüft, zwei Dinge sind mir aufgefallen:

  • INTERLIS_BOOLEAN hat den FieldType ‘Text’ statt ‘Long’ der von ILI2GDB für BOOLEAN verwendet wird
  • Attribute-Länge bei Typ ‘Text’ und NOT NULL Constraint bei MANDATORY werden nicht übernommen (vermutlich aber nicht durch deine Anpassungen bedingt?)

Weisst du btw was mit:

### Support Datentyp BOOLEAN ![](https://img.shields.io/badge/Prio1-red.svg?style=flat)

geht gar nicht! 
siehe: https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/an-overview-of-attribute-domains.htm

gemeint ist? Siehe Master-Issue auf Github. Boolean-Werte gibt es schon in FGDB aber nicht als Domain? Und was würde mans sich wünschen wie INTERLIS.BOOLEAN abgebildet wird?

Und was würde mans sich wünschen wie INTERLIS.BOOLEAN abgebildet wird?

Würde sagen, typischerweise Integer-Attribut mit Coded Value Domain [0, 1].

Und, jein – FGDB hat keine Boolean-Domains, denn: FGDB hat keinen Boolean field data type: ArcGIS Field Data Types. Vgl. auch https://community.esri.com/t5/data-management-ideas/add-a-boolean-field-type-to-personal-and-file/idc-p/1377935/highlight/true#M2337 (Kommentar Marcelo Marques).

(Hier noch der Link auf den von @edigonzales erwähnten “Master-Issue auf Github” bzw. das Readme, aus dem @edigonzales oben zitiert, falls jemand sucht: ili2fgdb Master-Issue und Readme.MD)

Bei File Geodatabase kenne ich aus der Praxis auch so wie @rsm es beschreibt. Coded Value Domain (Short Integer), 0=False, 1=True. Ich hab sie jeweils mit “BooleanDomain” bezeichnet. Es gibt aber leider keinen offiziellen Standard dafür.

Ein erster Wurf von ili2ofgdb gibt es hier: https://jars.sogeo.services/snapshots/ch/interlis/ili2ofgdb/5.5.2-SNAPSHOT/ili2ofgdb-5.5.2-20260227.145503-10-bindist.zip Es läuft nur mit Java 25.

Fast alle Tests von ili2db laufen durch, wobei ich nicht weiss, ob ich einige dahingehend verändert habe, dass sie nichts Sinnvolles mehr testen. Das muss man sich noch anschauen.

java -jar ili2ofgdb-5.5.2-SNAPSHOT.jar --defaultSrsCode 2056 --createGeomIdx --fgdbXyResolution 0.0001 --fgdbXyTolerance 0.0001 --fgdbCreateDomains --fgdbCreateRelationshipClasses --dbfile npl_2546.gdb --log npl_2546.log --models SO_ARP_Nutzungsplanung_Publikation_20201005 --doSchemaImport --import npl_2546.xtf

Liefert mir die angehängte FileGeodatabase.

npl_2546.gdb.zip (1,7 MB)

npl_2546.xtf.zip (3,0 MB)