Gebäude vereinfachen (Kartografie)
Zusammenfassung
Mit diesem Werkzeug werden Grenzen oder Grundrisse von Gebäudepolygonen unter Beibehaltung der wesentlichen Form und Größe vereinfacht.
Bild
![]() |
Verwendung
Der Parameter Minimumfläche gilt nur für vereinfachte Gebäude. Gebäude, die nach dem Vereinfachungsprozess kleiner als die minimale Fläche sind, werden aus der Ausgabe-Feature-Class entfernt.
-
Die Ausgabe-Feature-Class enthält ein Feld mit dem Namen "BLD_STATUS", in dem der Vereinfachungsstatus wie folgt angegeben wird:
- 1 = ein einzelnes Gebäude wurde vereinfacht
- 2 = ein einzelnes Gebäude wurde auf das kleinste umgebende Rechteck vereinfacht
- 3 = ein Gebäude, das kleiner als die quadrierte Toleranz ist, wurde auf das kleinste umgebende Rechteck vereinfacht
- 5 = ein Gebäude, das nicht vereinfacht wurde
Veraltet:
In Versionen vor ArcGIS 10 steht BLD_STATUS = 4 für vereinfachte oder teilweise vereinfachte Gebäude, die mit geraden Linien verbunden sind. BLD_STATUS = 4 wird nicht mehr verwendet.
-
Wenn der Parameter Auf räumliche Konflikte überprüfen verwendet wird, erkennt das Werkzeug räumliche Konflikte und fügt ein neues Feld mit dem Namen "SimBldFlag" zur Ausgabe hinzu, in dem Konflikt-Flags gespeichert werden. Der Wert "0" bedeutet, dass kein Konflikt festgestellt wurde. Der Wert "1" weist auf einen Konflikt hin.
-
Dieses Werkzeug kann nicht in Editiersitzungen ausgeführt werden.
-
Z-Eingabewerte können beibehalten werden, sofern dies in den Umgebungseinstellungen angegeben ist. Wenn Ausgabe-Stützpunkte lagegleich mit Eingabe-Feature-Stützpunkten sind, werden Z-Werte auf Ausgabe-Stützpunkte übertragen. An anderen Stellen werden Z-Werte entweder von vorhandenen Z-Werten oder durch Interpolation abgeleitet.
-
Während des Vereinfachungsvorgangs erstellte ungültige (sich selbst schneidende) Geometrie wird repariert, aber nicht verbessert. Wenn sich z. B. ein Polygon selbst schneidet, wird das Polygon zu einem Multipart-Polygon, sieht aber nach wie vor wie ein sich selbst schneidendes Polygon aus.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die zu vereinfachenden Gebäude-Polygone. | Feature Layer |
out_feature_class |
Die zu erstellende Ausgabe-Feature-Class. | Feature Class |
simplification_tolerance |
Festlegung der Toleranz für die Gebäudevereinfachung. Die Toleranz muss angegeben und größer als null sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig wird die Feature-Einheit verwendet. | Linear unit |
minimum_area (optional) |
Festlegung der Mindestfläche für ein vereinfachtes Gebäude, das in Feature-Einheiten beizubehalten ist. Der Standardwert ist null, das heißt, alle Gebäude müssen beibehalten werden. Sie können eine bevorzugte Einheit angeben. Standardmäßig wird die Feature-Einheit verwendet. | Areal unit |
conflict_option (optional) |
Gibt an, ob eine Überprüfung hinsichtlich möglicher Konflikte zwischen Gebäuden (Überlappung oder Berührung) erfolgen soll.
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion "SimplifyBuilding" im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
Das folgende eigenständige Skript veranschaulicht, wie die Funktion "SimplifyBuilding" verwendet wird.
# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Buildings"
# Set local variables
inBuildingFeatures = "houses"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"
# Aggregate house polygons.
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100, "ORTHOGONAL")
# Simplify residential building polygons.
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100, CHECK_CONFLICTS)