其实arcgis中的python编程挺友好的,一般每个功能都会附带python的实现代码,实现批量化的话,一般只需要加上一个for循环和占位符即可。
我在这里实现的是批量“要素转栅格”。
下面是arcgis中自带的要素转栅格代码
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Clip_analysis("majorrds.shp", "study_quads.shp", "C:/output/studyarea.shp")
这是我的shp文件,一共是大概有1600*14个文件
# -*- coding: UTF-8 -*-
# 作 者 : PeiQi
# 开发时间 : 2021/9/20 0020 下午 9:17
# 文件名称 : 0920test.PY
# 开发工具 : PyCharm
import arcpy
from arcpy import env
env.workspace = r"C:\Users\Administrator\Desktop\longxiang_test\0920shp_to _tif\shp"
for i in range(1601):
print("正在处理第%d" %i ,"张影像。。。")
arcpy.FeatureToRaster_conversion("I_Export_Output_MultipartToSin_OBJECTID_%s.shp" %i, "FID", r"C:\Users\Administrator\Desktop\longxiang_test\0920shp_to _tif\tif\OBJECTID_%s.tif" %(i+1))
首先选择工作空间(存放shp文件的文件夹),提前新建一个存放新生成tif文件的文件夹(tif)直接加for循环以及在选择输入输出文件时,使用占位符进行累加命名即可。
我这里for中的终止参数给的比较弱智,正常来讲应该是程序遍历计算文件夹中shp文件数,并以该数值为终止条件的。
0924重新使用该程序,发现操作,python2.7的乱码咱也看不懂
出错原因:
待转换的文件命名修改一下:第一个后面加上"_0"