本文介绍基于PythonArcPy模块,对大量栅格遥感影像文件进行批量掩膜批量重采样的操作。

  首先,我们来明确一下本文的具体需求。现有一个存储有大量.tif格式遥感影像的文件夹;且其中除了.tif格式的遥感影像文件外,还具有其它格式的文件。

  我们希望,依据一个已知的面要素矢量图层文件,对上述文件夹中的全部.tif格式遥感影像进行掩膜,并对掩膜后的遥感影像文件再分别加以批量重采样,使得其空间分辨率为1000 m。

  明确了需求后,我们就可以开始具体的操作。首先,本文所需用到的代码如下。

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 15 16:44:26 2022 @author: fkxxgis
""" import arcpy
from arcpy.sa import * tif_file_path="E:/LST/Data/NDVI/03_Mosaic/"
shp_file="E:/LST/Data/Region/YellowRiver_nineprovince.shp"
out_file_path="E:/LST/Data/NDVI/04_Mask/"
resample_file_path="E:/LST/Data/NDVI/05_Resample/"
arcpy.env.workspace=tif_file_path
arcpy.env.extent=shp_file tif_file_name=arcpy.ListRasters("*","tif")
for tif_file in tif_file_name:
mask_result=ExtractByMask(tif_file,shp_file)
mask_result_path=out_file_path+"/"+tif_file.strip(".tif")+"_Mask.tif"
mask_result.save(mask_result_path) arcpy.env.workspace=out_file_path
tif_file_name=arcpy.ListRasters("*","tif")
for tif_file in tif_file_name:
resample_file_name=tif_file.strip(".tif")+"_Re.tif"
arcpy.Resample_management(tif_file,resample_file_path+resample_file_name,
1000,"BILINEAR")

  其中,tif_file_path是原有掩膜前遥感图像的保存路径,shp_file是已知面要素矢量图层文件的保存路径,out_file_path是我们新生成的掩膜后遥感影像的保存路径,resample_file_path则是最终重采样后遥感影像的保存路径。

  在这里,我们首先利用arcpy.ListRasters()函数,获取路径下原有的全部.tif格式的图像文件,并存放于tif_file_name中;随后,遍历tif_file_path路径下全部.tif格式图像文件(即遍历tif_file_name),并利用ExtractByMask()函数进行掩膜操作;其次,对于掩膜好的图层,在其原有文件名后添加"_Mask.tif"后缀,作为新文件的文件名。

  对全部图像文件完成掩膜操作后,我们继续进行重采样操作。和前述代码思路类似,我们依然还是先遍历文件,并在其原有文件名后添加"_Re.tif"后缀,作为新文件的文件名;随后,利用Resample_management()函数进行重采样。其中,1000表示重采样的空间分辨率,在这里单位为米;"BILINEAR"表示用双线性插值的方法完成重采样。

  以上便是本次操作的全部代码;我们这里选择在 IDLE (Python GUI) 中运行代码。运行完毕,得到的一个结果文件如下图;可以看到,遥感影像已经完成了掩膜,且空间分辨率已经为1000 m。

  至此,大功告成。

Python ArcPy批量掩膜、重采样大量遥感影像的更多相关文章

  1. Earthdata批量下载MODIS遥感影像的方法

      本文介绍在Earthdata网站中,批量下载MODIS遥感影像的方法.   首先,打开网页:https://search.earthdata.nasa.gov/search ,如果没有Earthd ...

  2. ArcGis Python脚本——批量添加字段

    先看如何增加一个字段 函数:arcpy.AddField_management 语法:AddFields_management (in_table, field_description) 参数 说明 ...

  3. 遥感影像滤波处理软件 — timesat3.2

    最近因为要做遥感影像的滤波处理,经过女神推荐,决定用Timesat,可是该软件3.1版本只适合xp系统以及2011的matlab,后来在官网上找到了最新的3.2版本.支持64位操作系统以及2014的m ...

  4. 在matlab中进行遥感影像地理坐标的相互转换

    在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...

  5. 在matlab中实现遥感影像和shp文件的结合显示

    clc;close all;clear; road=shaperead('boston_roads.shp'); %读取shape文件 figure, mapshow('boston.tif'); % ...

  6. 1. GDAL与OpenCV2.X数据转换(适合多光谱和高光谱等多通道的遥感影像)

    一.前言 GDAL具有强大的图像读写功能,但是对常用图像处理算法的集成较少,OpenCV恰恰具有较强的图像处理能力,因此有效的结合两者对图像(遥感影像)的处理带来了极大的方便.那么如何实现GDAL与o ...

  7. GDAL与OpenCV2.X数据转换(适合多光谱和高光谱等多通道的遥感影像)

    一.前言 GDAL具有强大的图像读写功能,但是对常用图像处理算法的集成较少,OpenCV恰恰具有较强的图像处理能力,因此有效的结合两者对图像(遥感影像)的处理带来了极大的方便.那么如何实现GDAL与o ...

  8. 基于GDAL的遥感影像显示(C#版)

    基于GDAL的遥感影像显示(C#版) - 菜菜的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/RSyaoxin/article/details/9220735

  9. python脚本批量生成数据

    在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...

  10. Python 实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/file_for_downl ...

随机推荐

  1. RN 手势响应系统基本用法和获取坐标判断用户手势方向

    1. 基本使用,注意两点 (1)将手势系统的函数放在"componentWillMount"生命周期函数里面,当时会有警告,警告自己看吧 (2)将方法使用ES6扩展运算符展开 im ...

  2. 32 项目结构 & 事务 & Logging日志

    1 项目结构 以下主要是以drf编写api时的结构为示例. 1.1 APP结构 1.1.1 单APP 例如:订单系统 1.1.2 Base + 业务APP 例如:供应链系统 1.1.3 独立的APP ...

  3. arthas jad 反编译 xxx类 ,报 No class found for:xxx

    可能的原因: 类名不对,需要用全限定名,并且注意区分大小写 根据官方的文档,arthas jad 只能反编译已经加载的类.

  4. springboot修改默认端口

    方案一: src/main/resuorces 文件夹下新建application.properties 文件 并添加内容server.port=8011即可 方案二: 使用EmbeddedServl ...

  5. esxi 6.7手动安装阵列卡驱动()2023-01.03

    一.登录vmware后台在兼容性列表里面查找驱动,https://www.vmware.com/resources/compatibility/search.php 二. 下载对应的驱动https:/ ...

  6. 关于ERROR 1366 (HY000): Incorrect string value: '\xF0\x9F\x87\xA8\xF0\x9F...'报错的解决心得

    昨天发现MySQL数据库执行发生了报错 ERROR 1366 (HY000): Incorrect string value: '\xF0\x9F\x87\xA8\xF0\x9F...' 马上意识到应 ...

  7. Git简介及使用

    1.Git简介 GIT= 版本控制 + 备份服务器 我们称用来存放上传档案的地方就做Repository.用中文来说,有点像是档案仓库的意思. 不过,通常我们还是使用Repository这个名词.当有 ...

  8. Vivado工程常见报错及解决办法

    1. 在进行自定义 IP 后,将自定义 IP 添加到当前的工程时,出现如下报错: [IP_Flow 19-167] Failed to deliver one or more file(s). [IP ...

  9. Git本地仓库的文件夹不显示红色感叹号、绿色对号等图标

    参考 https://blog.csdn.net/Elon15/article/details/125898375 主要是  在文件名前加8个空格(最少8个)!!!!

  10. Oracle “ORA-12154: TNS: 无法解析指定的连接标识符”错误------网络摘录

    相信使用过Oracle数据库的人一定碰到过"ORA-12154: TNS: 无法解析指定的连接标识符"错误,我在此做一个小小的总结. 在程序中连接Oracle数据库的方式与其他常用 ...