wiki/mandates/pek/datenmodell/datenmodell-schema.json
ValueOn AG 15f0e51bd0 pek
2025-10-24 21:42:47 +02:00

462 lines
12 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Architektur-Planungs-App Datenmodell",
"version": "1.0",
"definitions": {
"Projekt": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Projekt-ID"
},
"label": {
"type": "string",
"description": "Projektbezeichnung"
},
"statusProzess": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Eingang",
"Analyse",
"Studie",
"Planung",
"Baurechtsverfahren",
"Umsetzung",
"Archiv"
]
},
"description": "Aktuelle(r) Projektstatus/-stati"
},
"perimeter": {
"type": "array",
"items": {
"$ref": "#/definitions/Parzelle"
},
"description": "Parzellen im Projektperimeter"
},
"dokumenteBauherrschaft": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Dokumente der Bauherrschaft"
},
"dokumentePlanung": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Planungsdokumente"
},
"geoBaulinie": {
"type": "array",
"items": {
"$ref": "#/definitions/GeoPunkt"
},
"description": "Geografische Punkte der Baulinie"
},
"kontextInformationen": {
"type": "array",
"items": {
"$ref": "#/definitions/Kontext"
},
"description": "Kontextuelle Projektinformationen"
}
},
"required": ["id", "label"]
},
"Dokument": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Dokument-ID"
},
"label": {
"type": "string",
"description": "Dokumentbezeichnung"
},
"versionsbezeichnung": {
"type": "string",
"description": "Versionsnummer oder -bezeichnung"
},
"typ": {
"type": "string",
"enum": ["Datei", "Url"],
"description": "Art des Dokuments"
},
"format": {
"type": "string",
"description": "Dateiformat (z.B. PDF, DWG, URL)",
"examples": ["PDF", "DWG", "IFC", "DXF", "URL"]
},
"tags": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
},
"description": "Kategorisierungs-Tags"
},
"dokumentReferenz": {
"type": "string",
"description": "Pfad oder URL zum Dokument"
}
},
"required": ["id", "label", "typ", "dokumentReferenz"]
},
"Tag": {
"type": "string",
"enum": [
"Kataster Objekte",
"Kataster Werkeleitungen",
"Kataster Belastete Standorte",
"Kataster Bäume",
"Zonenplan",
"Planungs- und Baugesetz (PGB)",
"Bau- und Zonenordnung (BZO)",
"Parkplatzverordnung",
"Eigentümerauskunft",
"Grundbuchauszug"
],
"description": "Vordefinierte Dokumentkategorien"
},
"Parzelle": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Parzellen-ID"
},
"label": {
"type": "string",
"description": "Parzellenbezeichnung"
},
"parzellenNummern": {
"type": "array",
"items": {
"type": "string"
},
"description": "Offizielle Parzellennummern"
},
"eigentuemerschaaft": {
"type": "string",
"description": "Eigentümer der Parzelle"
},
"nachbarEigentuemer": {
"type": "array",
"items": {
"$ref": "#/definitions/Parzelle"
},
"description": "Angrenzende Parzellen"
},
"kontextLand": {
"$ref": "#/definitions/Land",
"description": "Land der Parzelle"
},
"kontextKanton": {
"$ref": "#/definitions/Kanton",
"description": "Kanton der Parzelle"
},
"kontextGemeinde": {
"$ref": "#/definitions/Gemeinde",
"description": "Gemeinde der Parzelle"
},
"kontextInformationen": {
"type": "array",
"items": {
"$ref": "#/definitions/Kontext"
},
"description": "Parzellenspezifische Kontextinformationen"
},
"strasseNr": {
"type": "string",
"description": "Straße und Hausnummer"
},
"geoUmfang": {
"type": "array",
"items": {
"$ref": "#/definitions/GeoPunkt"
},
"description": "Geografische Umfangspunkte der Parzelle"
},
"bauzone": {
"type": "string",
"description": "Bauzonenbezeichnung"
},
"spezifischeDokumente": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Parzellenspezifische Dokumente"
},
"hochwasserschutzzone": {
"type": "string",
"description": "Hochwasserschutzzone (falls zutreffend)"
},
"laermschutzzone": {
"type": "string",
"description": "Lärmschutzzone"
},
"grundwasserschutzzone": {
"type": "string",
"description": "Grundwasserschutzzone (falls zutreffend)"
},
"parzelleBebaut": {
"$ref": "#/definitions/JaNein",
"description": "Ist die Parzelle bebaut?"
},
"parzelleErschlossen": {
"$ref": "#/definitions/JaNein",
"description": "Ist die Parzelle erschlossen?"
},
"hanglage": {
"$ref": "#/definitions/JaNein",
"description": "Liegt die Parzelle in Hanglage?"
},
"az": {
"type": "number",
"description": "Ausnützungsziffer"
},
"bz": {
"type": "number",
"description": "Bebauungsziffer"
},
"vollgeschossZahl": {
"type": "integer",
"description": "Anzahl zulässiger Vollgeschosse"
},
"anrechenbarDachgeschoss": {
"type": "number",
"description": "Anrechenbarer Anteil Dachgeschoss"
},
"anrechenbarUntergeschoss": {
"type": "number",
"description": "Anrechenbarer Anteil Untergeschoss"
},
"gebaeudehoehe_max": {
"type": "number",
"description": "Maximale Gebäudehöhe in Metern"
},
"regelnGrenzabstand": {
"type": "string",
"description": "Regelungen zum Grenzabstand"
},
"regelnMehrlaengenzuschlag": {
"type": "string",
"description": "Regelungen zum Mehrlängenzuschlag"
},
"regelnMehrhoehenzuschlag": {
"type": "string",
"description": "Regelungen zum Mehrhöhenzuschlag"
}
},
"required": ["id", "label"]
},
"Gemeinde": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Gemeinde-ID"
},
"label": {
"type": "string",
"description": "Gemeindename"
},
"plz": {
"type": "string",
"description": "Postleitzahl"
},
"dokumente": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Gemeindedokumente"
},
"kontextInformationen": {
"type": "array",
"items": {
"$ref": "#/definitions/Kontext"
},
"description": "Gemeindespezifische Kontextinformationen"
},
"bzoAktuell": {
"$ref": "#/definitions/Dokument",
"description": "Aktuelle Bau- und Zonenordnung"
},
"bzoRevision": {
"$ref": "#/definitions/Dokument",
"description": "BZO in Revision"
}
},
"required": ["id", "label"]
},
"Kanton": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Kanton-ID"
},
"label": {
"type": "string",
"description": "Kantonsname"
},
"dokumente": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Kantonale Dokumente"
},
"kontextInformationen": {
"type": "array",
"items": {
"$ref": "#/definitions/Kontext"
},
"description": "Kantonsspezifische Kontextinformationen"
},
"baureglementAktuell": {
"$ref": "#/definitions/Dokument",
"description": "Aktuelles Baureglement"
},
"baureglementRevision": {
"$ref": "#/definitions/Dokument",
"description": "Baureglement in Revision"
},
"bauverordnungAktuell": {
"$ref": "#/definitions/Dokument",
"description": "Aktuelle Bauverordnung"
},
"bauverordnungRevision": {
"$ref": "#/definitions/Dokument",
"description": "Bauverordnung in Revision"
}
},
"required": ["id", "label"]
},
"Land": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Land-ID"
},
"label": {
"type": "string",
"description": "Landesname"
},
"dokumente": {
"type": "array",
"items": {
"$ref": "#/definitions/Dokument"
},
"description": "Nationale Dokumente"
},
"kontextInformationen": {
"type": "array",
"items": {
"$ref": "#/definitions/Kontext"
},
"description": "Nationale Kontextinformationen"
}
},
"required": ["id", "label"]
},
"GeoPunkt": {
"type": "object",
"properties": {
"x": {
"type": "number",
"description": "X-Koordinate (Ost)"
},
"y": {
"type": "number",
"description": "Y-Koordinate (Nord)"
},
"z": {
"type": "number",
"description": "Z-Koordinate (Höhe)"
},
"referenzen": {
"type": "array",
"items": {
"$ref": "#/definitions/GeoTag"
},
"description": "Kategorisierung des Geopunkts"
}
},
"required": ["x", "y"]
},
"GeoTag": {
"type": "string",
"enum": [
"Referenzpunkt Kat. 1",
"Referenzpunkt Kat. 2",
"Referenzpunkt Kat. 3",
"Geometeraufnahme"
],
"description": "Kategorien für Geopunkte"
},
"JaNein": {
"type": "string",
"enum": ["", "Ja", "Nein"],
"description": "Ja/Nein/Leer Wert"
},
"Kontext": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Eindeutige Kontext-ID"
},
"thema": {
"type": "string",
"description": "Thema der Kontextinformation",
"examples": [
"Vorgaben zur Erdgeschossnutzung",
"Dienstbarkeiten",
"Anforderung Parkplätze",
"Ausnützungsübertragungen",
"Schadstoffbelastungen auf Parzellen",
"Aktive Gestaltungspläne",
"Lärmempfindlichkeitsstufen",
"Mögliche Wärmenutzung",
"Baumbestand auf privaten Grundstücken",
"Isos (Ortsbild, Schutzstatus, Denkmalschutz, Weilergebiet, etc.)",
"Naturgefahren",
"Verweis auf Revisionen"
]
},
"inhalt": {
"type": "string",
"description": "Detaillierter Inhalt der Kontextinformation"
}
},
"required": ["id", "thema", "inhalt"]
}
}
}