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

ヘルプ

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

ジオプロセシング ツールでのジオメトリ オブジェクトの使用

  • 入力としてのジオメトリの使用
  • ジオメトリ オブジェクトの出力

多くのジオプロセシング ワークフローでは、座標とジオメトリの情報を使用して特定の操作を行うことだけが必要で、新しい (一時) フィーチャクラスを作成し、カーソルを使用してフィーチャクラスにデータを設定し、そのフィーチャクラスを使用し、最後に一時フィーチャクラスを削除するというプロセスをすべて行う必要はないことがあります。ジオプロセシングを簡単に実行できるように、入力および出力の両フィーチャクラスの代わりにジオメトリ オブジェクトを使用できます。Geometry、Multipoint、PointGeometry、Polygon、または Polyline の各クラスを使用して、ジオメトリ オブジェクトを最初から作成できます。

入力としてのジオメトリの使用

次のサンプルでは、x,y 座標のリストを使用して、ポリゴン ジオメトリ オブジェクトを作成します。その後、Clip ツールを使用して、ポリゴン ジオメトリ オブジェクトでフィーチャクラスをクリップします。

import arcpy

# Create an Array object.
#
array = arcpy.Array()

# List of coordinates.
#
coordinates = [[1.0, 1.0], [1.0, 10.0], [10.0, 10.0], [10.0, 1.0]]

# For each coordinate set, create a point object and add the x- and 
#   y-coordinates to the point object, then add the point object 
#   to the array object.
#
for x, y in coordinates:
    pnt = arcpy.Point(x, y)
    array.add(pnt)

# Add in the first point of the array again to close the polygon boundary
#
array.add(array.getObject(0))

# Create a polygon geometry object using the array object
#
boundary = arcpy.Polygon(array)

# Use the geometry to clip an input feature class
#
arcpy.Clip_analysis('c:/data/rivers.shp', boundary, 'c:/data/rivers_clipped.shp')

ジオメトリ オブジェクトの出力

空のジオメトリ オブジェクトに対してジオプロセシングツールの出力を設定することによって、出力ジオメトリ オブジェクトを作成できます。出力先を空のジオメトリ オブジェクトに設定してツールを実行すると、ツールはジオメトリ オブジェクトのリストを返します。次の例では、Copy Features ツールを使用してジオメトリ オブジェクトのリストを取得します。このリストをループ処理して、すべてのフィーチャの合計長を累算します。

import arcpy

# Run the CopyFeatures tool, setting the output to a geometry object.  
#  geometries is returned as a list of geometry objects.
#  
geometries = arcpy.CopyFeatures_management('c:/temp/outlines.shp', arcpy.Geometry())

# Walk through each geometry, totaling the length
#
length = sum([g.length for g in geometries])

print('Total length: {}'.format(length))

関連トピック

  • カーソルを使用したデータへのアクセス
  • Python でのクエリの指定
  • ジオメトリの読み取り
  • ジオメトリの作成

ArcGIS Desktop

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

ArcGIS プラットフォーム

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

Esri について

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