J'essaie d'écrire un script qui crée une nouvelle classe d'entités surfaciques contenant un seul polygone (carré) avec les coordonnées suivantes: (0, 0), (0, 1 000), (1 000, 0) et (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
coordonnéesEx8.txt ressemble à ceci ci-dessous
1 0 1000
2 1000 0
3 1000 1000
4 0 0
Raccrocher sur cette ligne:
for line in fileinput.FileInput(infile):
Message d'erreur:
ValueError: too many values to unpack
Aucune suggestion? Je suis à perte, je pensais que c'était la configuration de mon fichier .txt mais continue de m'attendre à cette erreur quoi qu'il arrive. Je ne sais pas comment procéder, c'est la question avant ma vraie question de devoirs qui sera beaucoup plus difficile ... aussi à l'origine la boucle for était:
for line in fileinput.input(infile):
ce qui a donné une erreur différente ...
la source
Ce script a fonctionné pour moi:
(inspiré des réponses précédentes et des exemples ici: https://pro.arcgis.com/en/pro-app/arcpy/get-started/writing-geometries.htm )
[x,y]
)cursor
tant que géométrie dans une nouvelle classe d'entitésScénario:
la source