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
  • マイ プロフィール
  • サイン アウト

ArcMap

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

Python の関数の使用

関数は、特定のタスクを実行する機能を定義した小部分で、もっと大きなプログラム内に組み込むことができます。

ArcPy では、すべてのジオプロセシング ツールが関数として提供されますが、ジオプロセシング ツールではない関数もあります。ツールの他に、ArcPy は Python を使用するジオプロセシング ワークフローのサポートを拡張する関数をいくつか提供しています。関数を使用して、特定のデータセットのリスト作成、データセットのプロパティの検索、ジオデータベースに追加する前のテーブル名の検証など、数多くの便利なジオプロセシング タスクを実行できます。これらの関数は Python ワークフローを対象としているので、ArcPy からのみ使用でき、ArcGIS アプリケーション内でツールとして使用することはできません。

関数の一般的な形式はツールの形式と同様で、引数 (必須の場合と必須でない場合がある) を受け取って何らかの値を返します。ツール以外の関数から返される値は、文字列からジオプロセシング オブジェクトまで、さまざまな形式のものです。ツール関数は常に Result オブジェクトを返し、ジオプロセシング メッセージのサポートを提供します。

次の例では、2 つの ArcPy 関数を使用します。GetParameterAsText を使用して入力引数を受け取り、Exists を使用して入力の有無を判別します。Exists 関数はブール値を返します (True または False)。

import arcpy

input = arcpy.GetParameterAsText(0)
if arcpy.Exists(input):
    print("Data exists")
else: 
    print("Data does not exist")

次の例では、ListFeatureClasses 関数を使用してフィーチャクラスのリストを作成し、このリストをループ処理して、個々のフィーチャクラスを境界フィーチャクラスでクリップします。

import arcpy
import os

# The workspace environment needs to be set before ListFeatureClasses
#    to identify which workspace the list will be based on
#   
arcpy.env.workspace = "c:/data"
out_workspace = "c:/data/results/"
clip_features = "c:/data/testarea/boundary.shp"

# Loop through a list of feature classes in the workspace
#
for fc in arcpy.ListFeatureClasses():
    # Set the output name to be the same as the input name, and 
    #    locate in the 'out_workspace' workspace
    #
    output = os.path.join(out_workspace, fc)

    # Clip each input feature class in the list
    #
    arcpy.Clip_analysis(fc, clip_features, output, 0.1)

関連トピック

  • Python のツールの使用
  • Python でのクラスの使用
  • Alphabetical list of ArcPy functions

ArcGIS Desktop

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

ArcGIS プラットフォーム

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

Esri について

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