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

Zugreifen auf Lizenzen und Erweiterungen in Python

  • Desktop- und Engine/Server-Lizenzen
  • Erweiterungslizenzen
  • Lizenzierungsfunktionen

Immer wenn ein Werkzeug in einem Skript ausgeführt wird, ist eine ArcGIS-Lizenz erforderlich. Für Werkzeuge aus ArcGIS-Erweiterungen wie der Erweiterung "ArcGIS Spatial Analyst" ist eine zusätzliche Lizenz für die jeweilige Erweiterung erforderlich. Falls die benötigten Lizenzen nicht verfügbar sind, schlägt die Ausführung eines Werkzeugs fehl und Fehlermeldungen werden ausgegeben. Wenn Sie beispielsweise eine Installation mit einer ArcGIS Desktop Basic-Lizenz ausführen und versuchen, ein Werkzeug auszuführen, das eine Desktop Standard- oder Desktop Advanced-Lizenz erfordert, scheitert die Ausführung des Werkzeugs.

Bei Verwendung einer ArcGIS Desktop Basic- oder Desktop Standard-Lizenz, muss ein Skript das Produkt auf Desktop Basic oder Desktop Standard festlegen. Bei der Verwendung einer Engine- oder EngineGeoDB-Lizenz muss ein Skript das Produkt entsprechend auf Engine bzw. EngineGeoDB festlegen. Wenn keine Lizenz ausdrücklich festgelegt ist, wird die Lizenz beim ersten Zugriff auf ein ArcPy-Werkzeug, eine –Funktion oder eine –Klasse in Abhängigkeit von der höchsten verfügbaren Lizenzstufe initialisiert.

Jedes Werkzeug führt eine Überprüfung durch, um sicherzustellen, dass die entsprechende Lizenz vorliegt. Ist dies nicht der Fall, schlägt die Ausführung fehl. Um zu verhindern, dass die Ausführung zum Teil erfolgt und dann fehlschlägt, können Sie am Anfang des Skripts eine Überprüfung durchführen, damit das Fehlschlagen gleich erkannt wird.

Tipp:

Die Einstellung des Produkts und der Erweiterungen ist nur innerhalb eigenständiger Skripte erforderlich. Wenn Sie Werkzeuge im Python-Fenster ausführen oder Skriptwerkzeuge verwenden, wird das Produkt bereits in der Anwendung festgelegt und die aktiven Erweiterungen basieren auf dem Dialogfeld "Erweiterungen".

Desktop- und Engine/Server-Lizenzen

Produktmodule werden vor dem Import von ArcPy importiert, um die von einem Skript verwendete Desktop-Lizenz zu definieren. Mit der Funktion CheckProduct können Sie die Verfügbarkeit von Desktop-Lizenzen überprüfen, und die Funktion ProductInfo meldet die aktuelle Produktlizenz.

Ältere Versionen:

Es ist ratsam, die Produktebene festzulegen, indem Sie das entsprechende Produktmodul (arcinfo, arceditor, arcview, arcserver, arcenginegeodb oder arcengine) vor dem Importieren von ArcPy importieren. Die Funktion SetProduct ist eine Legacyfunktion, die das Produkt nicht festlegen kann, nachdem ArcPy importiert wurde.

Erweiterungslizenzen

Lizenzen für Erweiterungen können von einem Lizenzmanager abgerufen und zurückgegeben werden, wenn sie nicht mehr erforderlich sind. CheckExtension wird verwendet, um zu überprüfen, ob eine Lizenz zum Auschecken für einen bestimmten Typ von Erweiterung verfügbar ist. Mit CheckOutExtension wird die Lizenz tatsächlich abgerufen. Nachdem die Erweiterungslizenz vom Skript abgerufen wurde, können die Werkzeuge der betreffenden Erweiterung ausgeführt werden. Nachdem ein Skript die Werkzeuge einer bestimmten Erweiterung ausgeführt hat, sollte die Lizenz mit der Funktion CheckInExtension an den Lizenzmanager zurückgegeben werden, sodass diese von anderen Anwendungen verwendet werden kann. Alle ausgecheckten Erweiterungslizenzen und festgelegten Produktlizenzen werden nach Abschluss eines Skriptes an den Lizenzmanager zurückgegeben.

Im folgenden Beispiel werden Werkzeuge von ArcGIS 3D Analyst ausgeführt und die Desktop-Produktlizenz wird auf ArcGIS Desktop Basic festgelegt, da eine ArcGIS Desktop Advanced-Lizenz für die Ausführung von Erweiterungswerkzeugen nicht erforderlich ist. Das Skript schlägt fehl, wenn die ArcGIS Desktop Basic-Lizenz nicht ausdrücklich festgelegt und keine ArcGIS Desktop Advanced-Lizenz verfügbar ist, da für die Ausführung von Erweiterungswerkzeugen eine Desktop-Lizenz erforderlich ist.

class LicenseError(Exception):
    pass

# Set desktop license used to Basic (keyword is arcview)
#
import arcview
import arcpy

try:
    if arcpy.CheckExtension("3D") == "Available":
        arcpy.CheckOutExtension("3D")
    else:
        # Raise a custom exception
        #
        raise LicenseError
    
    arcpy.env.workspace = "D:/GrosMorne"
    arcpy.HillShade_3d("WesternBrook", "westbrook_hill", 300)
    arcpy.Aspect_3d("WesternBrook", "westbrook_aspect")

