ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

Python でのライセンスおよびエクステンションへのアクセス

  • デスクトップ、エンジン/サーバーのライセンス
  • エクステンション ライセンス
  • ライセンス関数

ツールをスクリプトから実行する場合は、必ず ArcGIS ライセンスが必要です。ArcGIS Spatial Analyst extension などの ArcGIS エクステンションのツールを使用するには、そのエクステンションの追加ライセンスが必要です。必要なライセンスがない場合、ツールの実行は失敗し、エラー メッセージが返されます。たとえば、インストールに ArcGIS Desktop Basic ライセンスをインストールした場合に、Desktop Standard または Desktop Advanced のライセンスが必要なツールを実行しようとすると、そのツールの実行は失敗します。

ArcGIS Desktop Basic または Desktop Standard のライセンスを使用する場合は、スクリプト上で Desktop Basic または Desktop Standard に製品を設定する必要があります。同様に、Engine または EngineGeoDB のライセンスを使用する場合は、スクリプト上で製品を Engine または EngineGeoDB に設定する必要があります。ライセンスが明示的に設定されていない場合は、ArcPy のツール、関数、またはクラスに初めてアクセスするときに、使用可能な最上位のライセンス レベルに基づいてライセンスが初期化されます。

適切なライセンスが存在するかどうかのチェックは、すべてのツールで行われます。必要なライセンスがない場合、ツールの実行は失敗します。途中まで実行した後で失敗するという状況を避けるために、スクリプトの先頭でチェックを実行しておけば、失敗した場合にただちに終了できます。

ヒント:

製品とエクステンションの設定は、スタンドアロン スクリプト内でのみ必要です。Python ウィンドウからツールを実行する場合や、スクリプト ツールを使用する場合は、製品はアプリケーション内ですでに設定されており、アクティブなエクステンションは [エクステンション] ダイアログ ボックスに基づいて決められます。

デスクトップ、エンジン/サーバーのライセンス

arcpy をインポートする前に製品モジュールがインポートされ、スクリプトによって使用されるデスクトップ ライセンスが定義されます。CheckProduct 関数を使用してデスクトップ ライセンスが使用可能かどうか確認できるほか、ProductInfo 関数を使用すると現在の製品ライセンス情報が報告されます。

レガシー:

arcpy をインポートする前に、該当する製品モジュール (arcinfo、arceditor、arcview、arcserver、arcenginegeodb、または arcengine) をインポートして、製品レベルを設定する必要があります。SetProduct 関数はレガシー関数であり、arcpy がインポートされた後は製品を設定できなくなります。

エクステンション ライセンス

エクステンションのライセンスはライセンス マネージャーから取得でき、不要になったときは返却できます。CheckExtension は、特定のタイプのエクステンションについてライセンスがチェックアウト可能かどうか調べる場合に使用し、CheckOutExtension はライセンスを実際に取得します。スクリプトでエクステンション ライセンスを取得した後、エクステンション ツールを実行できます。スクリプトが特定のエクステンションからのツールを使用し終わったら、CheckInExtension 関数を使用してライセンス マネージャーにライセンスを返却し、他のアプリケーションがそのライセンスを使用できるようにします。チェックアウトされたエクステンション ライセンスと、設定された製品ライセンスはすべて、スクリプトが完了するとライセンス マネージャーに返却されます。

次の例では、いくつかの ArcGIS 3D Analyst ツールを実行し、デスクトップ製品ライセンスを ArcGIS Desktop Basic に設定します。これは、エクステンションからのツールを実行するために ArcGIS Desktop Advanced ライセンスが必要ないからです。エクステンション ツールを実行するにはデスクトップ ライセンスが必要なので、ArcGIS Desktop Basic ライセンスが明示的に設定されておらず ArcGIS Desktop Advanced ライセンスも使用できない場合は、スクリプトの実行は失敗します。

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

