Arcgis批量获取遥感影像范围方法记录

Arcgis批量获取遥感影像范围方法记录

1.栅格遥感影像经过配准校正后产生黑边,为方便拼接,现需要对影像的有效范围进行提取。
在这里插入图片描述
2.利用3D Analyst栅格范围工具(注意勾选扩展模块)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转换失败
在这里插入图片描述
3.查询帮助文件:此工具用于在栅格表面运行,且只能在单波段栅格多波段栅格的特定波段上运行。输出要素可使用数据值捕获连续像元的边界,其Z值沿表面周长进行插值。可通过将栅格内最外侧像元的中心连接起来来定义周长。如果栅格具有以 NoData 像元分隔的不连续数据像元,则输出几何将被放置到一个要素记录中,并且可能会由多部分要素组成。
故选择其中一个波段进行范围提取
在这里插入图片描述
在这里插入图片描述
4.提取成功,但发现仍不是有效范围,检查栅格属性发现Nodata值为(256,256,256)
在这里插入图片描述
5.编辑NoData改为(0,0,0)
在这里插入图片描述
6.重新提取栅格范围
在这里插入图片描述
7.使用python对上述流程编码,批量提取栅格范围:
在这里插入图片描述
8.执行后报错:
在这里插入图片描述
9.发现该方法不能直接访问栅格波段,尝试直接输入栅格路径后执行成功:
在这里插入图片描述
在这里插入图片描述
10.结果发现在arcgis中执行失败的栅格范围工具采用arcpy调用时能成功执行,故将部分代码简化,代码如下:

# -*- coding: utf-8 -*-
import os
import arcpy
arcpy.env.overwriteOutput = True    #允许覆盖输出
arcpy.env.workspace = u"D:\影像范围.gdb"       #输出位置
image_path = u"D:/成果目录"       #影像存放路径
for parent, dirnames, filenames in os.walk(image_path):
    for image in filenames:
        image_name = image.split('.')[0]       # 获取文件名
        image_type = image.split('.')[-1]      # 获取文件类型
        if image_type == 'tif' or image_type == 'img':
            parent1= parent.replace('/','\\')    #替换
            WZLJ = os.path.join(parent1,image)   #添加路径
            print(WZLJ)
            arcpy.management.SetRasterProperties(WZLJ,None,None,None,[[1, 0],[2, 0],[3, 0]]) #设置nodata
            arcpy.RasterDomain_3d(WZLJ,image_name, "POLYGON")

11.使用上述代码能批量提取存放路径下所有影像的范围,并输出相同名称shp,对于影像拼接时,选取影像提供了便利。
最近较闲,总结近年工作经验,希望大家多多关注!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ825023013

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值