# Detailansicht Planwerk

Im Fenster **Planwerk Details** lassen sich verschiedenen Funktionen und Inhalte abrufen, die einen einzelnen Plan in der Datenbank betreffen. Dabei wird immer der Plan in den Arbeitsbereich geladen, der im [Hauptdialog](<https://nti-de.github.io/SAGisXPlanung/elements/main-dialog.html>) in der Liste der Planwerke ausgewählt wurde.

Das Fenster **Planwerk Details** besteht aus den beiden Sektionen **Geometrieprüfung** und dem **Objektbaum**. Im oberen Bereich finden sich allgemeine Aktionen zum Anzeigen, Bearbeiten und Löschen des vorliegenden Plans.

#### Detailansicht für ein Planwerk öffnen

1. Gewünschtes Planwerk aus Liste im [Hauptdialog](<https://nti-de.github.io/SAGisXPlanung/elements/main-dialog.html>) wählen
2. Neben der Liste der Planwerke auf das Info-Symbol klicken

## Kartenanzeige

Jeder in der Datenbank erfasste Datensatz kann auf der QGIS-Karte visualisiert werden. Dabei wird eine standardmäßig konfigurierte Stilvorgabe und Layerreihenfolge des SAGis XPlanung angewendet. Eine Anpassung der individuelle Stile ist in den [Einstellungen](<https://nti-de.github.io/SAGisXPlanung/settings/symbology.html>) möglich.

#### Plan auf Karte anzeigen

- Mit dem Kartensymbol lässt sich der aktuell gewählte Plan auf der QGIS-Karte anzeigen

## Geometrieprüfung

Zur Erfassung eines qualitativ hochwertigen Planwerks ist topologisch korrektes Anlegen der Geometrien unerlässlich. XPlanung definiert hierfür einige Qualitätsvorgaben, die bei der Validierung einer XPlanGML-Datei geprüft werden. Mit der Geometrieprüfung unterstützt SAGis XPlanung die Einhaltung der Vorgaben zur korrekten geometrischen Erfassung.

Dies betrifft die folgenden Bedingungen:

- Geometrien sind valide nach [OGC Simple Feature Access](<https://www.ogc.org/standard/sfa/>) Standard
- Geometrien enthalten keine doppelten Stützpunkte
- Einhaltung des Flächenschlusskonzepts

> [!NOTE]
>
> **Was ist der Flächenschluss?**
>
> Bei der vollvektoriellen Erfassung muss der Zusammenschluss aller erfassten Flächen mit der Fläche des Geltungsbereichs übereinstimmen. Es dürfen keine Überlappungen oder Lücken zwischen den Flächen auftreten und keine Fläche darf den Umring des Geltungsbereichs übertreten. Angrenzende Objekte müssen sich an den Stützpunkten ihrer gemeinsamen Grenzen exakt berühren.

### Validierungsmethode

Über das Zahnrad-Symbol kann die Methode für die Geometrieprüfung ausgewählt werden.

- **Interne Validierung**

  ---

  Die Standardmethode von SAGis XPlanung zur schnellen Prüfung von Geometriefehlern.

  **Vorteile**

  - Sehr schnelle Ausführung direkt im QGIS/PostGIS
  - Fehler werden an gleichen Objekten zusammengefasst und dadurch übersichtlicher dargestellt
  - Gut geeignet für die laufende Bearbeitung eines Plans

  > **Hinweis**
  >
  > Die Ergebnisse der internen Methode entsprechen den Vorgaben des Standards XPlanung, dennoch stimmen Ergebnisse nicht zwangsläufig mit dem offiziellen Ergebnis des XPlanValidators überein, da ein anderer Prüfalgorithmus verwendet wird.
- **XPlanValidator**

  ---

  Offizielle Validierungsmethode der **XLeitstelle** durch Anbindung der Validator-API.

  **Vorteile**

  - Identische Fehlerergebnisse wie im offiziellen Validierungsprotokoll

  **Einschränkungen**

  - Langsamer als die interne Prüfung
  - Fehlermeldungen sind teilweise schwerer räumlich zu interpretieren

> [!TIP]
>
> **Empfohlene Verwendung**
>
> Verwenden Sie die **interne Validierung** während der Bearbeitung eines Plans für schnelle Rückmeldungen. Vor der Abgabe oder Veröffentlichung eines Plans empfiehlt sich zusätzlich eine Prüfung mit dem **XPlanValidator**, um die offiziellen Validierungsergebnisse zu erhalten.

#### Ausführen der Geometrieprüfung

1. Mit dem Button **Prüfung starten** den Prozess starten. Je nach Menge der erfassten Flächenschlussobjekte kann der Prozess einige Zeit in Anspruch nehmen
2. Sollte die Geometrieprüfung Fehler identifiziert haben, werden diese im Anschluss im Protokoll-Fenster angezeigt. Jede Fehlermeldung, kann durch einen Doppelklick auf die Fehlernachricht auf der Karte visualisiert werden.
3. Zum Beheben von Geometriefehlern können die [QGIS-Bearbeitungswerkzeuge](<https://docs.qgis.org/3.34/de/docs/user_manual/working_with_vector/editing_geometry_attributes.html>) verwendet werden.

#### Weitere Aktionen

<table markdown="span">         <tr markdown="span">             <th>Flächenschluss erzwingen</th>             <td>                 Die Funktion <b>Flächenschluss erzwingen</b> ermöglicht es, Flächen, die mit keiner Festsetzung                  konfiguriert sind, mit einem Objekt des Typ <code>BP_FlaecheOhneFestsetzung</code> oder                  <code>FP_FlaecheOhneDarstellung</code> zu füllen. Dies ist hilfreich, um die Flächenschlussbedingung zu                  erfüllen, wenn nicht die komplette Fläche des Geltungsbereichs mit vektoriell erfassten Planinhalten                  gefüllt werden kann.              </td>         </tr>         <tr markdown="span">             <th>Geltungsbereich aus Planinhalten berechnen</th>             <td>                 Die Funktion <b>Geltungsbereich aus Planinhalten berechnen</b> vereinigt die Geometrien aller Planinhalte                 der Flächenschlussebene (<code>flaechenschluss=true</code>) und setzt daraus den Geltungsbereich des                  Planwerks. Dieser Prozess erfolgt in zwei Schritten: <ol>                 <li>Anpassung aller <code>*P_Bereich</code>-Geometrien aus Vereinigung der enthaltenen Planinhalte</li>                 <li>Anpassung der <code>*P_Plan</code>-Geometrie aus Zusammenschluss der Bereiche des Plans</li>                 </ol>             </td>         </tr>     </table>

## Der Objektbaum

Der Objektbaum spiegelt die baumartige Struktur eines XPlanGML-Dokuments wider. Jeder XPlan-Datensatz besteht zunächst aus dem Grundobjekt `BP_Plan`/`FP_Plan`/etc. Diesem sind dann weitere Planinhalte zugeordnet. Dabei können einzelne Planinhalte wiederum anderen Inhalte zugeordnet sein, wodurch eine Baumstruktur entsteht.

Über den Objektbaum werden die folgenden Funktionen abgebildet:

- [Filtern und Sortieren der Planinhalte](<#filtern-und-sortieren>)
- [Bearbeiten von Sachdaten](<#bearbeiten-von-sachdaten>)
- [Hinzufügen neuer Datenobjekte](<https://nti-de.github.io/SAGisXPlanung/add-plancontent.html#datenobjekte>)
- [Löschen von einzelnen Inhalten](<#loschen-von-inhalten>)

### Filtern und Sortieren

Zur Navigation im Objektbaum, können alle erfassten Objekte sortiert und gefiltert werden. Zur Sortierung stehen die drei Optionen **Nach Objekthierarchie**, **Alphabetisch** und **Nach Kategorie** sortieren zur Verfügung (in Reihenfolge von links von rechts). Die standardmäßige Sortierung **Nach Objekthierarchie** spiegelt den Aufbau des XPlan-Datensatzes in der Struktur einer XPlanGML-Datei wider.

Mit dem Lupen-Symbol öffnet sich ein Suchfeld, das zum **Filtern** der angezeigten Objekte nach *Namen der Objektart* und *XPlanung-ID* genutzt werden kann.

### Bearbeiten von Sachdaten

Vollversion

> [!WARNING]
>
> Bearbeiten von Attributen ist in der Community-Version nur für Basisobjekte möglich.

1. Doppel-Klick auf einen Eintrag Objektbaum öffnet die Attribut-Ansicht
2. Doppel-Klick in eine Zelle der Spalte **Wert** öffnet einen Dialog zum Bearbeiten des gewählten Attributs
3. Gewünschte Anpassung am Attributwert eintragen und mit **Speichern** bestätigen

> [!TIP]
>
> Mit der Rückgängig-Funktion können letzte Änderungen an Attributen wieder gelöscht werden um den Datensatz in einen früheren Zustand zu versetzen.

> [!TIP]
>
> Funktion [*Mehrfachbearbeitung*](<https://nti-de.github.io/SAGisXPlanung/multi-edit.html>) für Änderungen an mehreren gleichen Planinhalten.

### Löschen von Inhalten

- Mit dem Mülleimer-Symbol im oberen Abschnitt des Fensters wird der gesamte Plan gelöscht

1. Objekte zum Löschen im Objektbaum auswählen (<kbd class="key-control">Ctrl</kbd> zur Mehrfachauswahl oder gesamten Bereich durch Ziehen der Maus markieren)
2. Mit der rechten Maustaste das Kontextmenü aufrufen
3. Mit **Planinhalt Löschen** werden gewählte Inhalte entfernt.

### Weitere Planinhalt-Aktionen

Der Objektbaum bietet weitere Funktionen, die auf einzelne erfasste Planinhalte angewendet werden können. Viele der Planinhalt-Aktionen können nur auf Objekten bestimmter XPlanung-Objektklassen oder Kategorien von Planinhalten ausgeführt werden.

1. Aufruf der Planinhalt-Aktionen über das Kontextmenü der Einträge im Objektbaum (Rechtsklick)

<table>  <br> <tr>       <th>Planinhalte</th>       <td>          <ul>             <li>                <i><a href="#loschen-von-inhalten">Planinhalt löschen</a></i>: Planinhalt aus der Datenbank entfernen                 (Bei Mehrfachauswahl werden alle gewählten Objekte gelöscht)             </li>             <li>                <i>Planinhalt auf Karte hervorheben</i>: Wenn der <a href="#kartenanzeige">Plan im Arbeitsbereich/Karte geladen</a>                ist, wird die Geometrie auf der Karte aufleuchten             </li>             <li>                <i><a href="https://nti-de.github.io/SAGisXPlanung/add-plancontent.html#datenobjekte-hinzufugen">Datenobjekt hinzufügen</a></i>             </li>             <br>             Bei Mehrfachauswahl:              <li>                <i><a href="https://nti-de.github.io/SAGisXPlanung/multi-edit.html">Gewählte Objekte bearbeiten</a></i>             </li>          </ul>       </td>    </tr> </table>

## Die Attributansicht

Die Attributansicht dient zur Anzeige und Bearbeitung aller fachlichen Eigenschaften eines einzelnen Planinhalts. In der Attributansicht werden sowohl einfache Attribute (z. B. Text, Zahlen, Auswahlwerte) als auch Beziehungen zu anderen Objekten übersichtlich dargestellt.

### Aufbau der Attributansicht

Die Attributansicht ist in mehrere Bereiche gegliedert:

- **Kopfbereich**

  - Anzeige der Objektart (z. B. `BP_BaugebietsTeilFlaeche`)
  - Icons zum Aufleuchten des Objekts auf der QGIS-Karte, sowie zum Fokussieren des Kartenausschnitts auf die Geometrie des Objekts
- **Filter- und Ansichtssteuerung**

  - **Suchen**: Textsuche über Attributnamen und Attributwerte
  - **Alle**: Anzeige aller Felder aus dem XPlanung-Datenmodell
  - **Beziehungen**: Anzeige ausschließlich von Relation zwischen XPlan-Objekten
  - **Attribut**: Anzeige ausschließlich einfacher Attribute
- **Attributtabelle**

  - Spalte **XPlanung-Attribut**: Name des Attributs gemäß XPlanung-Schema
  - Spalte **Wert**: Aktueller Attributwert bzw. Verweis auf verknüpfte Objekte

### Attributtypen

In der Attributansicht werden unterschiedliche Typen von Attributen dargestellt:

- **Einfache Attribute**  
  z. B. `uuid`, `text`, `rechtsstand`, `ebene`  
  → enthalten direkt editierbare Werte (Text, Zahlen, Auswahlwerte, Codelisten)
- **Beziehungen**  
  z. B. `gehörtZuBereich`, `wirdDargestelltDurch`  
  → verweisen auf andere XPlan-Objekte und zeigen die Anzahl der verknüpften Elemente an
- **Geometrieattribute**

  - `position`: zeigt den Geometrietyp (z. B. Polygon) und die Koordinaten
  - nicht editierbar, Bearbeitung erfolgt über die QGIS-Kartenwerkzeuge
