Festlegen der ArcGIS Desktop-Lizenz auf eine niedrigere Ebene, um zu testen, ob das Python-Skript noch ausgeführt wird?

9

Ich habe ein Python-Skript, das einem Client übergeben werden muss.

Wir prüfen derzeit, welche Lizenzstufe der Client benötigt, um das Skript für die Softwarebeschaffung auszuführen.

Wir haben alle die ArcGIS 10.1 Advanced-Lizenz in unserem Unternehmen.

Ich habe alle im Skript verwendeten Tools und Erweiterungen anhand der Webhilfe überprüft und festgestellt, dass sie auf der Standardlizenzstufe funktionieren sollten.

Gibt es eine Möglichkeit, das Skript anhand der Standardlizenzstufe zu testen, wenn wir keine Standardlizenzstufe in oder in einem Unternehmen haben (nur die höhere erweiterte Stufe)?

Kat
quelle
3
Ich selbst war daran interessiert, dies zu tun gis.stackexchange.com/questions/78738/… . Anscheinend benötigen Sie eine Float-Lizenz, um die ArcInfo-Lizenz zurückzugeben und ArcEditor auszuleihen, bevor Sie das Skript ausführen.
Alex Tereshenkov
Die IT-Abteilung meines früheren Arbeitgebers hat eine Auswahl für Power-User implementiert, um alle drei Lizenzierungsstufen auszuwählen. Der Zugriff erfolgte über das Startmenü und Desktop-Verknüpfungen. Nicht-Power-User hatten nicht die Möglichkeit, ArcInfo auszuwählen, hatten jedoch möglicherweise die Möglichkeit, ArcView oder ArcEditor zu verwenden. Alle Lizenzen befanden sich auf einem dedizierten GIS-Server und waren eine Floating-Lizenz für unbegrenzte Benutzer. Es kommt also darauf an, wie Ihre IT-Abteilung die Dinge eingerichtet hat. Die andere Möglichkeit besteht darin, einen Computer zu finden, der erneut installiert werden kann, und einfach die ArcView-Lizenz zu installieren.
gefährlich

Antworten:

1

Wenn dies eine wiederkehrende Anstrengung ist, bei der Sie Ihre Produkte auf verschiedenen Lizenzstufen testen müssen, lohnt es sich möglicherweise, eine Esri Developer Network- Lizenz zu erwerben.

Das Esri Developer Network (EDN) ist über ein Jahresabonnement erhältlich und bietet eine kostengünstige Möglichkeit, Esri ArcGIS-Produkte und -Tools zu lizenzieren. Unabhängig davon, ob Sie Web-, Desktop-, Mobil- oder Serverentwickler sind, verfügt EDN über die Ressourcen, die Sie zum Erstellen von GIS-Anwendungen und -Lösungen benötigen.

RyanKDalton
quelle
Haben Sie weitere Informationen dazu? Insbesondere würde mich interessieren, ob ich für jede Lizenzstufe, auf der ich Skripte testen möchte, eine Lizenz kaufen müsste. Im Moment haben wir einen Computer gefunden, auf dem wir eine ArcGIS-Standardlizenz installieren können, um dieses Skript zu testen.
Kat
Weitere Informationen erhalten Sie von Ihrem ESRI-Vertreter vor Ort.
RyanKDalton
1

Für Folgendes ist nur eine ArcGIS Basic-Lizenz erforderlich. Für zahlreiche Tools ist jedoch eine ArcGIS Standard-Lizenz oder eine höhere Lizenz erforderlich.

import arcview
Jerry
quelle
1

Starten Sie Ihr Skript über eine Befehlsshell oder eine Batchdatei und legen Sie die Lizenzstufe zuerst anhand der Umgebungsvariablen fest.

SET ESRI_SOFTWARE_CLASS=Viewer
python do-stuff.py

Vom Öffnen von ArcGIS Desktop auf einer bestimmten Lizenzstufe?

modolo den Kommentar von Ryan Dalton hier über die Notwendigkeit, die anderen Lizenzstufen zu haben, um zu wechseln.

