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 つずつ)を含む配列を返します。 |