O processo para isso parece ter mudado entre o ArcGIS 10.0 e 10.1. Vou incluir uma amostra para ambos.
Aqui está o documento de ajuda sobre a leitura de geometrias na 10.1 usando o arcpy: Reading Geometries 10.1
Este documento discute os parâmetros para um tipo de geometria da polilinha : Polyline (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
Aqui está o documento de ajuda sobre a leitura de geometrias na 10.0 usando o arcpy: Reading Geometries 10.0
Este documento discute os parâmetros para um objeto Geometry : Geometry
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
A diferença entre os dois reside basicamente em como você acessa a geometria do recurso. Alguns atalhos foram adicionados na versão 10.1 para facilitar o acesso ao objeto de geometria.