Ungültige Geometrien bei der Pufferzonenfunktion

Was ist eine Pufferzonenfunktion

Eine wichtige Analysefunktion von Vektoren ist die Berechnung von Pufferzonen: um einen Standort wird ein Kreis berechnet, da sich bekanntlich der Kreis so definiert, dass alle Punkte den selben Abstand zum Zentrumspunkt haben. Bei einem linearen Objekt und bei Polygonen werden die Segmente versetzt und an Segmenten, die in einem Winkel größer als 180° zueinanderstehen mit Bogensegmenten verbunden. Überschneiden sich die Pufferzonen eines Layers, können die Ergebnisse einzelnen ausgegeben oder zu einem gemeinsamen Polygon verbunden werden. Dabei ist es möglich, dass die resultierenden Polygone Inseln haben, die auch umgangssprachlich als "Löcher" bezeichnet werden.

Pufferzonen in AutoCAD Map 3D

In AutoCAD Map 3D haben Sie Zugriff auf zwei verschiedene Werkzeuge, um Pufferzonen zu berechnen, je nachdem, welche Datenquelle zugrundeliegt:
- die Objekt-Pufferzone kommt zum Einsatz, wenn Sie Pufferzonen um CAD-Elemente bilden wollen
- die GIS-Objekt-Pufferzone wenden Sie auf Objekte von FDO-Geodatenquellen an

Dazu stellen Sie eine Verbindung zu einer vektorbasierten Geodatenquelle, z.B. einer ESRI-Shape her und fügen die Objektklasse zur Zeichnung hinzu. Mit Hilfe einer Abfrage zur Datenfilterung können Sie die darzustellenden Elemente einschränken.
Starten Sie den Befehl GIS-Objekt Pufferzone, klicken auf die Schaltfläche wählen und selektieren die Objekte, von denen Sie eine Pufferzone ableiten wollen.
Bestimmen Sie den Abstand, den alle Punkte der Pufferzone von den Ausgangsobjekten haben sollen. Dieser kann nicht dynamisch, sondern muss ausschließlich ein konstanter Wert sein.

Geben Sie abschließend an, wohin die Daten gespeichert werden sollen. Das ist entweder eine SDF oder eine SQLite-Datei. Außerdem bestimmen Sie, ob alle Pufferzonen einzeln oder überlappende Pufferzonen zu einer Geometrie zusammengeführt werden sollen. Klicken Sie auf OK, um den Vorgang zu beginnen.

Das Ergebnis der Berechnung

Der Ergebnisdatensatz verfügt über keinerlei Sachdaten. Relevant ist lediglich die Geometrie. Diese lässt sich nun beispielsweise für Verschneidungen weiterverwenden.

Das Problem mit fehlerhaften Geometrien

Doch die Geometrien der Pufferzonen können fehlerhaft sein, was Sie nicht auf den ersten Blick erkennen. Unglücklicherweise wird das erst deutlich, wenn Sie die Geometrie in weiteren Analyse-Werkzeugen weterverwenden. Im vorliegenden Fall wurden alle Offenlandflächen gesucht, die sich mit einem Mindestabstand von 460 Metern zu Siedlungsflächen befinden (Stichwort: Abstandsflächen, Suchräume). Die Pufferzone sollte dazu dienen, den gewünschten Abstand zu den Siedlungsflächen einzuhalten. Subtrahiert man also die Pufferzone von den zugrundeliegenden Offenlandflächen, bleiben demnach die Potentialflächen übrig. Soweit die Theorie.
Verwendet man die berechnete Pufferzone im Befehl GIS-Objekt-Überlagerung an, kann es passieren, dass das Ergebnis nicht den Erwartungen entspricht: im vorliegenden Fall blieben die Inseln unberücksichtigt, wie in der nachstehenden Kartendarstellung in den roten Kreisen zu sehen ist.


Es stellte sich heraus, dass nicht per se Inseln ignoriert werden, sondern dass die Inseln der berechneten Pufferzone ignoriert werden. Das ist insofern tragisch, als dass sich das nicht auf den ersten Blick erschließt, obwohl man dem aber vergleichsweise einfach begegnen kann.

Polygongeometrie ersetzen

Wir haben festgestellt, dass die Verschneidung dann erfolgreich ist, wenn zuvor die Polygongeometrie neu erstellt wird. Das geschieht in drei Schritten:
- Polygon auschecken und die Geometrie aus dem GIS-Objekt extrahieren
- Die extrahierte Geometrie ist ein MPolygon, welches soweit zerlegt wird, dass nur noch die Polylinien der einzelnen Ringe in der Zeichnung sind.
- Aus den einzelnen Polylinien der Ringe ein einzelnes AutoCAD Map-MPolygon erstellen und dieses dem GIS-Objekt zuweisen und abschließend das GIS-Objekt wieder einchecken.

Konkret gehen Sie im Einzelnen wie folgt vor:
- Markieren Sie das oder die GIS-Objekte des Pufferzonenlayers.
- Klicken Sie die rechte Maustaste und starten Sie im Kontextmenü den Befehl Objekt auschecken.
- Klicken Sie auf jedes einzelne ausgecheckte Objekt des Pufferzonenlayers und starten Sie im Kontextmenü den Befehl Geometrie aus Objekt extrahieren. Das geht nur Objekt für Objekt nur nicht mit allen Objekten des Layers auf einmal. Daher zahlt es sich aus, wenn alle Pufferzonen zu einem Objekt zusammengeführt wurden. Dabei entstehen mehrere MPolygone (obwohl nur eines erwartet wurde).
- Wenden Sie den Befehl Ursprung (_explode) auf alle MPolygone an.
- Starten Sie den Befehl MPOLYGON in der Befehlszeile und aktivieren Sie die Befehlszeilenoption Objekte auswählen. Markieren Sie alle Ringe (Polylinien) der Pufferzone. Dabei entsteht ein einziges MPolygon-Objekt mit mehreren Patches (Teilflächen) und Inseln (Löcher).
- Unter Verwendung der wechselnden Auswahl markieren Sie das GIS-Objekt der Pufferzone, klicken die rechte Maustaste und starten im Kontextmenü den Befehl Objekt aus Geometrie aktualisieren.
- Markieren Sie wie wieder unter Verwendung der wechselnden Auswahl das zuvor erstellte MPolygon-Objekt. Bestätigen Sie die Abfrage mit Ja, um das gewählte MPolygon-Objekt nach dem Vorgang zu löschen.
- Klicken Sie zum Abschluss noch einmal mit der rechten Maustaste auf das GIS-Objekt und starten im Kontextmenü den Befehl Objekt einchecken. Jetzt ist das geänderte Objekt in der Datenquelle gespeichert.

Wenn Sie nun noch einmal die Verschneidungsfunktion starten, werden Sie feststellen, dass die Verschneidung das erwartete Ergebnis liefert.

Viel Spaß beim Ausprobieren!


© 01/2024 Mensch und Maschine acadGraph GmbH. Alle Rechte vorbehalten