一、实现的思路
实现的思想是:把数据导入到Arcmap中,然后执行导出命令。
以上结果通过Python中的Arcpy实现。
二、效果预览
三、实现过程
在运行程序之前,请先通过arcgis自行生成一个空白的mxd文件
废话不多说,上代码!
# coding: utf-8
import arcpy
from arcpy import env
from arcpy import mapping
import os
path="E:\GSH\hubei_water_clip"#读取tif目标路径
blank_mxd_path = "C:/Users/guoshihui/Desktop/blank.mxd"# 一个空的mxd文件
target_path="E:\GSH\JPGS" #转换后的jpg路径
for file in os.listdir(path):
if file[-3:]=="tif":#选择tif格式的图片
print (file)
# 导入mxd文件,也就是arcmap的保存文件
mxd = arcpy.mapping.MapDocument(blank_mxd_path)
df = arcpy.mapping.ListDataFrames(mxd)[0]#dataframe没具体意义
tif_path = os.path.join(path,file)
# 创建raster对象
raster = arcpy.Raster(tif_path)
arcpy.MakeRasterLayer_management(raster,'rasterLayer')
layer = arcpy.mapping.Layer("rasterLayer") # make layer
arcpy.mapping.AddLayer(df, layer, "AUTO_ARRANGE") # add layer
# mxd.saveACopy("D:/test/test.mxd")
# mxd=arcpy.mapping.MapDocument("D:/test/test.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
new_name=file[:-4]+"jpg"
file_target=os.path.join(target_path, new_name)
# 导出图片命令
arcpy.mapping.ExportToJPEG(mxd, file_target, df, df_export_width=1024, df_export_height=1024,jpeg_quality=100, resolution=30)
del mxd, df
希望可以帮助到有需要的小伙伴们!