Deutsch

How To: Berechnen von Feature-Schwerpunkten

Zusammenfassung

Feature-Schwerpunkte können auf unterschiedliche Weise berechnet werden. Je nachdem, wie der Schwerpunkt berechnet werden muss, sind mehrere Methoden möglich: Berechnen der zentralen XY-Koordinaten der Features, Verwenden des Werkzeugs "Feature in Punkt" oder Verwenden von Python zum Abrufen der Schwerpunktkoordinaten. In den folgenden Anweisungen werden diese Methoden beschrieben.

Vorgehensweise

  • Berechnen der XY-Koordinaten des Features mit "Geometrie berechnen"
    Bei dieser Methode wird die Funktion "Geometrie berechnen" verwendet, um den Breitengrad (Y-Koordinate des Schwerpunktes) und den Längengrad (X-Koordinate) der Schwerpunkte zu finden und einen XY-Ereignis-Layer für deren Anzeige zu erstellen: How To: Suchen des Schwerpunktes von Polygonen mit "Geometrie berechnen".
  • Verwenden des Werkzeugs "Feature in Punkt" (Datenmanagement)
    Bei dieser Methode wird der Schwerpunkt des Polygons, der geometrische Mittelpunkt eines Features, verwendet. Bei Linien-, Polygon- oder dreidimensionalen Features ist dies das Massenzentrum (oder Gravitationszentrum), das innerhalb oder außerhalb des Features liegen kann. Bei Multipoint-, Polylinien- oder Polygon-Feature-Classes wird der Schwerpunkt mithilfe des gewichteten arithmetischen Mittelpunktes aller Feature-Teile berechnet.
    Hinweis:
    Das Werkzeug "Feature in Punkt" ist nur bei der Lizenzstufe Advanced Desktop oder ArcInfo verfügbar.
    Das Werkzeug "Feature in Punkt" wird verwendet, um eine neue Feature-Class mit Punkten, die aus den repräsentativen Positionen von Eingabe-Features generiert wurden, zu erstellen. Die Algorithmen für die jeweilige Berechnung sind proprietär. Es werden jedoch zwei grundlegende Konzepte verwendet.

    Das Werkzeug berechnet den Schwerpunkt einer Multipoint-, Linien- oder Polygon-Eingabe anhand eines schwerpunktbasierten Algorithmus. Bei der Schwerpunktberechnung wird das Modell des geometrischen Mittelpunktes verwendet, um die neue Point-Feature-Class als Ausgabe zu erstellen. Bei Linien, Polygonen oder dreidimensionalen Features ist dies das Massenzentrum (oder Gravitationszentrum), das innerhalb oder außerhalb des Features liegen kann. Bei Multipoint-Features, Polylinien oder Polygonen mit mehreren Teilen wird dieser Wert mithilfe des gewichteten arithmetischen Mittelpunkts aller Feature-Teile berechnet.

    In den Werkzeugparametern gibt es eine Option zum Berechnen des Schwerpunktes, der innerhalb der Feature-Grenzen liegt. Diese Option kann mit dem Feld für 'Innerhalb' aktiviert werden. Nach der Aktivierung dieses Parameters berechnet das Werkzeug einen Schwerpunkt, der innerhalb der Feature-Grenzen liegt. Wenn er ursprünglich außerhalb der Grenzen lag, wird dieser Punkt an das angepasst, was als Gravitationszentrum innerhalb der Grenzen betrachtet wird.
     
  • Verwenden von Python zum Berechnen und Erstellen von Schwerpunktkoordinaten
    Im folgenden Beispiel wird das Datenzugriffsmodul verwendet, um mit dem SHAPE@XY-Token die Koordinaten des Schwerpunktes abzurufen. Diese Koordinaten werden dann verwendet, um eine Punktgeometrie zu erstellen, die danach in eine neue Feature-Class geschrieben wird.
    Hinweis:
    Die Datenzugriffs-Cursor sind erst ab ArcGIS 10.1 verfügbar. Alternative Workflows für Version 10.x finden Sie unter Lesen von Geometrien und Schreiben von Geometrien.
    Code:
    
    import arcpy
    
    input_fc = "C:\\temp\\geodatabase.gdb\\states"
    output_fc = "C:\\temp\\geodatabase.gdb\\state_centroids"
    
    cursor = arcpy.da.SearchCursor(input_fc, "SHAPE@XY")
    centroid_coords = []
    for feature in cursor:
     centroid_coords.append(feature[0])
    
    point = arcpy.Point()
    pointGeometryList = []
    
    for pt in centroid_coords:
     point.X = pt[0]
     point.Y = pt[1]
    
     pointGeometry = arcpy.PointGeometry(point)
     pointGeometryList.append(pointGeometry)
    
    arcpy.CopyFeatures_management(pointGeometryList, output_fc)

Referenzinformationen