Skip to content

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.

Edited by Tobias Kraft