Gebäude vereinfachen (Cartography)
Zusammenfassung
Mit diesem Werkzeug werden Grenzen oder Grundrisse von Gebäudepolygonen unter Beibehaltung der wesentlichen Form und Größe vereinfacht.
Abbildung
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
Ältere Versionen: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)