Mehr

Greifen Sie über ein eigenständiges Skript auf die Spatial Analyst-Erweiterung zu?

Greifen Sie über ein eigenständiges Skript auf die Spatial Analyst-Erweiterung zu?


Wenn ich dieses Skript ausführe:

import arcpy arcpy.AddMessage(arcpy.CheckExtension("Spatial")) from arcpy.sa import Con from arcpy import env fDir=r'd:scratchfdir' outFolder=r'd:aerialsimages' env.workspace = outFolder fDir=arcpy.Raster(fDir) Gter=Con(fDir> 1,2) Gter.save("TEST")

Von ArcGIS lautet die Ausgabe:

Wenn ich es als eigenständiges Skript ausführe, ist es eine ganz andere Geschichte:

Wie greife ich über ein eigenständiges Skript auf die Spatial Analyst-Erweiterung zu?


Die Methode die ich verwende ist:

if arcpy.CheckExtension("Spatial") == "Available": arcpy.AddMessage("Räumliches Auschecken") arcpy.CheckOutExtension("Spatial") else: arcpy.AddError("Räumliche Analytiker-Erweiterung kann nicht abgerufen werden") arcpy. AddMessage(arcpy.GetMessages(0)) sys.exit(0)

und dann am Ende Ihres Skripts:

arcpy.CheckInExtension("Räumlich")

was Ken allgemein gesagt hat, scheint das Problem hier zu sein, dass arcpy aus irgendeinem externen Grund keine Lizenz bekommen kann…arcpy.sain einem eigenständigen Skript ist es möglich, mehr als eine Lizenz auszuchecken (vielleicht ist das ein Fehler, den es wert ist, an Esri zu melden)… überprüfen Sie Ihren Task-Manager, um sicherzustellen, dass ArcCatalog/ArcMap nicht halb abgestürzt ist und noch eine Lizenz enthält, Skriptfenster, die nicht beendet wurde und auch Editoren, die arcpy importiert haben (PyWin macht dies, wenn Siearcpy importierenim interaktiven Fenster).

Im schlimmsten Fall starten Sie Ihren Computer neu ... es ist erstaunlich, wie viele Dinge das behebt.


Ich glaube, Sie müssen auch die Erweiterung überprüfen.

import arcpy import sys if arcpy.CheckExtension("Spatial") == "Available": arcpy.CheckOutExtension("Spatial") from arcpy.sa import Con from arcpy import env fDir=r'd:scratchfdir' outFolder= r'd:aerialsimages' env.workspace = outFolder fDir=arcpy.Raster(fDir) Gter=Con(fDir> 1,2) Gter.save("TEST") else: arcpy.AddMessage("No Spatial Analyst Erweiterung verfügbar.") sys.exit(0)

Schau das Video: Checking the Spatial Analyst Extension in ArcGIS