ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Accès aux licences et aux extensions dans Python

  • Licences Desktop, Engine/Server
  • Licences d'extensions
  • Fonctions de gestion des licences

Chaque fois qu’un outil est exécuté dans un script, une licence ArcGIS est requise. Les outils des extensions ArcGIS, comme l’ArcGIS Spatial Analyst extension, requièrent une licence supplémentaire pour l’extension correspondante. Si les licences requises ne sont pas disponibles, un outil échoue et renvoie des messages d'erreur. Par exemple, si vous procédez à une installation avec une licence ArcGIS Desktop Basic, l’exécution d’un outil qui nécessite une licence Desktop Standard ou Desktop Advanced échoue.

Dans le cas de l’utilisation d’une licence ArcGIS Desktop Basic ou Desktop Standard, un script doit définir le produit sur Desktop Basic ou sur Desktop Standard. De même, lors de l'utilisation d'une licence Engine ou EngineGeoDB, un script doit définir le produit sur Engine ou EngineGeoDB. Si aucune licence n'est spécifiée explicitement, elle est initialisée en fonction du niveau de licence disponible le plus élevé lors du premier accès à un outil, une fonction ou une classe ArcPy.

Chaque outil vérifie la présence de la licence appropriée. S'il ne dispose pas des éléments nécessaires, il échoue. Pour vous protéger contre une exécution partielle suivie d'un échec, effectuez une vérification en début de script pour échouer immédiatement.

Astuce :

La définition du produit et des extensions est uniquement nécessaire dans les scripts autonomes. Si vous exécutez des outils à partir de la fenêtre Python ou à l'aide d'outils de script, le produit est déjà défini à partir de l'application et les extensions actives sont basées sur la boîte de dialogue Extensions.

Licences Desktop, Engine/Server

Les modules de produit sont importés avant l'importation d'arcpy pour définir la licence bureautique utilisée par un script. La fonction CheckProduct permet de vérifier la disponibilité des licences de bureau, tandis que la fonction ProductInfo indique l’actuelle licence de produit.

Héritage :

Il convient de définir le niveau de produit par importation du module de produit correspondant (arcinfo, arceditor, arcview, arcserver, arcenginegeodb ou arcengine) préalablement à l’importation d’arcpy. En effet, la fonction SetProduct, qui est une fonction héritée, ne peut pas définir le produit une fois arcpy importé.

Licences d'extensions

Il est possible d’extraire les licences pour extensions d’une gestionnaire de licences et de les restituer après usage. CheckExtension permet de vérifier si une licence est disponible à l’extraction pour un type particulier d’extension, tandis que CheckOutExtension permet d’extraire la licence. Lorsque la licence de l'extension a été extraite par le script, les outils de l'extension peuvent être exécutés. Une fois qu’un script n’a plus besoin des outils d’une extension donnée, il convient d’utiliser la fonction CheckInExtension pour restituer la licence au gestionnaire de licences de manière à la rendre disponible pour d’autres applications. Toutes les licences d'extension extraites et les licences de produit définies sont renvoyées au gestionnaire de licences lorsqu'un script est terminé.

L’exemple ci-après illustre l’exécution de certains outils ArcGIS 3Danalyst, Analyst, ainsi que la définition de la licence de produit de bureau sur ArcGIS Desktop Basic puisqu’il n’est pas nécessaire d’utiliser une licence ArcGIS Desktop Advanced pour exécuter des outils à partir d’une extension. L’exécution du script échoue si la licence ArcGIS Desktop Basic n’est pas définie explicitement et si aucune licence ArcGIS Desktop Advanced n’est disponible, puisqu’il est nécessaire d’utiliser une licence de bureau pour exécuter des outils d’extension.

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 ArcGIS 3D Analyst extension
    #
    arcpy.CheckInExtension("3D")

Dans l’exemple ci-dessus, l’ArcGIS 3D Analyst extension est réinsérée selon une clause finally. Ainsi, l’extension est toujours restituée, qu’une exception se produise ou pas.

