我正在尝试创建一个包含单个方形多边形的新多边形要素类,其中包含以下坐标:(0,0),(0,1000),(1000,0)和AND(1000,1000),但是我的脚本一直在“ID,X,Y = string.split(line,”“)”行中遇到“VauleError:解压缩的值太多” 这是我脚本的其余部分:
import arcpy
import fileinput
import string
import os
from arcpy import env
env.workspace = "E:/UNIVERSITY/Exercise08"
env.overwriteOutput = True
outpath ="E:/UNIVERSITY/Exercise08"
newfc = "Results/newpolygon.shp"
arcpy.CreateFeatureclass_management(outpath, newfc, "Polygon")
infile = "E:/UNIVERSITY/Exercise08/challengecoordinates.txt"
cursor = arcpy.da.InsertCursor(newfc, ["SHAPE@"])
array = arcpy.Array()
for line in fileinput.input(infile):
ID, X, Y = string.split(line, " ")
array.add(arcpy.Point(X, Y))
cursor.insertRow([arcpy.Polygon(array)])
fileinput.close()
del cursor
答案 0 :(得分:2)
第01 0 0 0 1000 1000 1000 1000 0
行不会正确解包,在空格上拆分会从该行中生成9个元素的列表,而您只分配3:(id,x,y)。
相反,你应该走线,并将其分解为每个组件所需的部分:
parts = line.split(" ")
id = parts[0] # 01
coord1 = "({},{})".format(parts[1], parts[2]) # 0 0 in input, output (0, 0)
<...>
coord4 = "({},{})".format(parts[7], parts[8]) # 1000 0 in input, output (1000, 0)
从那里你应该能够将你的坐标连接到你描述的WKT。