ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

Python での環境設定の使用

  • 環境設定の取得と設定
  • 環境設定を使用してテンポラリ データを処理
  • 環境のリセット

各ツールには、操作を実行するときに使用するパラメーターがあります。これらのパラメーターの中には、許容値や出力場所など、すべてのツールに共有するものがあります。これらのパラメーターのデフォルト値は、すべてのツールが実行時に利用するジオプロセシング環境から取得することができます。ツールを実行する際には、現在の環境設定をグローバル入力パラメーター値として使用することもできます。対象地域、出力データセットの空間参照、新しいラスター データセットのセル サイズといった設定はすべて、ジオプロセシング環境で指定することができます。

スクリプトは何種類かの方法で実行できます。ArcGIS アプリケーション内では、スクリプト ツールとして実行できます。また、Python ウィンドウでは、別のスクリプトから実行するか、単体で実行することもできます。ArcGIS アプリケーションから、または別のジオプロセシング スクリプトから、ツール内のスクリプトを実行している場合は、呼び出し元のアプリケーションまたはスクリプトで使用されている環境設定がスクリプトに渡されます。これらの設定は、ツールのスクリプトで実行時に使用されるデフォルト設定になります。呼び出されたスクリプトでは渡された設定を変更できますが、変更内容はそのスクリプト内、またはそのスクリプトが呼び出す他のツールにのみ適用されます。変更内容が呼び出し元のスクリプトまたはアプリケーションに返されることはありません。この環境モデルは、ジオプロセシング環境を使用するすべてのプロセスに値が流れ落ちる様子から、わかりやすくカスケード (滝) とも呼ばれます。

環境設定の取得と設定

環境設定は env クラスのプロパティとして示されます。これらのプロパティを使用して現在の値を取得したり、値を設定したりすることができます。arcpy.env.<environmentName> のように、環境クラスから読み取り/書き込みプロパティとして環境にアクセスできます。

import arcpy

arcpy.env.workspace = "c:/data"

例 1: 環境変数の設定

import arcpy

# Set the workspace environment setting
#
arcpy.env.workspace = "c:/St_Johns/data.gdb"

# Set the XYTolerance environment setting
#
arcpy.env.XYTolerance = 2.5

# Calculate the default spatial grid index, divide in half, then
#   set the spatial grid 1 environment setting
#
grid_index = arcpy.CalculateDefaultGridIndex_management("roads")[0]

arcpy.env.spatialGrid1 = float(grid_index) / 2

# Clip the roads by the urban area feature class
#
arcpy.Clip_analysis("roads", "urban_area", "urban_roads")

例 2: 環境値の取得と設定

import arcpy

# Check the current raster cell size and make sure it is a certain size
#   for standard output
#
arcpy.env.workspace = "c:/avalon/data"

if arcpy.env.cellSize < 10:
    arcpy.env.cellSize = 10
elif arcpy.env.cellSize > 20:
    arcpy.env.cellSize = 20
    
arcpy.HillShade_3d("island_dem", "island_shade", 300)
注意:

Python でプロパティを設定する際には、スペルと大/小文字の区別が重要です。arcpy.env.Workspace に値を割り当てても、arcpy.env.workspace は設定されません (注: arcpy.env.workspace が正しい形式です)。環境を設定したにもかかわらず、以後実行するツールで設定が有効にならない場合は、スペルと大/小文字を確認してください。

ListEnvironments 関数を使用して、正しい環境名を確認できます。

import arcpy
print(arcpy.ListEnvironments())

環境設定を使用してテンポラリ データを処理

scratchGDB および scratchFolder は、ジオデータベースとフォルダーの確実な場所を表す読み取り専用の環境設定です。つまり、作成したり、管理したりしなくても、ジオデータベースやフォルダーをいつでも確実に使用できます。

import arcpy

inputFC = arcpy.GetParameterAsText(0)
clipFC = arcpy.GetParameterAsText(1)
outputFC = arcpy.GetParameterAsText(2)

# Use scratchGDB environment to write intermediate data
#
tempData = arcpy.CreateScratchName(workspace=arcpy.env.scratchGDB)

result = arcpy.Buffer_analysis(inputFC, tempData, "50 METERS")
arcpy.Clip_analysis(clipFC, result, outputFC)

scratchFolder 環境は、次のように設定します。

  • scratchWorkspace を設定していない場合、scratchFolder には、現在のユーザーのテンポラリ ファイル ディレクトリが割り当てられます。
  • scratchWorkspace がジオデータベースを参照している場合、scratchFolder がジオデータベースのあるフォルダーになります。
  • scratchWorkspace をフォルダーに設定している場合、scratchFolder は scratchWorkspace と同じです。

scratchGDB 環境は、次のように設定します。

  • scratchWorkspace を設定していない場合、scratchGDB には、現在のユーザーのテンポラリ ファイル ディレクトリにある scratch.gdb ジオデータベースが割り当てられます。
  • scratchWorkspace がジオデータベースを参照している場合、scratchGDB は scratchWorkspace と同じです。
  • scratchWorkspace をフォルダーに設定している場合、scratchGDB には、scratchWorkspace フォルダーにある scratch.gdb ジオデータベースが割り当てられます。

環境のリセット

ジオプロセシング環境は、ツールの操作と出力に大きな影響をおよぼすため、環境設定の履歴管理を行い、必要に応じて環境をデフォルトの状態にリセットできるようにすることが大切です。

デフォルトの環境値に戻すには ResetEnvironments 関数を使用し、特定の環境をリセットするには ClearEnvironment 関数を使用します。

import arcpy

# Reset geoprocessing environment settings
arcpy.ResetEnvironments()

# Reset a specific environment setting
arcpy.ClearEnvironment("workspace")

関連トピック

  • [Python] ウィンドウの環境設定
  • env

ArcGIS Desktop

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

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

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