Une valeur renvoyée Failed, Unavailable ou NotLicensed indique que l’extension n’a pas pu être extraite.

Vous trouverez ci-dessous les noms des extensions et leurs noms de code d'extension :

ExtensionCode extension

ArcGIS 3D Analyst extension

3D

ArcGIS Data Interoperability extension for Desktop

DataInteroperability

ArcGIS Data Reviewer Desktop

Datareviewer

ArcGIS Aviation Airports

Aéroports

ArcGIS Aviation Charting

Aeronautical

ArcGIS Bathymetry

Bathymétrie

ArcGIS Maritime

Nautical

ArcGIS Geostatistical Analyst extension

GeoStats

ArcGIS Network Analyst extension

Réseau

ArcGIS Spatial Analyst extension

Spatial

ArcGIS Schematics extension

Schematics

ArcGIS Tracking Analyst extension

Suivi de l'emplacement

ArcGIS Workflow Manager (Classic) Desktop

JTX

ArcScan

ArcScan

ArcGIS Business Analyst

Commerce

ArcGIS Defense Mapping

Défense

ArcGIS Production Mapping

Foundation

ArcGIS Roads and Highways

Autoroutes

StreetMap

StreetMap

Noms de code de produit

Codes produit

ArcView (équivalent à une licence ArcGIS Desktop Basic)

ArcEditor (équivalent à une licence ArcGIS Desktop Standard)

ArcInfo (équivalent à une licence ArcGIS Desktop Advanced)

Engine

EngineGeoDB

ArcServer

Fonctions de gestion des licences

FonctionExplication

CheckExtension(extension)

Permet de vérifier si une licence disponible peut être utilisée pour un type d'extension spécifique.

Valeur renvoyéeSignification

Disponible

La licence demandée est disponible et peut être définie.

Non disponible

La licence demandée n'est pas disponible et ne peut pas être définie.

NotLicensed

La licence demandée n'est pas valide.

Échec

Une défaillance système s'est produite pendant la demande.

CheckInExtension(extension)

Renvoie la licence pour que d'autres applications puissent l'utiliser.

Valeur renvoyéeSignification

NotInitialized

Aucune licence bureautique n'a été définie.

Échec

Une défaillance système s'est produite pendant la demande.

CheckedIn

La licence a été renvoyée avec succès.

CheckOutExtension(extension)

Récupère la licence.

Valeur renvoyéeSignification

NotInitialized

Aucune licence bureautique n'a été définie.

Non disponible

La licence demandée n'est pas disponible et ne peut pas être définie.

CheckedOut

Licence définie avec succès.

CheckProduct(code)

Vérifie si la licence demandée est disponible.

Valeur renvoyéeSignification

AlreadyInitialized

La licence a déjà été définie dans le script.

Disponible

La licence demandée est disponible et peut être définie.

Non disponible

La licence demandée n'est pas disponible et ne peut pas être définie.

NotLicensed

La licence demandée n'est pas valide.

Échec

Une défaillance système s'est produite pendant la demande.

ProductInfo()

Indique la licence du produit courant.

Valeur renvoyéeSignification

NotInitialized

Aucune licence n'a été définie.

ArcInfo

Une licence ArcGIS Desktop Advanced a été définie.

ArcEditor

Une licence ArcGIS Desktop Standard a été définie.

ArcView

Une licence ArcGIS Desktop Basic a été définie.

ArcServer

Une licence ArcGIS Server a été définie.

EngineGeoDB

Une licence EngineGeoDB a été définie.

Engine

Une licence Engine a été définie.

SetProduct(code)

Définit la licence bureautique.

Valeur renvoyéeSignification

CheckedOut

Licence définie avec succès.

AlreadyInitialized

La licence a déjà été définie dans le script.

NotLicensed

La licence demandée n'est pas valide.

Échec

Une défaillance système s'est produite pendant la demande.

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

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

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal