本文介绍在ArcMap软件中,实现栅格图像重采样的具体操作,以及不同重采样方法的选择依据。

  在之前的博客中,我们介绍了基于PythonArcpy模块对栅格图像加以批量重采样的方法;而在ArcMap软件中,我们可以实现不需要代码的栅格重采样操作;本文就对这一操作方法加以具体介绍。

  首先,如下图所示,是我们待重采样的栅格图像的属性界面。其中,可以看到此时栅格像元的边长为0.4867左右(由于图层是地理坐标系,所以单位就是)。

  接下来,我们即可开始重采样操作。首先,在ArcMap软件中,依次选择“System Toolboxes”→“Data Management Tools.tbx”→“Raster”→“Raster Processing”→“Resample”选项;如下图所示。

  随后,即可弹出“Resample”窗口。在窗口的第一个选项中,输入我们待重采样的栅格文件;在第二个选项中,配置输出结果的路径与文件名称;随后,第三个选项是设置重采样后栅格像元大小的参数,可以直接通过其下方XY的数值来指定像元大小,也可以通过其他栅格文件来指定;最后,第四个选项就是重采样所采用的方法。

  上述窗口中的参数整体也都很简单,也非常好理解;但主要是最后一个选项,也就是重采样方法的选择值得进一步探究。在实际应用过程中,我们究竟该选择哪一个方法呢?我们来看一下ArcGIS官网对不同方法的介绍;如下图所示。

  可以看到,ArcGIS官方一共提供了4种栅格数据重采样的方法,分别是最邻近分配法(NEAREST)、众数算法(MAJORITY)、双线性插值法(BILINEAR)与三次卷积插值法(CUBIC)。

  首先,最邻近分配法是速度最快的插值方法。这一方法主要用于离散数据(如土地利用分类数据),因为这一方法不会更改像元的值。使用这一方法进行重采样,最大空间误差将是像元大小的一半。

  其次,众数算法根据过滤器窗口中频率最高的数值来作为像元的新值。其与最邻近分配法一样,主要用于离散数据;但与最邻近分配法相比,众数算法通常可生成更平滑的结果。众数算法将在与输出像元中心最接近的输入空间中查找相应的4 x 4像元,并使用4 x 4相邻点的众数作为像元的新值。

  再次,双线性插值法基于四个最邻近的输入像元中心的加权平均距离来确定像元的新值。这一方法对连续数据非常有用(且只能对连续数据使用),且会对数据进行一些平滑处理。

  最后,三次卷积插值法通过拟合穿过16个最邻近输入像元中心的平滑曲线确定像元的新值。这一方法仅适用于连续数据,但要注意其所生成的输出栅格可能会包含输入栅格范围以外的值。如果大家不想出现这种情况,按照官方的说法,就需要转而使用双线性插值法。与通过运行最邻近分配法获得的栅格相比,三次卷积插值法的输出结果的几何变形程度较小。三次卷积插值法的缺点是需要更多的处理时间。

  了解上述原理,我们就对选择哪一个方法有了比较清楚地认识。例如,我这里需要进行重采样操作的是一个类别数据,因此就只能选择最邻近分配法众数算法;而后,我们可以结合实际需要进行2种方法的二选一即可(或者直接用2种方法运行一遍,看看哪一个方法对应的结果更符合自己的需要)。如果大家需要进行重采样操作的是连续数据,那么4种方法理论上都是可以的,但是后2种方法相对更适合一些;大家结合需要选择或者分别运行一次,找到最合适的结果即可。

  重采样后,可以看到结果数据中像元的大小已经是我们需要的数值了。

  至此,大功告成。

