ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Geometrie reparieren

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Überprüft jedes Feature in einer Feature-Class auf Geometrieprobleme. Bei Feststellung eines Geometrieproblems, wird eine Problemlösung angewendet, und eine einzeilige Beschreibung gedruckt, aus der das Feature und das Problem hervorgehen.

Gültige Eingaben sind Shapefiles sowie Feature-Classes aus Personal- und File-Geodatabases.

Weitere Informationen zum Überprüfen und Reparieren von Geometrien

Verwendung

    Vorsicht:

    Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge, die keine Ausgabe-Datasets erstellen.

  • Dieses Werkzeug verwendet zum Auswerten von Problemen bei der Feature-Geometrie die gleiche Logik wie das Werkzeug "Geometrie überprüfen".

  • Nachfolgend finden Sie eine Liste mit Geometrieproblemen und der entsprechenden Korrektur, die mit dem Werkzeug durchgeführt wird:

    • Null geometry: Der Datensatz wird aus der Feature-Class gelöscht. Um Datensätze mit NULL-Geometrie beizubehalten, deaktivieren Sie die Option Features mit NULL-Geometrie löschen (verwenden Sie die Option KEEP_NULL im Parameter delete_null in Python).
    • Short segment: Das kurze Segment der Geometrie wird gelöscht.
    • Incorrect ring ordering: Die Geometrie wird zwecks einer richtigen Ringanordnung aktualisiert.
    • Incorrect segment orientation: Die Geometrie wird zwecks einer richtigen Segmentausrichtung aktualisiert.
    • Self intersections: Die Überlappungsflächen in einem Polygon werden zusammengeführt.
    • Unclosed rings: Offene Ringe werden durch Verbindung ihrer Endpunkte geschlossen.
    • Empty parts: Teile ohne Wert oder mit NULL-Wert werden gelöscht.
    • Duplicate vertex: Einer der Stützpunkte wird gelöscht.
    • Mismatched attributes: Die Z- oder M-Koordinate wird aktualisiert, damit sie übereinstimmen.
    • Discontinuous parts: Aus einem diskontinuierlichen Abschnitt werden mehrere Abschnitte gebildet.
    • Empty Z values: Der Z-Wert wird auf 0 festgelegt.
    • Bad envelope: Der Envelope des Features wird zwecks Korrektur aktualisiert.
  • Nachdem eine der oben genannten Reparaturmaßnahmen durchgeführt wurde, wertet das Werkzeug die resultierende Geometrie erneut aus. Treten erneut Probleme auf, werden auch diese behoben. Das Ergebnis der Behebung einer Geometrie mit dem Problem Incorrect ring ordering kann zu einer Geometrie mit dem Problem Null geometry führen.

  • Das Problem bad dataset extent kann mit Geometrie reparieren nicht behoben werden. Führen Sie das Werkzeug Räumlichen Index hinzufügen für das Dataset aus, um dieses Problem zu lösen.

  • Feature-Geometrien werden durch Enterprise-Geodatabases regelmäßig überprüft und repariert, wenn die Features in die Datenbank hochgeladen werden. Daher ist die Verwendung der Werkzeuge Geometrie überprüfen und Geometrie reparieren bei Enterprise-Feature-Classes nicht erforderlich.

Syntax

RepairGeometry(in_features, {delete_null})
ParameterErklärungDatentyp
in_features

Die zu reparierende Feature-Class bzw. der zu reparierende Feature-Layer. Gültige Eingabe-Features sind Shapefiles sowie Feature-Classes aus Personal- und File-Geodatabases.

Feature Layer
delete_null
(optional)

Legt fest, welche Aktion für NULL-Geometrien ausgeführt werden soll.

  • DELETE_NULL — Features mit NULL-Geometrie werden aus der Eingabe gelöscht. Dies ist die Standardeinstellung.
  • KEEP_NULL — Features mit NULL-Geometrie werden nicht aus der Eingabe gelöscht.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
out_feature_class

Die aktualisierten Eingabe-Features.

Feature-Layer

Codebeispiel

RepairGeometry: Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion RepairGeometry im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.RepairGeometry_management("c:/data/sketchy.shp")
RepairGeometry: Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion RepairGeometry in einer Skriptumgebung.

# Description: 
#   Goes through the table generated by the Check Geometry tool and does 
#   the following
#   1) backs-up all features which will be 'fixed' to a "_bad_geom" feature class
#   2) runs repairGeometry on all feature classes listed in the table 

import arcpy
import os
 
# Table that was produced by Check Geometry tool
table = r"c:\temp\data.gdb\cg_sample1"
 
# Create local variables
fcs = []
 
# Loop through the table and get the list of fcs
for row in arcpy.da.SearchCursor(table, ("CLASS")):
    # Get the class (feature class) from the cursor
    if not row[0] in fcs:
        fcs.append(row[0])
 
# Now loop through the fcs list, backup the bad geometries into fc + "_bad_geom"
# then repair the fc
print("> Processing {0} feature classes".format(len(fcs)))
for fc in fcs:
    print("Processing " + fc)
    lyr = 'temporary_layer'
    if arcpy.Exists(lyr):
        arcpy.Delete_management(lyr)
    
    tv = "cg_table_view"
    if arcpy.Exists(tv):
        arcpy.Delete_management(tv)

    arcpy.MakeTableView_management(table, tv, ("\"CLASS\" = '%s'" % fc))
    arcpy.MakeFeatureLayer_management(fc, lyr)
    arcpy.AddJoin_management(lyr, arcpy.Describe(lyr).OIDFieldName, tv, "FEATURE_ID")
    arcpy.CopyFeatures_management(lyr, fc + "_bad_geom")
    arcpy.RemoveJoin_management(lyr, os.path.basename(table))
    arcpy.RepairGeometry_management(lyr)

Umgebungen

  • Aktueller Workspace
  • Ausdehnung

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen

  • Überblick über das Toolset "Features"
  • Überprüfen und Reparieren von Geometrien

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches