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

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr ...

Verwenden von Geometrieobjekten mit Geoverarbeitungswerkzeugen

  • Verwenden von Geometrie als Eingabe
  • Ausgeben von Geometrieobjekten

Bei vielen Workflows der Geoverarbeitung möchten Sie eventuell bestimmte Vorgänge mit Koordinaten- und Geometriedaten ausführen, jedoch nicht unbedingt eine neue (temporäre) Feature-Class erstellen, diese mit Cursorn füllen, die Feature-Class verwenden und dann die vorläufige Feature-Class wieder löschen. Sie können anstelle von Eingabe und Ausgabe auch Geometrieobjekte verwenden und so die Geoverarbeitung vereinfachen. Geometrieobjekte können von Grund auf neu mit Geometry-, Multipoint-, PointGeometry-, Polygon- oder Polyline-Classes erstellt werden.

Verwenden von Geometrie als Eingabe

Im folgenden Beispiel wird mit einer Liste von X- und Y-Koordinaten ein Polygon-Geometrieobjekt erstellt. Dann wird das Werkzeug Ausschneiden verwendet, um eine Feature-Class mit dem Polygon-Geometrieobjekt auszuschneiden.

import arcpy

# Create an Array object.
#
array = arcpy.Array()

# List of coordinates.
#
coordinates = [[1.0, 1.0], [1.0, 10.0], [10.0, 10.0], [10.0, 1.0]]

# For each coordinate set, create a point object and add the x- and 
#   y-coordinates to the point object, then add the point object 
#   to the array object.
#
for x, y in coordinates:
    pnt = arcpy.Point(x, y)
    array.add(pnt)

# Add in the first point of the array again to close the polygon boundary
#
array.add(array.getObject(0))

# Create a polygon geometry object using the array object
#
boundary = arcpy.Polygon(array)

# Use the geometry to clip an input feature class
#
arcpy.Clip_analysis('c:/data/rivers.shp', boundary, 'c:/data/rivers_clipped.shp')

Ausgeben von Geometrieobjekten

Ausgabegeometrieobjekte können erstellt werden, indem die Ausgabe eines Geoverarbeitungswerkzeugs auf ein leeres Geometrieobjekt festgelegt wird. Wenn ein Werkzeug ausgeführt wird, in dem ein leeres Geometrieobjekt festgelegt ist, gibt das Werkzeug eine Liste von Geometrieobjekten zurück. Im folgenden Beispiel wird das Werkzeug Features kopieren verwendet, um eine Liste von Geometrieobjekten zurückzugeben, die dann in einer Schleife durchlaufen werden kann, um die Gesamtlänge aller Features zu akkumulieren.

import arcpy

# Run the CopyFeatures tool, setting the output to a geometry object.  
#  geometries is returned as a list of geometry objects.
#  
geometries = arcpy.CopyFeatures_management('c:/temp/outlines.shp', arcpy.Geometry())

# Walk through each geometry, totaling the length
#
length = sum([g.length for g in geometries])

print('Total length: {}'.format(length))

Verwandte Themen

  • Zugreifen auf Daten mit Cursorn
  • Festlegen einer Abfrage in Python
  • Lesen von Geometrien
  • Schreiben 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