前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python_gis实现批量tif转换jpg

python_gis实现批量tif转换jpg

作者头像
火星娃统计
发布2022-01-06 21:11:28
1.8K0
发布2022-01-06 21:11:28
举报
文章被收录于专栏:火星娃统计火星娃统计

概述

python_gis实现批量tif转换jpg

概述

目的:将tif格式的遥感图片转换为jpg,匹配下级的I/O操作 why:其实基于linux的convert命令集合bash可以做到普通的tif转jpg,但是对于遥感的图片,也就是栅格数据是不支持这样的转换的,好像是因为tif的格式是32位的,但是普通的图片只有8位数。

代码

思路:通过arcgis将栅格数据导入到arcmap中,再通过界面的导出图片导出,对于少量的图片,完全可以是用手动的方式实现,但是如果量大的数据就不太容易实现了

代码也可以用用gis的批量出图。

代码语言:javascript
复制
# coding: utf-8
import arcpy
from arcpy import env
from arcpy import mapping
import os
path="D:/test"#读取tif目标路径
blank_mxd_path = "D:/test/blank.mxd"# 一个空的mxd文件
target_path="D:/test/out" #转换后的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, resolution=300)
        del mxd, df

结束语

有人说模型构造器也可以实现这个功能,但是不知道具体怎么操作 关于gis和python的结合,我后续抽空将我整理好的代码上传,有需要的可以改改自己用。

今天诸事不顺,不说啦,love & peace。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python_gis实现批量tif转换jpg
    • 概述
      • 代码
        • 结束语
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档