【发布时间】:2014-01-07 14:10:38
【问题描述】:
我是 python 编程的新手,我有一个相当简单的项目,但遇到了一些困难。我想(a)提取 shapefile(多边形)顶点的 XY 坐标,(2)将所有坐标写入 csv 文件,其中第一列具有 X 坐标,第二列具有 Y 坐标。到目前为止,我编写的代码将顶点坐标写入 csv 文件,但坐标的每个数字都放在不同的列中。
到目前为止,这是我的代码:
import arcpy, os, csv
from arcpy import env
workspace = "J:/Folder/"
arcpy.env.overwriteOutput = True
myPath = workspace
oFile = open(myPath + "xyCoord.csv", "w")
polygon = myPath + "Polygon2.shp"
writer = csv.writer(oFile, delimiter = ',', dialect = 'excel', lineterminator = '\n')
writer.writerow(['X', 'Y'])
for row in arcpy.da.SearchCursor(polygon, ["OID@", "SHAPE@"]):
print ("Feature {0}:".format(row[0]))
partnum = 0 # Prints the current multipont's ID
for part in row[1]:
print ("Part {0}:".format(partnum)) # Prints the part number
for vertex in part:
print ("{0}, {1}".format(vertex.X, vertex.Y))
writer.writerow(str(vertex.X) + str(vertex.Y))
partnum += 1
oFile.close()
【问题讨论】: