Python でのジオメトリの操作
すべてのシンプル フィーチャクラスにはジオメトリ フィールドが必要です。通常、このフィールドの名前は Shape です(そうでない場合もあります)。Describe 関数を使用して、フィーチャクラスからジオメトリ フィールドの名前を取得できます。このためには shapeFieldName プロパティを使用します。ジオメトリ フィールドの値はジオメトリ オブジェクトで、ジオメトリ オブジェクトにはそのフィーチャを表すいくつかのプロパティがあります。次の例では、フィーチャクラス内のライン フィーチャごとにジオメトリ オブジェクトを作成し、その長さを合計する方法を示します。
import arcpy
inFeatures = "d:/base/data.gdb/roads"
# Create search cursor
#
rows = arcpy.SearchCursor(inFeatures)
# Calculate the total length of all roads
#
length = 0
shapeName = arcpy.Describe(inFeatures).shapeFieldName
# For each row, tally the length of the feature
#
for row in rows:
feat = row.getValue(shapeName)
length += feat.length
# Print the total length of all roads
#
print length
|
プロパティ |
説明 |
|---|---|
|
面積 |
ポリゴンの面積。他のすべてのフィーチャ タイプの場合は空。 |
|
centroid |
フィーチャ内またはフィーチャ上にある場合は、真の重心。そうでなければ、ラベル ポイントを返します(ポイント オブジェクトを返す)。 |
|
extent |
範囲オブジェクトを返します。 |
|
firstPoint |
フィーチャの最初の座標。ポイント オブジェクトを返します。 |
|
hullRectangle |
凸包長方形の座標ペア。 |
|
isMultipart |
このジオメトリのパート数が複数ならば True。 |
|
labelPoint |
ラベルの位置を示すポイント。ポイント オブジェクトを返します(labelPoint は常にフィーチャ内またはフィーチャ上にあります)。 |
|
lastPoint |
フィーチャの最後の座標。ポイント オブジェクトを返します。 |
|
長さ |
線形フィーチャの長さ。ポイント、マルチポイントのフィーチャタイプの場合は空。 |
|
partCount |
フィーチャのジオメトリ パートの数。 |
|
pointCount |
ジオメトリの現在のパートを構成するポイント オブジェクトの数。 |
|
trueCentroid |
フィーチャの重心。ポイント オブジェクトを返します。 |
|
type |
ポリゴン、ポリライン、ポイント、マルチポイント、マルチパッチ、ディメンション、アノテーション。 |
|
方法 |
説明 |
|---|---|
|
getPart({index}) |
特定のジオメトリ パートを構成するポイント オブジェクトの配列、または複数の配列(パートごとに 1 つずつ)を含む配列を返します。 |