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

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

pythonaddins モジュール

pythonaddins モジュールには、Python アドインをサポートする関数が用意されています。

メモ:

pythonaddins モジュールは Python アドイン内だけで使用できます。スタンドアロン スクリプトやジオプロセシング スクリプト ツールでは使用できません。

関数説明

OpenDialog({title}, {multiple_selection}, {starting_location}, {button_caption}, {filter}, {filter_label})

1 つまたは複数の GIS データセットを選択するダイアログ ボックスを開きます。この関数は選択したデータセットのフル パスを返します。複数のデータセットを選択した場合は、フル パスのリストが返されます。入力データセットに対するフィルター処理 (たとえば、ポイント フィーチャクラスのみのフィルター処理) は行われません。

  • {title} - ダイアログ ボックスのタイトル。
  • {multiple_selection} - 複数アイテムの選択を許可するかどうかを指定します。デフォルトは False です。
  • {starting_location} - 起点となる場所のパス。
  • {button_caption} - [開く] ボタンで使用するキャプション。
  • {filter} - 呼び出し可能なフィルター引数。呼び出し可能ルーチンは 1 つの引数、つまり、選択したアイテムのカタログ パスを受け取り、そのアイテムを開くことができるかどうかに応じて、True または False を返します。次のコード例をご参照ください。
  • {filter_label} - ダイアログ ボックスの [種類の表示:] ドロップダウン ボックスに表示されるテキストです。

SaveDialog({title}, {name_text}, {starting_location}, {filter}, {filter_label})

データを保存するダイアログ ボックスを開きます。この関数は保存するデータセットのフル パスを返します。

  • {title} - ダイアログ ボックスのタイトル。
  • {name_text} - ダイアログ ボックスで名前のテキスト ボックスに表示されるデータセット名。
  • {starting_location} - データを保存する場所の起点のパス。
  • {filter} - 呼び出し可能なフィルター引数。呼び出し可能ルーチンは 1 つの引数、つまり、選択したアイテムのカタログ パスを受け取り、そのアイテムを保存できるかどうかに応じて、True または False を返します。次のコード例をご参照ください。
  • {filter_label} - ダイアログ ボックスの [種類の表示:] ドロップダウン ボックスに表示されるテキストです。

GPToolDialog(toolbox, tool_name)

ジオプロセシング ツール ダイアログ ボックスを開きます。

  • toolbox - ツールボックスの場所。
  • tool_name - ツール名。

MessageBox(message, title, {mb_type})

メッセージ ボックスを表示します。この関数は、押されたメッセージ ボタンを表す文字列値を返します。

  • message - 表示するメッセージ。
  • title - メッセージ ボックスのタイトル。
  • {mb_type} - 表示するメッセージ ボックスのタイプ。デフォルトのオプションは 0 (OK のメッセージ) です。mb_type のコードについては、以下の表をご参照ください。

GetSelectedTOCLayerOrDataFrame()

[コンテンツ] ウィンドウで選択されているレイヤーまたはデータ フレームを返します。

GetSelectedCatalogWindowPath()

カタログ ウィンドウで選択されているアイテムのフル パスを返します。

ProgressDialog()

ProgressDialog オブジェクトを返します。Progress dialog (進捗状況ダイアログ) オブジェクトは、with ブロックを入力すると自動的に表示され、そのままの状態にしておくと表示されなくなります。次のサンプル コード スニペットをご参照ください。

次のようなプロパティがあります。

animation (アニメーション)

有効な値は、None、File、Spiral です。

description (説明)

詳細説明。

title (タイトル)

ダイアログのタイトル。

cancelled (キャンセル)

[キャンセル] ボタンが押された場合に True を返します。

canCancel (キャンセル可能)

[キャンセル] ボタンを有効または無効にします。

progress (進捗状況)

バーの進捗状況を表す 1 ~ 100 の数字。

mb_type コードメッセージ ボックスのタイプ

0

OK のみ

1

OK/キャンセル

2

停止/再試行/無視

3

はい/いいえ/キャンセル

4

はい/いいえ

5

再試行/キャンセル

6

キャンセル/再試行/継続

{mb_type} コード

次のアドイン ボタンは、OpenDialog() を使用してレイヤー ファイルのセットを選択し、各レイヤーを選択したデータ フレームに追加します。

import arcpy
import pythonaddins

class AddLayers(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        layer_files = pythonaddins.OpenDialog('Select Layers', True, r'C:\GISData', 'Add')
        mxd = arcpy.mapping.MapDocument('current')
        df = pythonaddins.GetSelectedTOCLayerOrDataFrame()
        if not isinstance(df, arcpy.mapping.Layer):
            for layer_file in layer_files:
                layer = arcpy.mapping.Layer(layer_file)
                arcpy.mapping.AddLayer(df, layer)
        else:
            pythonaddins.MessageBox('Select a data frame', 'INFO', 0)

次のアドイン ボタンは、ジオプロセシング ツールを開きます。

import arcpy
import pythonaddins

class OpenGPTool(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pythonaddins.GPToolDialog(r'C:\MyTools\WaterStudy.tbx', 'GroundWaterYield')

Progress Dialog (進捗状況ダイアログ) の例:ArcGIS for Desktop 内の Python ウィンドウで次のコード例をテストしてください。

import pythonaddins
with pythonaddins.ProgressDialog as dialog:
    dialog.title = "Progress Dialog"
    dialog.description = "Copying a large feature class."
    dialog.animation = "File"
    for i in xrange(100):
        dialog.progress = i
        time.sleep(0.125)
        if dialog.cancelled:
            raise Exception("Ooops")

テキスト ファイルを開くことのみを許可します。

import os
class MyValidator(object):
    def __str__(self):
        return "Text files(*.txt)"
    def __call__(self, filename):
        if os.path.isfile(filename) and filename.lower().endswith(".txt"):
            return True
        return False

filename = pythonaddins.OpenDialog(r"c:\files", filter=MyValidator())

ArcGIS Desktop

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

ArcGIS

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

Esri について

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