Attribut Geometrie in STRUCTURE

Bei der Entwicklung eines Testdatensatzes ist der Entwickler auf folgendes Problem gestossen. Im Datenmodell ist eine Struktur beschrieben, die ein Attribut mit einer Geometrie enthält:

STRUCTURE Flaechenelement =
Geometrie: MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2
WITHOUT OVERLAPS > 0.002; …

Um mit INTERLIS 2.4 kompatibel zu sein, muss diese Geometrie im Format „HexOGC Binary“ ausgegeben werden, was aktuell nicht möglich zu sein scheint. Insbesondere scheinen dort die Kreisbögen ein Problem zu verursachen.
Ist schon mal jemand auf dieses Problem gestossen und kennt die Ursache oder noch besser die Lösung?

Woher stammt der Begriff „HexOGC Binary“? Dünkt mich nicht ein INTERLIS-Begriff zu sein. FME?

Jep
grafik

Dazu die Doku hier.

@geoverm Ich würde es mal mit FME Binary (FMEBIN) versuchen. Ich denke nicht, dass es ein INTERLIS 2.4-Problem ist. Ansonsten kannst du mal ein Beispiel-Workspace hier posten, wo das Problem isoliert nachgestellt ist.

Ich bin gerade daran einen Testdatensatz für den Strassennetzplan zu schreiben. Dies sind meine Einstellungen.


Die Daten werden korrekt geschrieben und ich kann sie mit dem ModelBaker fehlerfrei importieren.
Ich habe allerdings keinen CONSTRAINT darauf.

Hast du das Problem nur mit INTERLIS 2.4 oder auch mit 2.3?

Danke für die raschen Antworten. Das Datenmodell ist in INTERLIS 2.4 geschrieben und daher stellt sich die Frage für INTERLIS 2.3 nicht.

Das ili2fme-Handbuch empfiehlt die Nutzung von FMEBIN oder FMEXML für die Geometriecodierung. Selber habe ich schon mit mehreren Einstellungen gearbeitet, allerdings nur in INTERLIS 2.3. Ausserdem muss die gewünschte Geometriecodierung sowohl im Writer als auch im Transformer ausgewählt werden, sonst bleiben die Geometrien leer.

Wie ist denn die Situation / Fehlermeldung?

Die Fehlermeldung sieht folgendermassen aus:
Log_Control.log (2,8 KB)
Und das INTERLIS-Transferfile mit den Originaldaten:
0449000401_Original.itf (5,0 MB)

Fehlermeldung ist mehr oder weniger klar: ili2fme kann mit der Geometrie, die man ihm zum Frass vorwirft, nicht umgehen. Kenne mich aber in ili2fme zu wenig aus. Kreisbogen gehen mit FME, oder? Dann müsste man schauen, dass der WKB-Typ korrekt ist. Irgendwie ensteht die Geometrie, die geschrieben werden soll.

Alternativ zu den beiden bereits genannten FME-Transformern könnte man auch versuchen mit dem GeometryCoercer den genauen Geometrietyp festzulegen, welcher mit dem Interlis-Typ übereinstimmt.

Mein allgemeiner Lösungsansatz ist jeweils den FeatureCache zu aktivieren und dann Schritt für Schritt die Transformer zu prüfen, bis der Übertäter gefunden ist. Mit dem Preview und der Infoabfrage lassen sich die Geometrien recht gut analysieren.

Eventuell auch probieren, die Geometrien als Gegenvergleich in ein anderes Format (Geopackage?) zu schreiben und zu prüfen, ob dort der Fehler auch auftritt. Dann wäre es nicht ein ili2fme, sondern ein generelle FME-Problem.

Mit den reinen Rohdaten und der Fehlermeldung lässt sich dazu nicht mehr sagen, da müsste man schon den Workbench und das Datenmodell analysieren.

edit: was sagt der GeometryValidator zur Geometrie?

1 „Gefällt mir“

Danke vielmals für eure wertvollen Tipps.

In der Zwischenzeit wurde folgendes getestet:

  • Schreiben der Daten in Geopackage funktioniert einwandfrei
  • Export von Geometrien direkt in eine Klasse funktioniert einwandfrei
  • Export von Geometrien ohne Bögen in eine Struktur funktioniert einwandfrei

Der Export von Geometrien mit Bögen in eine STRUCTUR funktioniert nicht:

Parameter FME2ILI

Es liegt nahe, dass das FME-Plugin für die Bildung des XTF-Files nicht das gewünschte Resultat liefert.

Falls es ein Fehler vom FME-Plugin ist und es nicht zeitnah nicht gefixed werden kann (oder handelt es sich noch um fehlende INTERLIS 2.4-Unterstützung im FME-Plugin?), könnte man das Herstellen des Testdatensatzes auch anders bewältigen:

  • Herstellen einer leeren Geopackage-Datei mit ili2gpkg („–schemaimport“)
  • Befüllen der leeren Geopackage-Tabellen mittels FME.
  • Exportieren aus der Geopackage-Datei in eine XTF mittels ili2gpkg. („–export“)

In diesem Fall bietet es sich an, im ili2fme Repository auf github ein neues Issue zu eröffnen, dort die Problematik nochmals zu schildern und einen minimalen FME-Workspace bereitzustellen, wo das Problem nachvollzogen werden kann.