【arcpy学习实践教程】利用arcpy将文件夹中所有栅格文件转化为矢量文件

【需求】将文件夹中生成的栅格文件转化为矢量文件并合并

【分析】读取文件夹中的所有栅格文件,将栅格文件转换为矢量文件,矢量文件添加字段,合并矢量文件

import os
import arcpy
import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
     reload(sys)
     sys.setdefaultencoding(defaultencoding)
arcpy.env.workspace ="A:\\360data\\重要数据\\桌面\\边境市\\新建文件地理数据库.gdb"
f="A:\\360data\\重要数据\\桌面\\边境市\\新建文件地理数据库.gdb\\"
tmp="A:\\360data\\重要数据\\桌面\\边境市\\tmp.shp"
alline="A:\\360data\\重要数据\\桌面\\边境市\\alline.shp"
n=0
datasets = arcpy.ListRasters()
for f1 in datasets:
         n=n+1
         tmp_path = os.path.join(f,f1)
         line=str(n)+".shp"
         arcpy.AddField_management(tmp_path, "cost", "LONG")
         cursor = arcpy.da.UpdateCursor(tmp_path, ["PATHCOST", "cost"])
         for m in cursor:
                m[1] = m[0]
                cursor.updateRow(m)           
         print tmp_path
         arcpy.RasterToPolyline_conversion(tmp_path, line, "ZERO", "0", "SIMPLIFY", "cost")
         arcpy.AddField_management(line, "name", "TEXT") 
         cursor = arcpy.da.UpdateCursor(line, ["to"]) 
         for m in cursor:
                m[0] = f1
                cursor.updateRow(m)         
         arcpy.Delete_management(tmp)
         arcpy.CopyFeatures_management(alline, tmp)
         arcpy.Delete_management(alline)
         arcpy.Merge_management([line, tmp],alline) 

利用每个栅格文件读取的循环中套入转换成栅格,添加字段和合并要素类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值