Im Anschluss an die Diskussion zu verbreiteten Wertebereichen in Basismodellen bin ich auf eine andere Problematik gestossen, von der ich kaum glauben kann, dass sich noch niemand damit befasst hat. Wertebereiche (WB) mit Lücken, erklärt an folgenden Beispielen:
- PLZ BL: Alle PLZ im Kt BL sind im Bereich 4052 .. 4719, ausser die Gemeinde Roggenburg die hat PLZ 2814.
- EGID BL: Neuere EGID haben den Wert 245000001 .. 248999999. Es gibt aber auch ältere EGID im Bereich 390001 .. 399999.
Eine Kombination (WB = WBa + WBb) lässt Interlis leider nicht zu.
Eine Subtraktion (WB = WBa - WBb) wäre in Interlis 2.4 mit CONSTRAINT möglich. Allerdings meldet ili2c jedesmal einen Fehler im CONSTRAINT, weil der Domainname unbekannt sei.
Ich habe kein Modell gefunden, welches einen CONSTRAINT auf einen Wertebereich anwendet. Am nächsten kommt die Gefahrenkartierung, aber auch dort wird der CONSTRAINT in Zeile 220 nicht in der Domain sondern in der Klasse definiert. Das ist bei einem Basismodell keine Option. Für die relativ überschaubaren PLZ und BFS-Nr wäre ggf. ein Katalog eine Möglichkeit, für EGID etc. fällt dies definitiv weg.
Ich bin gespannt auf eure Ideen und Überlegungen!