(三十二)arcpy开发&读取shapefile文件信息,并写入txt文件

58 篇文章 18 订阅
52 篇文章 79 订阅

这次我们又来学习一下arcgis的python脚本开发。

今天我们要学习的这个例子是利用arcpy读取某一工作空间下面的所有shapefile数据,然后将读到的矢量shapefile数据一些信息,写入到txt文件中。在这里使用了,arcpy.ListFeatureClasses函数来获取目录下所有的要素类。arcpy.Describe获取文件的描述信息,这里为什么不指定shapefile,是因为,这个函数也可以用于对其他类型的文件。然后相应的借助描述信息来获取shapeType,即图形类型。以及spatialReference.type空间参考类型。当然还有老生常谈的GetCount_management(x)函数,那就是获取记录数了。好了,最后将这些信息写入到txt文件中。那么来看一下最后的实现代码。是不是感觉太low了。

# encoding: utf-8
import  arcpy

arcpy.env.workspace = r"D:\Data\中国国界和省界的SHP格式数据\省界"
inpath = 'D:\\Data\\中国国界和省界的SHP格式数据\\省界\\test.txt'
uipath = unicode(inpath, "utf8")
outFile = open(uipath, "w")
fList = arcpy.ListFeatureClasses()
fList.sort(reverse=False)
for x in fList:
    desc = arcpy.Describe(x)
    sList = desc.shapeType
    cList = arcpy.GetCount_management(x)
    pList = desc.spatialReference.type

    if pList == 'Geographic':

        print "{0} 要素类是 {1} 类型,其中有的条记录. 所有记录是地理坐标".format(x,sList.lower())
        outFile.write(
            "{0} 要素类是 {1} 类型,其中有的条记录. 所有记录是地理坐标.\n".format(x,sList.lower()))
    else:
        print "{0} 要素类是 {1} 类型,其中有的条记录. 所有记录是投影坐标.".format(x, sList.lower(), cList,
                                                                                      str(pList))
        outFile.write("{0} 要素类是 {1} 类型,其中有的条记录. 所有记录是投影坐标.\n".format(x, sList.lower()))
print "EOF\n"

不过在写代码的时候,读取txt文件遇到了如下的错误。因为笔者使用中文路径,致使出现如下的问题,需要按照上面的代码中做相应的调整,才能正确的写入到txt文件中。

那么,我们来看一下最后的写入结果。



                                  更多内容,请微信扫二维码关注公众号,或者加入arcpy开发qq学习群:487352121

                                                                                   

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值