matt wilkie
quelle
Bugfix bearbeiten: Das vorherige Beispiel für Bare do-stuff.pyin Zeile 2 würde nicht funktionieren, da es die ASSOC-Befehlszeile mit einer neuen Standardumgebung aufruft, die die Einstellung von Zeile 1 erbt.
Matt Wilkie
0

Es gibt eine vorhandene ArcGIS-Idee zur Unterstützung integrativer Lizenzstufen (Auschecken geringerer Lizenzstufen zulassen) .

Die Begründung für diese Anfrage scheint genau zu Ihrem Anwendungsfall zu passen:

Wenn Sie derzeit eine Lizenzstufe testen müssen, z. B. Basic, müssen Sie eine Basislizenz erwerben, für Standard benötigen Sie eine Standardlizenz usw. Wenn Sie bereits eine erweiterte Lizenz erworben haben, sollten Sie dies können verbrauchen diese Lizenz auf allen drei Ebenen.

PolyGeo
quelle
-1

Ich glaube nicht, dass die Funktionalität zum Ausführen einer niedrigeren Lizenzoption vorhanden ist, obwohl dies eine vorgeschlagene Idee zur Implementierung war. Sie könnten einen Computer ohne ArcGIS finden und eine Testversion erhalten. Entweder das, oder vielleicht könnte jemand hier, der eine Standardlizenz betreibt, diese für Sie testen.

TDavis
quelle
1
Ich denke, dies erfordert eine neue ArcGIS-Idee, da die Idee, auf die Sie verwiesen haben, nicht den Anwendungsfall der Frage zu behandeln scheint, bei der die einzige lizenzierte ArcGIS for Desktop-Ebene "Erweitert" ist, aber das Testen während der Maskierung als Basis- und / oder Standardebene erfolgen soll Lizenz.
PolyGeo
-1

Vielleicht versuchen

import arceditor 
import arcpy

Weitere Informationen finden Sie im Hilfedokument unter Zugreifen auf Lizenzen und Erweiterungen in Python . Mir ist nicht 100% klar, dass dies das tut, was Sie wollen, aber vielleicht versuchen Sie es mit einem Skript, von dem Sie wissen, dass es nur mit Advanced funktionieren sollte, und sehen Sie, was das Skript tut.

HTH

dunkler Fader
quelle
2
Dies ist nur hilfreich, wenn dem Benutzer eine Basislizenz (ArcView) oder eine Standardlizenz (ArcEditor) zur Verfügung steht. Siehe meine Antwort auf Warum gibt der Import von arcview / arceditor gp.setProduct () aus? RuntimeError: ERROR 999999: Fehler beim Ausführen?
RyanKDalton
@ RyanDalton: Ich habe gerade mit 'Identität (Analyse)' in einem GP-Skript getestet (für das eine erweiterte Lizenz erforderlich ist). Ich erhalte 'FEHLER 000824: Das Tool ist nicht lizenziert.' Wenn Sie 'import arceditor' verwenden, wird es ausgeführt, wenn Sie 'import arcinfo' verwenden. Ihre Antwort mit setProduct () ist eine Legacy-Funktion. Möglicherweise funktioniert die Importsyntax anders. Oder fehlt mir etwas zu dieser Frage?
Dark Fader
3
Sie haben den Punkt meiner Antwort verpasst. Wie ich bereits sagte: "Sie können nicht auf eine andere Lizenz" upgraden "oder" downgraden ", die für den Benutzer nicht verfügbar ist, ohne dass ein Fehler auftritt." Um zusammenzufassen , was ich zu erklären versucht, kann man nicht „verdummen“ (oder „up“) eine Lizenz , wenn Sie tatsächlich HAVE eine niedrigere Lizenz zur Verfügung, das ist genau das, was Ihr Test bewiesen werden. Weder import <Lizenz> noch gp.setProduct () ermöglichen es Benutzern, eine Produktebene zu verwenden, die nicht lizenziert ist.
RyanKDalton