Estoy tratando de escribir un script que cree una nueva clase de entidad poligonal que contenga un único polígono (cuadrado) con las siguientes coordenadas: (0, 0), (0, 1,000), (1,000, 0) y (1,000, 1,000) .
import arcpy
import fileinput
import string
import os
from arcpy import env
env.workspace = "D:/UW/Winter_2016/501/w5_more_arcpy8_9_10/ex8"
env.overwriteOutput = True
infile = "D:/UW/Winter_2016/501/w5_more_arcpy8_9_10/ex8/coordinatesEx8.txt"
for line in fileinput.FileInput(infile):
ID, X, Y = string.split(line, " ")
array.add(arcpy.Point(X, Y))
cursor.insertRow([arcpy.Polygon(array)])
fileinput.close()
outpath = "D:/UW/Winter_2016/501/w5_more_arcpy8_9_10/ex8"
newfc = "newFeatureClassEx8.shp"
arcpy.CreateFeatureclass_management(outpath, newfc, "Polygon")
cursor = arcpy.da.InsertCursor(newfc, ["SHAPE@"])
array = arcpy.Array()
del cursor
coordenadasEx8.txt se ve así a continuación
1 0 1000
2 1000 0
3 1000 1000
4 0 0
Colgando en esta línea:
for line in fileinput.FileInput(infile):
Mensaje de error:
ValueError: too many values to unpack
¿alguna sugerencia? Estoy perdido, pensé que era la configuración de mi archivo .txt, pero sigo colgando de ese error sin importar qué. No estoy seguro de cómo proceder, esta es la pregunta antes de mi pregunta de tarea real que será mucho más difícil ... también originalmente el ciclo for era:
for line in fileinput.input(infile):
que dio un error diferente ...
fuente
Este script funcionó para mí:
(inspirado en respuestas anteriores y en ejemplos aquí: https://pro.arcgis.com/en/pro-app/arcpy/get-started/writing-geometries.htm )
[x,y]
)cursor
como geometría en una nueva clase de entidadGuión:
fuente