Projekt XPlan-Tools
Unter dem Arbeitstitel XPlan-Tools entwickelt die XLeitstelle eine Python-Bibliothek, die das XPlanungsmodell in Python implementiert und nützliche Funktionen rund um XPlanungsdaten bereitstellen soll.
Das Fundament bilden dabei Pydantic Modelle der XPlanungsklassen, die derzeit mit dem Tool Datamodel Code Generator aus einem Shapechange-generierten JSON Schema des XPlanungsmodells (vgl. #6) erzeugt werden (ggf. wäre auch ein eigenes Shapechange Target hierfür sinnvoll). Hiermit können Xplanungsdaten aus verschiedenen Encodings deserialisiert, (syntaktisch) validiert und wieder in ein anderes Encoding serialisiert werden. Das Pydantic Model dient also als interne Repräsentation des XPlanungsmodells und bringt dabei verschiedene Funktionen mit, u.a. Abbildung der Objektattribute als Model Fields mit Typdefinitionen, Erzeugung des dazugehörigen JSON Schemas, Definition von eigenen Validatoren z.B. zur Umsetzung von Konformitätsbedingungen oder zur geometrischen Validierung.
Darauf aufbauend sind derzeit folgende Funktionen umgesetzt:
- Im-/Export von/nach GML, JSON-FG und Coretable (Postgres, SpatiaLite, GPKG)
- Versionsmigration von XPlanung v5 nach v6
In Umsetzung:
- Transformation von XPlanung v6.0 nach INSPIRE-PLU
Geplant:
- Versionsmigration v4 auf v5
- ggf. Erzeugung von stylesheedIds für Präsentationsobjekte
Das Projekt ist bisher als CLI-Tool implementiert, könnte aber auch mit geringem Aufwand als Rest-API oder Webanwendung bereitgestellt werden. Es wird derzeit noch als privates Repo auf OpenCoDE geführt, soll aber zeitnah Open Source gestellt werden.
Darüber hinaus kann es als Basis für eine QGIS-Integration (#10) dienen.