ilishaper + DMAV

Ich möchte mit ilishaper die Daten jedes einzelnen DMAV-Geodatensatzes aus dem Modell „DMAVTYM_Alles_V1_1“ extrahieren.

config.ini
[DMAVTYM_Alles_V1_1]
name=DMAV_Grundstuecke_V1_1

und Befehl
java -jar ilishaper-1.1.0.jar --deriveData --config config.ini --out dati_base.xtf DMAVTYM_Alles_V1_1.xtf

Ich erhalte jedoch JAVA-Fehlermeldungen wegen ungültiger Argumente.
Falls jemand die Lösung kennt, bedanke ich mich schon im Voraus.

Kannst du die Fehlermeldung hinzufügen?

Guten Tag,
leider habe ich keine Berechtigung, einen Anhang hochzuladen, daher hier die Fehlermeldung:

Info: ilifile <C:\Users\tdco006.ilicache\models.geo.admin.ch\V_D\DMAV_Gebaeudeadressen_V1_1.ili>
Info: ilifile <C:\Users\tdco006.ilicache\models.geo.admin.ch\V_D\DMAVTYM_Alles_V1_1.ili>
Info: assume unknown external objects
Info: validate simple boundaries
Exception in thread „main“ java.lang.IllegalArgumentException: unexpected Class ch.interlis.ili2c.metamodel.Expression$Inequality
at ch.ehi.ilishaper.IliGenerator.containsRefsWithSkippedElements(IliGenerator.java:323)
at ch.ehi.ilishaper.IliGenerator.containsRefsWithSkippedElements(IliGenerator.java:251)
at ch.ehi.ilishaper.IliGenerator.containsRefsWithSkippedElements(IliGenerator.java:195)
at ch.ehi.ilishaper.IliGenerator.collectSkipElements_Helper(IliGenerator.java:110)
at ch.ehi.ilishaper.IliGenerator.collectSkipElements_Helper(IliGenerator.java:118)
at ch.ehi.ilishaper.IliGenerator.collectSkipElements_Helper(IliGenerator.java:118)
at ch.ehi.ilishaper.IliGenerator.collectSkipElements_Helper(IliGenerator.java:118)
at ch.ehi.ilishaper.IliGenerator.collectSkipElements(IliGenerator.java:80)
at ch.ehi.ilishaper.XtfShaper.(XtfShaper.java:84)
at ch.ehi.ilishaper.DeriveData.deriveData(DeriveData.java:149)
at ch.ehi.ilishaper.Main.main(Main.java:163)

Ciao Fabio

ich glaube, dass ilishaper für das Splitten eines DMAV_alles.xtf nicht funktionieren wird. Die Fehlermeldung ist aber tatsächlich ein Fehler. Im Gebäudeadressen-Modell gibt es diesen Constraint:

MANDATORY CONSTRAINT CH121701:
(Lokalisation->Nummerierungsprinzip!=#keineNummern) OR
NOT(DEFINED(Gebaeudeeingang->Hausnummer));
END LokalisationGebaeudeeingang;

Dort gibt es ein „!=“. Das entspricht „ch.interlis.ili2c.metamodel.Expression$Inequality“ aus der Fehlermeldung. Die Behandlung von „Expression.Inequality“ ist meines Erachtens vergessen gegangen in ilishaper. Darum kommt dann die Fehlermeldung. Aber auch wenn das gefixed ist, glaube ich, dass es nicht funktionieren wird mit ilishaper.

Stefan

Vielen Dank, dass Sie sich Zeit für mich genommen haben. Wir werden versuchen, andere Tools zu nutzen, um das Ziel zu erreichen.

@tdco006
Ich habe unseren DMAV-Merger und -Splitter an die Version 1.1 angepasst:

Du kannst entweder die Jar-Datei verwenden oder das Binary für dein Betriebssystem.

./dmav split --fosnr=449 --input=/Users/stefan/Downloads/DMAVTYM_Alles_V1_1.xtf --out=/Users/stefan/Downloads/foo

Oder „java -jar dmav-0.0.13.jar --fosnr …“

„fosnr“ ist die BFS-Nummer. Wird nur für die Filenamen verwendet, die entstehen. Der Splitter erstellt aus einer „Alles“-Datei einzelne XTF-Dateien pro Modell.