Arcpy批处理遥感影像 裁剪、掩膜等

Arcpy简介

ArcGIS采用ArcPy为用户提供了使用Python语言操作所有地理处理工具(包括ArcGIS扩展模块)的方法,并提供了多种有用的函数和类。目的是为以实用高效的方式通过Python执行数据处理分析、数据转换、数据管理和地图自动化创建基础。因此,使用Python和ArcPy,可以实现地理或遥感大数据的批量处理。

Arcpy无法单独安装使用,其底层实现是完全依托在ArcGIS上的,ArcGIS Desktop安装后,在安装目录下会出现Arcpy文件夹,其中包含有Python函数、类和模块。用户可以使用Python语言调用ArcObject的相关类。

此处以裁剪和掩膜提取为例,看完可以迅速上手简单的其他批处理功能。

批处理裁剪

1、在ArcToolbox中选择数据管理工具—栅格—剪裁,选中右击,点击帮助,向下滑动会看见代码示例,在ArcGIS中的python窗口使用的话,第一个,独立脚本选择第二个。

2、新建一个文本文档,将复制的代码粘贴进去,修改其中的路径、输出名、以及裁剪范围(先试着裁剪一个,复制矩形裁剪的范围),并将后缀名改为 .py,运行即可。

3、如果需要批处理的话,加入一个循环即可,点击运行。

import arcpy
arcpy.env.workspace="I:\\MOD09A1\\"

a=arcpy.ListRasters("*","tif")  #遍历文件夹下所有tif格式文件
for i in a:
    out_raster="I:\\MOD09A1\\Clip\\"+i
    arcpy.Clip_management(i,"106.259522 40.014837 109.897017 41.367304",
                          out_raster,"#", "#", "NONE")
    #四个数据顺序X最小,Y最小,X最大,Y最大

print("all done")

 

批处理掩膜提取

1、上述批处理裁剪是最简单的裁剪,按照矩形进行裁剪,大多数时候想要的是按照选定要素类进行几何裁剪,例如shp文件,得到不规则轮廓,这时就可以采用GIS中按掩膜提取功能,在ArcToolbox中选择Spatial Analyst 工具—提取分析—按掩膜提取。

2、和上述裁剪一样,右击—帮助。复制代码,写入py文件。

3、需要批处理的话,加入for循环。

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "I:\\MOD09A1\\Clip"

# Set local variables
inMaskData = "I:\\Data\\Map\\mask.shp"   
a=arcpy.ListRasters("*","tif")
for i in a:
    arcpy.CheckOutExtension("Spatial")
    out_raster="I:\\MOD09A1\\Mask\\"+i
    arcpy.gp.ExtractByMask_sa(i, inMaskData, out_raster)


print("all done")

 掩膜处理之后,在利用MATLAB进行波段运算时可大大缩减运算时间。

 

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值