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 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

Verwenden von Klassen in Python

  • Verwenden von Klassen mit Geoverarbeitungswerkzeugen

Eine Klasse entspricht einem architektonischen Entwurf. Der Entwurf stellt die Grundlage für die Erstellung eines Objekts dar. Klassen können zum Erstellen von Objekten verwendet werden, die häufig als Instanz bezeichnet werden. ArcPy-Klassen, z. B. SpatialReference und Extent, werden häufig als Verknüpfungen zu vollständigen Parametern von Geoverarbeitungswerkzeugen verwendet, die andernfalls über eine kompliziertere Zeichenfolgenentsprechung verfügen würden.

ArcPy enthält mehrere Klassen, darunter SpatialReference, ValueTable und Point. Nach deren Instanziierung können die Eigenschaften und Methoden von Klassen verwendet werden. Klassen verfügen über eine oder mehrere Methoden, die als Konstruktoren bezeichnet werden. Ein Konstruktor ist eine Methode zum Initialisieren einer neuen Instanz einer Klasse. Im nachfolgenden Beispiel ist SpatialReference(prjFile) der Klassenkonstruktor – er erstellt das spatialRef-Objekt durch Lesen einer Projektionsdatei.

import arcpy

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

Wie die meisten anderen Klassen enthält SpatialReference eine Reihe von Methoden und Eigenschaften. Ausgehend vom vorherigen Beispiel können Sie auf die Eigenschaften von spatialRef zugreifen.

import arcpy

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

# Print the SpatialReference's name, and type
#
print(spatialRef.name)
print(spatialRef.type)

Klassen können wiederholt verwendet werden. Im folgenden Beispiel werden zwei eindeutige Punktobjekte mithilfe der Point-Klasse erstellt.

import arcpy

pointA = arcpy.Point(2.0, 4.5)
pointB = arcpy.Point(3.0, 7.0)
Hinweis:

Mit der CreateObject-Funktion können auch viele der Objekte erstellt werden, die mit Klassen erstellt werden können. Die Verwendung von Klassen ist jedoch einfacher und besser lesbar.

Verwenden von Klassen mit Geoverarbeitungswerkzeugen

Werkzeugparameter werden normalerweise mit einfachen Textzeichenfolgen definiert. Dataset-Namen, Pfade, Schlüsselwörter, Feldnamen, Toleranzen und Domänennamen können mit einer Zeichenfolge in Anführungszeichen angegeben werden.

Einige Parameter sind mithilfe von einfachen Zeichenfolgen jedoch schwieriger zu definieren, da es sich hierbei um komplexere Parameter handelt, die viele Eigenschaften erfordern. Anstatt diese Parameter mit langen, komplizierten Textzeichenfolgen zu definieren, können Sie Klassen verwenden (z. B. SpatialReference, ValueTable und Point-Klassen). Die Dokumentation jedes Werkzeugs enthält ein Skriptbeispiel, in dem beschrieben wird, wie die einzelnen Werkzeugparameter definiert und verwendet werden.

Im folgenden Beispiel wird ein SpatialReference-Objekt erstellt und zum Definieren des Ausgabe-Koordinatensystems einer neuen Feature-Class verwendet, die mit dem Werkzeug CreateFeatureClass erstellt wurde.

import arcpy

inputWorkspace = "c:/temp"
outputName =  "rivers.shp"

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

# Run CreateFeatureclass using the spatial reference object
#
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE", 
                                    spatial_reference=spatialRef)

Die entsprechende Zeichenfolge für diesen Parameter sieht in etwa wie folgt aus: PROJCS['North_America_Equidistant_Conic',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Equidistant_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-96.0],PARAMETER['Standard_Parallel_1',20.0],PARAMETER['Standard_Parallel_2',60.0],PARAMETER['Latitude_Of_Origin',40.0],UNIT['Meter',1.0]];IsHighPrecision

Verwandte Themen

  • Verwenden von Werkzeugen in Python
  • Verwenden von Funktionen in Python

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

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