回答:
このプロセスは、ArcGIS 10.0と10.1の間で変更されたようです。両方のサンプルを含めます。
以下は、arcpyを使用した10.1でのジオメトリの読み取りに関するヘルプドキュメントです。 ジオメトリの読み取り10.1
このドキュメントでは、ポリラインジオメトリタイプのパラメータについて説明します。 ポリライン(arcpy)
10.1
import arcpy
infc = arcpy.GetParameterAsText(0)
# Enter for loop for each feature
#
for row in arcpy.da.SearchCursor(infc, ["OID@", "SHAPE@"]):
# Print the current line ID
print("Feature {0}:".format(row[0]))
#Set start point
startpt = row[1].firstPoint
#Set Start coordinates
startx = startpt.X
starty = startpt.Y
#Set end point
endpt = row[1].lastPoint
#Set End coordinates
endx = endpt.X
endy = endpt.Y
10.0
ここでは、ヘルプドキュメントには、arcpyを使用して10.0にジオメトリを読んでいる: 読書ジオメトリ10.0
この文書では、ジオメトリオブジェクトのパラメータについて説明します。 ジオメトリ
import arcpy
infc = arcpy.GetParameterAsText(0)
# Identify the geometry field
#
desc = arcpy.Describe(infc)
shapefieldname = desc.ShapeFieldName
# Create search cursor
#
rows = arcpy.SearchCursor(infc)
# Enter for loop for each feature/row
#
for row in rows:
# Create the geometry object
#
feat = row.getValue(shapefieldname)
# Print the current line ID
#
print "Feature %i:" % row.getValue(desc.OIDFieldName)
#Set start point
startpt = feat.firstPoint
#Set Start coordinates
startx = startpt.X
starty = startpt.Y
#Set end point
endpt = feat.lastPoint
#Set End coordinates
endx = endpt.X
endy = endpt.Y
2つの違いは、基本的にはフィーチャジオメトリへのアクセス方法にあります。10.1では、ジオメトリオブジェクトに簡単にアクセスできるようにするためのショートカットがいくつか追加されています。
私は以前これを行ったことがあり、検索カーソルを使用してジオメトリを読み取ることを好みます。ループを作成し、各形状で計算を行うことができます。
inFeatures = "Feature"
shapeName = arcpy.Describe (inFeatures).shapeFieldName
rows = arcpy.SearchCursor(inFeatures)
for row in rows:
feat = row.getValue(shapeName)
xy1 = feat.firstPoint
xy2 = feat.lastPoint
このループを使用すると、いくつかの計算を追加して、シェイプごとに処理を進めることができます。
ヘルプには追加のヘルプがいくつかあります:Pythonでのジオメトリの操作