ArcGIS遥感影像重采样操作及不同算法对比的更多相关文章

  1. 遥感影像和DEM数据获取处理、GeoServer切片发布并使用Cesium加载

    1. 数据获取 笔者这里使用的是哨兵一号(Sentinel-1).ALOS的遥感影像和ALOS的DEM数据 下载地址为:ASF Data Search (alaska.edu) ASF(Alaska ...

  2. Python ArcPy批量掩膜、重采样大量遥感影像

      本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作.   首先,我们来明确一下本文的具体需求.现有一个存储有大量.tif格式遥感影像的文件夹:且其中除了 ...

  3. ARCGIS多种影像裁剪

    在互联网上下载的遥感影像都进行过分幅处理,下载下来的影像多是规则的四方形,而在进行遥感影像研究时,多是针对特定区域来进行,比如研究北京市的遥感影像,不在北京市范围内的影像对于研究者就没有利用意义,如果 ...

  4. Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据

      本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法.   前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...

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

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

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

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

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

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

  8. ArcGIS调整影像颜色输出

    有碰到一些质量很差的遥感影像,颜色需要进行调整(主要是针对看)输出,这里记录一下ArcGIS中的调整输出方式. 1.首先把影像文件拖入ArcMap中,然后右键单击图层列表中的图像,选择属性. 2.选择 ...

  9. DGIS之遥感影像数据获取

    1.概要 在GIS圈的同行或多或少接触过遥感,记得在大学老师就说过"数据是GIS的核心".本文介绍在国内下载遥感影像的方法. 地理空间数据云,这个是中科院计算机网络中心建设的一个免 ...

  10. 深度学习遥感影像(哨兵2A/B)超分辨率

    这段时间,用到了哨兵影像,遇到了一个问题,就是哨兵影像,它的RGB/NIR波段是10米分辨率的,但是其他波段是20米和60米的,这就需要pansharpening了,所以我们需要设计一种算法来进行解决 ...

随机推荐

  1. cesium中添加建筑白模

    1.在cesium中添加模型依赖于Cesium ion帐户的资产id,在这里创建账户. 2.上传模型(模型文件类型在Cesium ion中有说明,模型的提取办法可在这里查看)到账户中并平铺为3D Ti ...

  2. 【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管

    问题现象 ps -ef | grep yas 查看无yasom和yasagent进程,且在{数据库安装目录}/om/{数据库名称}的目录下没有conf.data.log等目录,确定数据库不是用yasb ...

  3. Falcon Mamba: 首个高效的无注意力机制 7B 模型

    Falcon Mamba 是由阿布扎比的 Technology Innovation Institute (TII) 开发并基于 TII Falcon Mamba 7B License 1.0 的开放 ...

  4. JavaScript Library – PhotoSwipe

    效果 前言 以前用过 lightbox2 和 fancyapps. lightbox2 已经没有维护了. fancyapps 改版好多次了. v2, v3 现在 v4 已经开始收费了. PhotoSw ...

  5. CSS – 实战 Font

    前言 这篇想整理一下在网页开发中, 字体是如果被处理的. 先看完: 平面设计 – 字体 CSS – Font / Text 属性 CSS – Font Family CSS – word-break, ...

  6. EF Core – Soft Delete 实现

    前言 在 SQL Server – Soft Delete 中, 讲到了如果在 SQL Server 实现 Soft Delete. 这篇来说说, EF Core 在中间扮演的角色. 主要参考 Ent ...

  7. linux java 初始环境配置

    linux初始环境配置 1.设置IP 查看虚拟机ip地址:ip addr 修改ip地址 Vi /etc/sysconfig/network~scrips/ifcfg-ens33(不一定是33 动态的) ...

  8. Nuxt.js 应用中的 app:suspense:resolve 钩子详解

    title: Nuxt.js 应用中的 app:suspense:resolve 钩子详解 date: 2024/10/6 updated: 2024/10/6 author: cmdragon ex ...

  9. vector<char>转string的方法

    要将 std::vector<char> 转换为 std::string,可以通过 std::string 的构造函数直接从 vector 中构建字符串. 假设 std::vector&l ...

  10. webpack中 ,有哪些常见的Loader?他们是解决什么问题的?

    1. css-loader 翻译css ,可以把sass / less 代码翻译成 css 代码 : 2. imgage-loader 加载并压缩图片文件 3. source-map-loader 加 ...