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

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

複数値入力の操作

  • リストとして指定
  • 文字列として指定
  • ValueTable の使用

多くのジオプロセシング ツールには、複数の値を受け入れる入力パラメーターが存在します。ツールのリファレンス ページやツールの使用法が Python ウィンドウに表示されているときに、パラメーターが大括弧 [ ] で囲まれていれば、そのパラメーターに値のリストを指定できることを示しています。たとえば、[フィールドの削除 (Delete Field)] ツールは削除するフィールドのリストを受け入れるので、パラメーターの使用法は [drop_field, ...] のように表示されます。[ユニオン (Union)] ツールの input_features パラメーターなど、一部のパラメーターには、リストのリストを指定できます。このパラメーターの使用法は、[[in_features, {Rank}], ...] のように表示されます。

値のリスト (または値のリストのリスト) を受け入れるパラメーターは、複数値パラメーター、つまり 1 つ以上の値を受け入れるパラメーターです。複数値パラメーターを指定する方法には、次の 3 つがあります。

  1. リストとして (それぞれの値がリスト内の要素である)
  2. 文字列として (値はセミコロンで区切られる)
  3. ValueTable として (値は行と列からなる仮想テーブルに格納される)

次に、それぞれの例を示します。

リストとして指定

スクリプト内では、複数値入力はリストとして受け渡すことができます。リストは大括弧で囲んで指定し、その値は柔軟性のある Python タイプです。

drop_field パラメーターに Python リストを使用した DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', ['STREET_NAM', 'LABEL', 'CLASS'])

in_features パラメーターに Python リストを使用した Union

import arcpy

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis([['counties', 2],['parcels', 1]], 'state_landinfo')

文字列として指定

複数値文字列がツールの出力値として返されたり、スクリプトの入力パラメーターとして渡されたりする場合があるので、スクリプトで複数値文字列を使用する必要が生じることがあります。

drop_field パラメーターに複数値文字列を使用した DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'
arcpy.DeleteField_management('roads', 'STREET_NAM;LABEL;CLASS')

in_features パラメーターに複数値文字列を使用した Union

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 
arcpy.Union_analysis('counties 2;parcels 1', 'state_landinfo')

ValueTable の使用

ValueTable を使用すると、行と列からなる仮想テーブルに値を編成できます。値テーブルを作成する際には、列の数を指定します。デフォルトは 1 列です。

drop_field パラメーターに ValueTable を使用した DeleteFields

import arcpy 

arcpy.env.workspace = 'C:/base/county.gdb'

vt = arcpy.ValueTable()
vt.addRow('STREET_NAM')
vt.addRow('LABEL')
vt.addRow('CLASS')

arcpy.DeleteField_management('roads', vt)

in_features パラメーターに ValueTable を使用した Union

import arcpy 

arcpy.env.workspace = 'C:/base/data/gdb' 

vt = arcpy.ValueTable(2)
vt.addRow('counties 2')
vt.addRow('parcels 1')

arcpy.Union_analysis(vt, 'state_landinfo')

関連トピック

  • 複数値パラメーター コントロールの使用

ArcGIS Desktop

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

ArcGIS

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

Esri について

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