FAQ
ArcPy: フィーチャクラスの範囲からポリゴンを作成

ナレッジ番号:5435 | 登録日:2023/07/26 | 更新日:2024/11/21

概要

フィーチャクラスの範囲を取得し、その範囲をポリゴンとして作成するためのサンプル コードをご紹介いたします。

サンプル コード

import arcpy 
# 処理対象データの Describe オブジェクトを取得
desc = arcpy.Describe(r"C:Temp\work.gdb\SampleData")

# 領域を取得
ext=desc.Extent
Xmax = ext.XMax
Ymax = ext.YMax
Xmin = ext.XMin
Ymin = ext.YMin
 
# Polygon オブジェクトを作成するには、ポリゴンの頂点となる Point オブジェクトと、ポイントを配列する Array オブジェクトを作成する必要があります。
# まず、Point コンストラクタに座標値を設定して Point オブジェクトを作成します。
pointObject1 = arcpy.Point(Xmax, Ymax)
pointObject2 = arcpy.Point(Xmax, Ymin)
pointObject3 = arcpy.Point(Xmin, Ymin)
pointObject4 = arcpy.Point(Xmin, Ymax)
 
# 作成した Point オブジェクトを、Array オブジェクトに追加します。
# Point オブジェクトは時計回りの順番で追加します。
arrayObject = arcpy.Array()
arrayObject.add(pointObject1)
arrayObject.add(pointObject2)
arrayObject.add(pointObject3)
arrayObject.add(pointObject4)
 
# ポリゴンを閉じるために始点の座標値を再度追加して、ポリゴンを作成します。
arrayObject.add(pointObject1)
 
# Array オブジェクトを使用して、Polygon オブジェクトを作成します。
polygonFeature = arcpy.Polygon(arrayObject)
 
# Polygon オブジェクトをフィーチャクラスとして出力します。
outputFeatureClass = r"C:Temp\work.gdb\Extent"
arcpy.CopyFeatures_management(polygonFeature, outputFeatureClass)

# 元データの座標系を出力データにも割り当て
coordSystem = desc.spatialReference
arcpy.DefineProjection_management(outputFeatureClass, coordSystem)

注意事項

こちらのサンプルはあくまでもコーディングの見本であり、ツール実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。新規バージョンに対応したツールを継続的に提供することを保証するものでもないことも予めご承知おきください。なお、ツールを利用して生じたいかなる損害についても弊社では責任を負いかねます。

メタデータ

機能

種類

製品