ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

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

ArcGIS Online

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

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ヘルプ

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

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 for Desktop

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

ArcGIS プラットフォーム

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

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル