7

ポリゴン形状ファイルのポイントを読み取り、それらをポイント形状ファイルに保存するための Python コードを書いています。最初にテキスト ファイルを作成し、その .txt ファイルにポイント (x,y) を保存しました。次に、テキスト ファイルからポイント シェープ ファイルを作成しようとしましたが、エラーが発生しました。
ここにコードがあります(最後の部分のみ):

creat point shape-file from text file 
import fileinput
import string
import os
env.overwriteOutput=True
outpath="C:/roadpl"
newfc="newpoint.shp" 
arcpy.CreateFeatureclass_management(outpath, newfc, "Point")
infile="C:/roadpl/roadL5.txt"
cursor=arcpy.da.InsertCursor(newfc, ["SHAPE@"])
array=arcpy.Array()
for line in fileinput.input(infile):
    X, Y=string.split(line, " ")
    array.add(arcpy.Point(X,Y))
cursor.insertRow([arcpy.Point(array)])
fileinput.close()
del cursor

エラーは次のとおりです。

Traceback (most recent call last):
  File "C:\Lab5\P_Code_L5", line 49, in <module>
    point.X, point.Y  = line.split()
  File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\_base.py", line 87, in _set
    return setattr(self._arc_object, attr_name, cval(val))
RuntimeError: Point: Input value is not numeric
4

2 に答える 2

1

おそらく文字列が好きではないので、float(X)、float(Y) を呼び出してみましたか?

入力を numpy 配列に取得できる場合は、それを 1 ステップでフィーチャクラスに変換できます。

http://arcpy.wordpress.com/2012/09/14/building-feature-classes-from-numpy-arrays/

于 2013-10-03T16:31:31.230 に答える