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

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

Python でのクラスの使用

  • ジオプロセシング ツールでのクラスの使用

クラスは建築の青写真と同様です。青写真には対象物の作成方法のフレームワークが示されます。クラスはオブジェクトの作成に使用でき、多くの場合、インスタンスとして参照できます。SpatialReference クラスや Extent クラスなどの ArcPy クラスは、ジオプロセシング ツールのパラメーターを実行するためのショートカットとしてよく使用されます。ArcPy クラスを使用しない場合、これらのパラメーターはもっと複雑な文字列が必要になります。

ArcPy は、SpatialReference、ValueTable、Point など、いくつかのクラスを組み込んでいます。クラスをインスタンス化した後、クラスのプロパティとメソッドを使用できます。クラスには、コンストラクターと呼ばれる 1 つ以上のメソッドが存在します。コンストラクターは、クラスの新規インスタンスを初期化するためのメソッドです。次に示す例では、SpatialReference(prjFile) はクラス コンストラクターです。このコンストラクターは、投影情報ファイルを読み取ることによって spatialRef オブジェクトを作成します。

import arcpy

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

他のほとんどのクラスと同様に、SpatialReference はいくつかのメソッドとプロパティを含んでいます。前記のサンプルを基に、次のようにして spatialRef のプロパティにアクセスできます。

import arcpy

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

# Print the SpatialReference's name, and type
#
print(spatialRef.name)
print(spatialRef.type)

クラスは繰り返し使用できます。次に示す例では、Point クラスを使用して 2 つの一意なポイント オブジェクトが作成されます。

import arcpy

pointA = arcpy.Point(2.0, 4.5)
pointB = arcpy.Point(3.0, 7.0)
メモ:

クラスを使用して作成できるオブジェクトの多くは、CreateObject 関数を使用して作成することもできます。ただし、クラスを使用すれば、コードがより使いやすく読みやすいものになります。

ジオプロセシング ツールでのクラスの使用

ツールのパラメーターは通常、単純なテキスト文字列を使用して定義されます。データセット名、パス、キーワード、フィールド名、許容値、およびドメイン名は、引用符付き文字列を使用して指定できます。

パラメーターの中には、多数のプロパティを必要とする複雑なパラメーターがあり、単純な文字列を使用してこれらを定義することは困難です。長く複雑なテキスト文字列を使用してこれらのパラメーターを定義する代わりに、クラスを使用できます (たとえば、SpatialReference、ValueTable、および Point の各クラス)。各ツールの資料には、それぞれのツール パラメーターを定義して使用する方法を示したスクリプト例が記載されています。

次に示す例では、CreateFeatureClass ツールを使用して作成された新しいフィーチャクラスの出力座標系を定義するために、SpatialReference オブジェクトを作成し、使用しています。

import arcpy

inputWorkspace = "c:/temp"
outputName =  "rivers.shp"

prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)

# Run CreateFeatureclass using the spatial reference object
#
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE", 
                                    spatial_reference=spatialRef)

このパラメーターに相当する文字列は、次のようなものです。 PROJCS['North_America_Equidistant_Conic',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Equidistant_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-96.0],PARAMETER['Standard_Parallel_1',20.0],PARAMETER['Standard_Parallel_2',60.0],PARAMETER['Latitude_Of_Origin',40.0],UNIT['Meter',1.0]];IsHighPrecision

関連トピック

  • Python のツールの使用
  • Python の関数の使用

ArcGIS Desktop

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

ArcGIS

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

Esri について

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