上の例では、ArcGIS 3D Analyst extension が finally 節でチェックインされており、これにより、このエクステンションは例外が発生したかどうかに関係なく常にチェックインし、戻されます。

Failed、Unavailable、または NotLicensed の値が返された場合は、エクステンションのチェックアウトが正常に行われなかったことを示します。

次に、エクステンションの名前とエクステンション コード名を示します。

エクステンションエクステンション コード

ArcGIS 3D Analyst extension

3D

ArcGIS Data Interoperability extension for Desktop

DataInteroperability

ArcGIS Data Reviewer Desktop

Datareviewer

ArcGIS Aviation Airports

Airports

ArcGIS Aviation Charting

Aeronautical

ArcGIS Bathymetry

Bathymetry

ArcGIS Maritime

Nautical

ArcGIS Geostatistical Analyst extension

GeoStats

ArcGIS Network Analyst extension

Network

ArcGIS Spatial Analyst extension

Spatial

ArcGIS Schematics extension

Schematics

ArcGIS Tracking Analyst extension

Tracking

ArcGIS Workflow Manager (Classic) Desktop

JTX

ArcScan

ArcScan

ArcGIS Business Analyst

Business

ArcGIS Defense Mapping

Defense

ArcGIS Production Mapping

Foundation

ArcGIS Roads and Highways

Highways

StreetMap

StreetMap

製品コード名

製品コード

ArcView (ArcGIS Desktop Basic ライセンスに相当)

ArcEditor (ArcGIS Desktop Standard ライセンスに相当)

ArcInfo (ArcGIS Desktop Advanced ライセンスに相当)

Engine

EngineGeoDB

ArcServer

ライセンス関数

関数説明

CheckExtension (エクステンション)

特定のタイプのエクステンションについてライセンスがチェックアウト可能かどうか調べます。

戻り値意味

利用可能

リクエストされたライセンスは設定可能です。

利用不可

リクエストされたライセンスは設定できません。

NotLicensed

リクエストされたライセンスは有効ではありません。

失敗

リクエスト時にシステム エラーが発生しました。

CheckInExtension (エクステンション)

他のアプリケーションが使用できるようにライセンスを返却します。

戻り値意味

NotInitialized

デスクトップ ライセンスが設定されていません。

失敗

リクエスト時にシステム エラーが発生しました。

CheckedIn

ライセンスは正常に返却されました。

CheckOutExtension (エクステンション)

ライセンスを取得します。

戻り値意味

NotInitialized

デスクトップ ライセンスが設定されていません。

利用不可

リクエストされたライセンスは設定できません。

CheckedOut

ライセンスが正常に設定されました。

CheckProduct (コード)

リクエストされたライセンスが使用可能かどうか調べます。

戻り値意味

AlreadyInitialized

ライセンスはスクリプト内にすでに設定済みです。

利用可能

リクエストされたライセンスは設定可能です。

利用不可

リクエストされたライセンスは設定できません。

NotLicensed

リクエストされたライセンスは有効ではありません。

失敗

リクエスト時にシステム エラーが発生しました。

ProductInfo()

現在の製品ライセンス情報を返します。

戻り値意味

NotInitialized

ライセンスが設定されていません。

ArcInfo

ArcGIS Desktop Advanced ライセンスが設定されています。

ArcEditor

ArcGIS Desktop Standard ライセンスが設定されています。

ArcView

ArcGIS Desktop Basic ライセンスが設定されています。

ArcServer

ArcGIS Server ライセンスが設定されています。

EngineGeoDB

EngineGeoDB ライセンスが設定されています。

Engine

Engine ライセンスが設定されています。

SetProduct (コード)

デスクトップ ライセンスを定義します。

戻り値意味

CheckedOut

ライセンスが正常に設定されました。

AlreadyInitialized

ライセンスはスクリプト内にすでに設定済みです。

NotLicensed

リクエストされたライセンスは有効ではありません。

失敗

リクエスト時にシステム エラーが発生しました。

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

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

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル