加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:如何从文本文件创建点形状文件

发布时间:2020-12-20 13:37:31 所属栏目:Python 来源:网络整理
导读:我正在编写一个 python代码来读取多边形形状文件中的点并将它们保存在点形状文件中. 所以首先我制作了一个文本文件并将点'(x,y)存储在该.txt文件中.然后我尝试从文本文件中创建一个点形状文件,但它给出了一个错误. 这是代码(只是最后一部分): creat point s
我正在编写一个 python代码来读取多边形形状文件中的点并将它们保存在点形状文件中.
所以首先我制作了一个文本文件并将点'(x,y)存储在该.txt文件中.然后我尝试从文本文件中创建一个点形状文件,但它给出了一个错误.
这是代码(只是最后一部分):

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:Lab5P_Code_L5",line 49,in <module>
    point.X,point.Y  = line.split()
  File "C:Program Files (x86)ArcGISDesktop10.1arcpyarcpyarcobjects_base.py",line 87,in _set
    return setattr(self._arc_object,attr_name,cval(val))
RuntimeError: Point: Input value is not numeric

解决方法

你试过调用float(X),float(Y),因为它可能不喜欢字符串吗?

如果您可以将输入转换为numpy数组,则可以一步将其转换为要素类:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读