with arcpy.da.SearchCursor(fc, ["LAT", "LON"]) as cursor:
for row in cursor:
print("Print rows: {} ".format(row)
xy_list = [(row[0],row[1]) for row in cursor]
print("Print list: {} ".format(xy_list))
输出:
Print rows: (44.8175669441669, -63.6431023726842)
Print list: [(44.8175486319183, -63.6432418986223), (44.8170733108224, -63.644658488894)]
我正在提取纬度的要素类,从SearchCursor中添加到列表的Long具有三个属性。我不明白为什么没有全部添加三个坐标。
注意:我打印的坐标“打印行:(44.8175669441669,-63.6431023726842)”不在列表中。
答案 0 :(得分:0)
您在一次for循环中消耗了“游标”可迭代次数,然后又在一次for list内部使用了列表理解(第二次和第三次)。
看来您最终想要的是 xy_list = list(光标)
不?
答案 1 :(得分:0)
每行都是一个列表,如果要创建行列表(或矩阵或二维向量),则应将此行作为列表追加到xy_list中:
import arcpy
fc = r'C:\Teste\Teste.gdb\Test_Coord'
xy_list = []
with arcpy.da.SearchCursor(fc, ["LAT", "LON"]) as cursor:
for row in cursor:
print row
xy_list.append(list(row))
print("Print list: {} ".format(xy_list))