except LicenseError:
    print("3D Analyst license is unavailable")
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))
finally:
    # Check in the Erweiterung "ArcGIS 3D Analyst"
    #
    arcpy.CheckInExtension("3D")

Im Beispiel oben wird die Erweiterung "ArcGIS 3D Analyst" nach einer finally-Klausel aktiviert. Dadurch wird sichergestellt, dass die Erweiterung unabhängig von Fehlern aktiviert ist.

Wenn der Wert Failed, Unavailable oder NotLicensed zurückgegeben wird, gibt dies an, dass die Erweiterung nicht erfolgreich deaktiviert werden konnte.

Im Folgenden sind die Namen der Erweiterungen und die zugehörigen Erweiterungscodes aufgeführt:

ErweiterungErweiterungscode

Erweiterung "ArcGIS 3D Analyst"

3D

Erweiterung "ArcGIS Data Interoperability for Desktop"

DataInteroperability

ArcGIS Data Reviewer for Desktop

Datareviewer

ArcGIS for Aviation: Airports

Flughäfen

ArcGIS for Aviation: Charting

Aeronautical

ArcGIS for Maritime: Bathymetry

Bathymetry

ArcGIS for Maritime: Charting

Nautical

Erweiterung "ArcGIS Geostatistical Analyst"

GeoStats

Erweiterung "ArcGIS Network Analyst"

Netzwerk

Erweiterung "ArcGIS Spatial Analyst"

Räumlich

Erweiterung "ArcGIS Schematics"

Schematics

Erweiterung "ArcGIS Tracking Analyst"

Verfolgung

ArcGIS Workflow Manager for Desktop

JTX

ArcScan

ArcScan

Business Analyst

Unternehmen

Esri Defense Mapping

Militär

Esri Production Mapping

Foundation

Esri Roads and Highways

Fernstraßen

StreetMap

StreetMap

Produktcodenamen

Produktcodes

ArcView (entspricht einer ArcGIS Desktop Basic-Lizenz)

ArcEditor (entspricht einer ArcGIS Desktop Standard-Lizenz)

ArcInfo (entspricht einer ArcGIS Desktop Advanced-Lizenz)

Engine

EngineGeoDB

ArcServer

Lizenzierungsfunktionen

FunktionErläuterung

CheckExtension(Erweiterung)

Überprüft, ob eine Lizenz verfügbar ist, die für einen bestimmten Typ von Erweiterung deaktiviert werden kann.

RückgabewertBedeutung

Verfügbar

Die angeforderte Lizenz ist verfügbar und kann festgelegt werden.

Nicht verfügbar

Die angeforderte Lizenz ist nicht verfügbar und kann nicht festgelegt werden.

NotLicensed

Die angeforderte Lizenz ist nicht gültig.

Fehlgeschlagen

Während der Anforderung ist ein Systemfehler aufgetreten.

CheckInExtension(Erweiterung)

Gibt die Lizenz zurück, sodass sie andere Anwendungen verwenden können.

RückgabewertBedeutung

NotInitialized

Es wurde keine Desktop-Lizenz festgelegt.

Fehlgeschlagen

Während der Anforderung ist ein Systemfehler aufgetreten.

CheckedIn

Die Lizenz wurde erfolgreich zurückgegeben.

CheckOutExtension(Erweiterung)

Ruft die Lizenz ab.

RückgabewertBedeutung

NotInitialized

Es wurde keine Desktop-Lizenz festgelegt.

Nicht verfügbar

Die angeforderte Lizenz ist nicht verfügbar und kann nicht festgelegt werden.

CheckedOut

Die Lizenz wurde erfolgreich festgelegt.

CheckProduct(Code)

Überprüft, ob die angeforderte Lizenz verfügbar ist.

RückgabewertBedeutung

AlreadyInitialized

Die Lizenz wurde im Skript bereits festgelegt.

Verfügbar

Die angeforderte Lizenz ist verfügbar und kann festgelegt werden.

Nicht verfügbar

Die angeforderte Lizenz ist nicht verfügbar und kann nicht festgelegt werden.

NotLicensed

Die angeforderte Lizenz ist nicht gültig.

Fehlgeschlagen

Während der Anforderung ist ein Systemfehler aufgetreten.

ProductInfo()

Gibt die aktuelle Produktlizenz zurück.

RückgabewertBedeutung

NotInitialized

Es wurde keine Lizenz festgelegt.

ArcInfo

Es wurde keine ArcGIS Desktop Advanced-Lizenz festgelegt.

ArcEditor

Es wurde keine ArcGIS Desktop Standard-Lizenz festgelegt.

ArcView

Es wurde keine ArcGIS Desktop Basic-Lizenz festgelegt.

ArcServer

Es wurde keine ArcGIS Server-Lizenz festgelegt.

EngineGeoDB

Eine EngineGeoDB-Lizenz wurde festgelegt.

Engine

Eine Engine-Lizenz wurde festgelegt.

SetProduct(Code)

Definiert die Desktop-Lizenz.

RückgabewertBedeutung

CheckedOut

Die Lizenz wurde erfolgreich festgelegt.

AlreadyInitialized

Die Lizenz wurde im Skript bereits festgelegt.

NotLicensed

Die angeforderte Lizenz ist nicht gültig.

Fehlgeschlagen

Während der Anforderung ist ein Systemfehler aufgetreten.

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