【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) 

利用每個柵格文件讀取的循環中套入轉換成柵格,添加字段和合並要素類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章