【需求】将文件夹中生成的栅格文件转化为矢量文件并合并
【分析】读取文件夹中的所有栅格文件,将栅格文件转换为矢量文件,矢量文件添加字段,合并矢量文件
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)
利用每个栅格文件读取的循环中套入转换成栅格,添加字段和合并要素类