Arbeiten mit Geometrie in Python

Für alle Simple-Feature-Classes ist ein Geometriefeld erforderlich, in der Regel (aber nicht immer) Shape genannt. Die Funktion Describe kann verwendet werden, um den Namen des Geometriefeldes aus einer Feature-Class unter Verwendung der shapeFieldName-Eigenschaft abzurufen. Der Wert des Geometriefeldes ist ein Geometrieobjekt, und ein Geometrieobjekt verfügt über eine Reihe von Eigenschaften, die das Feature beschreiben. Das folgende Beispiel zeigt, wie jeweils ein Geometrieobjekt für jedes Linien-Feature in einer Feature-Class erstellt und die Summe der Längen gebildet wird:

Lesen von GeometrienSchreiben von Geometrien
import arcpy

inFeatures = "d:/base/data.gdb/roads"

# Create search cursor
#
rows = arcpy.SearchCursor(inFeatures)

# Calculate the total length of all roads
#
length = 0

shapeName = arcpy.Describe(inFeatures).shapeFieldName

# For each row, tally the length of the feature
#
for row in rows:
    feat = row.getValue(shapeName)
    length += feat.length

# Print the total length of all roads
#
print length

Eigenschaft

Erklärung

area

Die Fläche eines Polygons; leer für alle anderen Feature-Typen.

centroid

Der tatsächliche Schwerpunkt, wenn sich dieser innerhalb oder auf dem Feature befindet. Andernfalls wird der Label-Punkt zurückgegeben (gibt ein Punktobjekt zurück).

extent

Gibt ein Ausdehnungsobjekt zurück.

firstPoint

Die erste Koordinate des Features; gibt ein Punktobjekt zurück.

hullRectangle

Die Koordinatenpaare des Rechtecks für die konvexe Hülle.

isMultipart

"True", wenn die Anzahl der Teile für diese Geometrie größer als eins ist.

labelPoint

Der Punkt, an dem sich die Beschriftung befindet; gibt ein Punktobjekt zurück (labelPoint befindet sich immer in oder auf einem Feature).

lastPoint

Die letzte Koordinate des Features; gibt ein Punktobjekt zurück.

length

Die Länge des linearen Features; leer für die Feature-Typen "Point" und "Multipoint".

partCount

Die Anzahl der Geometrieteile des Features.

pointCount

Die Anzahl der Punktobjekte für den aktuellen Teil der Geometrie.

trueCentroid

Der Schwerpunkt für ein Feature; gibt ein Punktobjekt zurück.

type

Polygon, Polylinie, Punkt, Multipoint, Multipatch, Bemaßung, Annotation.

Geometrieeigenschaften

Methode

Erklärung

getPart({index})

Gibt ein Array von Punktobjekten für ein bestimmtes Teil der Geometrie oder ein Array mit mehreren Arrays (jeweils ein Array für jedes Teil der Geometrie) zurück.

Geometriemethoden

Verwandte Themen


7/10/2012