Attribut/Feld einer Klasse in der Datenstruktur nicht auffindbar

Hoi zäme
Ich erstelle mit QGIS Model Baker oder ili2db ein Schema für das Modell Gewaesserraum_V1_1.
Gemäss Modell und auch gemäss UML-Klassendiagramm in der Doku gibt es in der Klasse Dokument das Attribut/Feld „TextImWeb“.

Leider finde ich nun dieses Feld nicht in den neu generierten Tabellen. Ich würde es in der Tabelle der Klasse Dokument erwarten. Wird es anderswo abgebildet weil es als MultilingualUri definiert ist?

image

image

Vielen Dank für eure Hilfe. Viktor

Der Typ MultilingualText ist eine Struktur, die aus einer Liste von LocalisedText besteht. Diese wiederum sind ebenfalls Strukturen, die aus dem Text und dem Sprachcode bestehen.
Diese Zusammensetzung wird in der DB auf mehrere Tabellen verteilt. Effektiv erfasst man die einzelnen Texte+Sprachcodes in einer Tabelle localisedtext. Dann muss man diese via Referenzierung zu multilingualtext zusammensetzen (und wenn ich mich recht erinnere, diese in der Haupt-Tabelle ebenfalls referenzieren).
ili2pg kann nur bei den Multigeometrien gescheit unterstützen, weil es solche Typen originär in PostGIS gibt. Alles andere „Multi-…“ muss man bei der Datenerfassung selbst zusammensetzen.

Super Peter, vielen Dank für die schnelle und kompetente Antwort! :slightly_smiling_face:

Ich dachte, dass das auch mit der Uri geht. Man macht sich eine INI-Datei und definiert dort eine Metaattribute.

[Model1.Topic1.Structure1]

ili2db.mapping=Multilingual

Das in der eckigen Klammer müsste man anpassen.

Dann mit ili2pg: java -jar ili2pg.jar --iliMetaAttrs metattrs.ini .....

Siehe auch Hilfetext unter ili2db/docs/ili2db.rst at master · claeis/ili2db · GitHub → Suche nach „–iliMetaAttrs filename“.

1 „Gefällt mir“

Mit der Einbindung des INI-Files hat das funktioniert. D.h. ich habe nun das Feld „TextImWeb“ in den verschiedenen Sprachen in der DB-Tabelle für die Klasse Dokument.
Vielen Dank Stefan!

[Gewaesserraum_V1_1.GewR.MultilingualUri]
ili2db.mapping=Multilingual

Im Model-Baker-Dialog kann das INI-File auch angegeben werden :+1:t3:

In LocalisationCH_V2 smart mapping by domi-b · Pull Request #550 · claeis/ili2db · GitHub wurde dieser praktische Mechanismus auch für 2.4-Modelle implementiert.
(sponsered by Kt. SH - merci!)