首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言批量拼接遥感影像

本文介绍基于R语言中raster包,遍历文件夹,读取文件夹下大量栅格遥感影像,并逐一对每一景栅格图像加以拼接、融合,使得全部栅格遥感影像拼接为完整一景图像方法。   ...其中,本文是R语言来进行操作;如果希望基于Python语言实现类似的批量拼接、镶嵌操作,大家可以参考Pythonarcpy栅格创建与多景遥感影像批量拼接与ArcPy依据成像时间分别批量拼接不同时相遥感影像这两篇文章...首先,来看一下本文所需实现需求。如下图所示,现有一个文件夹,其中含有大量栅格遥感影像;这些遥感影像均为同一成像时间、不同空间范围遥感影像。...此时,tif_file_name变量存放是指定文件夹下全部栅格遥感影像文件名称,而不是遥感影像文件自身;而接下来我们进行拼接、融合函数,都需要保证函数参数遥感影像是一个栅格对象(Raster...,且也不关心;因此就结合这一函数,将刚刚已经转为栅格对象(Raster* object)类型图像所组成列表tif_file_list作为参数,do.call()函数来调用mosaic()函数,直到将

26910

1985-2020 年阿拉斯加育空地区按植物功能类型划分模型表层覆盖率

环境变量代表地形、气候、永久冻土、水文物候梯度,光谱变量基于 1984-2020 年间收集陆地卫星专题成像仪 (TM)、增强型专题成像仪增强版 (ETM+) 陆地成像仪 (OLI) 数据。...估算值是通过两个随机梯度增强模型组合得出,这两个模型使用了环境变量光谱变量。...环境变量代表地形、气候、永久冻土、水文物候梯度,光谱变量基于 1984-2020 年间收集陆地卫星专题成像仪 (TM)、增强型专题成像仪增强版 (ETM+) 陆地成像仪 (OLI) 数据。...根据独立空间阻断测试褶皱预测结果评估模型性能。为进一步了解误差,计算了观测预测覆盖值平均绝对误差(MAE)、均方根误差(RMSE)、偏差 R²。...数据采集、材料方法 时间序列 PFT 模型训练预测使用了一套环境光谱变量。环境变量代表整个研究区域地形、气候、永久冻土、水文物候梯度,对所有模型都是恒定

10410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言遍历不同文件夹并计算各文件夹内栅格图像平均值

    本文介绍基于R语言中raster包,遍历读取多个文件夹下多张栅格遥感影像,分别批量对每一个文件夹多个栅格图像计算平均值,并将所得各个结果栅格分别加以保存方法。   ...其中,本文是R语言来进行操作;如果希望基于Python语言实现类似的平均值求取操作,大家可以参考Python ArcPy求取长时间序列栅格影像逐像元平均值与Python忽略NoData求取多时相遥感影像平均值这两篇文章...例如,打开第一个名为47RMN文件夹,其中均为条带号为47RMN(即同一空间范围)、不同成像时间遥感影像,如下图所示;其中,紫色框内遥感影像文件名即可看出,这些图像是同一条带号、不同时间遥感影像数据..., "\n") }   首先,需要通过library(raster)代码,导入本文所需R语言raster包;关于这一包配置,大家可以参考R语言raster包读取栅格遥感影像。...接下来,我们需要指定结果存放路径,并将其放入变量result_path

    39030

    ArcPy栅格裁剪:对齐多个栅格图像范围、统一行数与列数

    本文介绍基于PythonArcPy模块,实现基于栅格图像批量裁剪栅格图像,同时对齐各个栅格图像空间范围,统一其各自行数与列数方法。   首先明确一下我们需求。...现有某一地区多张栅格遥感影像,其虽然都大致对应着同样地物范围,但不同栅格影像之间空间范围、行数与列数、像元位置等都不完全一致;例如,某一景栅格影像会比其他栅格影像多出一行,而另一景栅格影像可能又会比其他栅格影像少一列等等...我们希望可以以其中某一景栅格影像为标准,将全部栅格影像具体范围、行数、列数等加以统一。   本文所用到具体代码如下。...这里需要注意,如果大家各个栅格图像,行数与列数最少栅格不是同一个栅格,那么可以分别用行数最少、列数最少这两个栅格分别作为模板,执行两次上述代码。   ...,逐一取出tif_file_list列表栅格文件,进行裁剪处理。

    44220

    GDAL读取坐标起点在像素左上角还是像素中心?

    问题 笔者在处理地理栅格数据时候,总是会发生偏差半个像素问题。...比如说通过ArcMap打开一张.tif,查看其地理信息;同时记事本打开.tfw,比较两者得地理信息: 同样起点位置(左上角坐标),两者却相差半个像素距离。...结论 经过比较论证,笔者发现GDALArcMap在处理TIF格式地理栅格数据时候,都遵循以下原则: GDAL/ArcMap读取起点位置都是左上角像素左上角位置。...例外 GDALArcMap都没有区分处理地理栅格数据是DEM(地形)还是DOM(影像),其实对于地形栅格数据,很多时候会把起点位置处理成左上角像素中心位置。...比如说软件GlobalMapper,打开TIF时候会询问是将其作为DEM处理还是DOM处理。当作为DEM处理时候,其余原则一样,但是读取起点就是左上角像素中心位置了。

    1.3K20

    Python提取大量栅格文件各波段时间序列与数值变化

    本文介绍基于Python语言,读取文件夹下大量栅格遥感影像文件,并基于给定一个像元,提取该像元对应全部遥感影像文件,指定多个波段数值;修改其中不在给定范围异常值,并计算像元数值在每一景遥感影像变化差值...现在有一个文件夹,如下图所示;其中,存放了大量遥感影像文件,且每一景遥感影像都是同一个空间位置、不同成像时间对应遥感影像,因此其空间参考信息、栅格行数与列数等都是一致。...这个函数接收两个参数input_folderoutput_csv,分别表示存储栅格数据文件夹路径输出Excel文件路径。...读取当前波段数据,并存储在band_data变量。随后基于我们给定像元位置,提取目标像元数值(位置就是这个[target_row, target_col])。...此外,为了使得我们保存结果时可以记录每一个数值对应成像日期,因此需要从文件名中提取日期,并存储在date变量

    10110

    GDAL命令:一行代码转换坐标系

    本文介绍基于gdal模块,在命令行通过GDAL命令方式(不是Python或者C++代码,就是gdal模块自身提供命令行工具),对栅格遥感影像数据加以投影,即将原本地理坐标系转为投影坐标系方法...我们现在有一个.tif格式栅格遥感影像文件,其空间坐标系为GCS_WGS_1984,也就是WGS84,是一个地理坐标系;在ArcMap软件中将其打开,可以看到其空间坐标系及空间分辨率单位(经纬度),...随后,在弹出命令行,我们首先cd进入存储有原文件(也就是待投影栅格遥感影像文件)路径下,然后输入如下代码。...其中,需要注意,我们也可以不cd进入存储有原文件(也就是待投影栅格遥感影像文件)路径,但那样就必须在上述代码前2个参数,将栅格遥感影像文件名称用完整绝对路径来表示;否则就会如上图紫色框上方那个报错一样...随后,按照Windows环境变量设置方法提到方法,在系统变量,新建一个名叫PROJ_LIB变量,并将proj这个文件夹路径作为其值。如下图所示。

    60010

    ArcPy切分大量遥感影像为多个网格区域方法

    本文介绍基于PythonArcPy模块,依据渔网矢量数据文件或通过手动划分小方格方法,批量将大量栅格图像分割为多个矩形小栅格方法。   首先明确一下我们需求。...现有同一区域内多张栅格遥感影像,我们希望对于每一景栅格遥感影像而言,都将其分割为多个小矩形;其中,分割后每一个小矩形就是一个新栅格文件。   知道了需求,我们便可以开始具体实践操作。...,关于接下来用渔网格网去裁剪栅格图像,大家可以参考文章依据矢量要素批量分割栅格为多部分:ArcPy。   ...本文主要介绍第二种方法——基于ArcPy模块SplitRaster_management()函数,手动划定每一个小矩形范围与大小,并直接裁剪每一景栅格遥感影像(也就是不再基于矢量文件来裁剪了)。...其中,我们前面也提到了,本文代码与上述文章代码不一致地方在于,这里是在SplitRaster_management()函数手动划定每一个小矩形具体大小,而上述文章则是一个已经得到矢量要素文件去分割栅格

    22010

    依据矢量要素批量分割栅格为多部分:ArcPy

    本文介绍基于PythonArcPy模块,基于具有多个面要素要素类,批量分割大量栅格图像方法。   首先明确一下我们需求。现在需要基于一个面要素类,对一个栅格遥感影像加以分割;如下图所示。...这个面要素类中有3个部分,我们希望将背景这个遥感影像也依据这3个要素划分方式,进行切割,从而得到3个小区域对应栅格数据。...同时,我们有很多张同一空间范围栅格遥感影像,都希望通过这一方式对其加以分割,即需要批量进行上述操作。   ...,逐一取出tif_file_list列表栅格文件,进行分割处理。   ...其中,前两个参数就分别是我们待处理数据结果数据保存路径,第三个参数是每一个大栅格图像(也就是待分割图像)在被分为多个小图像后,每一个小图像命名前缀。

    30940

    依据矢量要素批量分割栅格为多部分:ArcPy

    本文介绍基于PythonArcPy模块,基于具有多个面要素要素类,批量分割大量栅格图像方法。   首先明确一下我们需求。现在需要基于一个面要素类,对一个栅格遥感影像加以分割;如下图所示。...这个面要素类中有3个部分,我们希望将背景这个遥感影像也依据这3个要素划分方式,进行切割,从而得到3个小区域对应栅格数据。...同时,我们有很多张同一空间范围栅格遥感影像,都希望通过这一方式对其加以分割,即需要批量进行上述操作。   ...,逐一取出tif_file_list列表栅格文件,进行分割处理。   ...其中,前两个参数就分别是我们待处理数据结果数据保存路径,第三个参数是每一个大栅格图像(也就是待分割图像)在被分为多个小图像后,每一个小图像命名前缀。

    40230

    Pythonarcpy栅格创建与多景遥感影像批量拼接

    在这里,我们默认所得拼接结果图层为一个(也就是file_path文件夹全部待处理遥感影像最终全拼接在一起);如果大家需要使得拼接结果图层是多幅(也就是file_path文件夹待处理遥感影像依据区域...、时间等分为很多不同部分,每一部分拼接在一起),可以参考Pythongdal栅格影像读取计算与写入及质量评估QA波段筛选掩膜,利用其中循环方式实现需求。   ...在这里,我们选择file_path路径下第一个栅格数据(下称“第一栅格”)作为新栅格图层各项属性(例如像素边长、像素数据格式等)依据。...再利用arcpy.GetRasterProperties_management()函数获取第一栅格数据格式;最后利用中间变量describe获取第一栅格空间参考信息。   ...我之前就是由于选用了32 bit float格式栅格数据进行拼接,导致全球范围MODIS一个植被产品数据拼接花了将近一天时间。

    35430

    利用 Python 处理遥感影像数据:计算年度平均影像

    在地球科学、气象学以及环境监测等领域,遥感影像数据是一种重要信息源,它们可以提供地表地形、植被覆盖、气候变化等丰富信息。...然而,随着观测技术进步,我们通常会获得大量遥感影像数据,如何高效地处理分析这些数据成为了一项挑战。...本文将介绍如何利用 Python GDAL 库处理遥感影像数据,并通过计算年度平均影像来提取更有意义信息。 1. 环境准备 在开始之前,确保你已经安装了 Python GDAL 库。...在这个函数,我们首先读取输入文件夹所有影像文件,并创建一个字典来存储每年影像数据。然后,我们遍历每个影像文件,累加每年像素值像素计数。...(root) # 获取文件夹名称 dataset = gdal.Open(tif_path) # 打开tif # 获取行数列数地理信息

    23710

    遥感影像依据分幅号8天合成:Python实现

    我们现有一个文件夹,其中含有大量.tif格式遥感影像,如下图所示。...我们希望实现是,从2022年第001天开始,到第365天结束,对于每1个分幅,将其每1个8天时间范围所有遥感影像(无论是来自哪一个传感器)拼接在一起。...接下来,基于ListRasters("*", "tiff")获取待拼接所有.tif格式栅格文件,并将其排序后存储在image_list列表;image_dict是一个字典,用于存储栅格影像按日期分幅号进行分组结果...天数image_days;接下来,使用正则表达式re.search提取影像文件名分幅号信息,并根据天数分幅号生成字典键dict_key;随后,将影像文件添加到相应字典值,如果字典键已存在,...再次,for循环遍历image_dict每个字典键对应影像文件列表——首先拆分字典键,获取天数分幅号信息;接下来,获取文件列表第一个影像文件信息,如像元大小、值类型、空间参考等(因为后期需要基于其来作为模板图像

    12310

    基于R语言NDVISen-MK趋势检验

    本实验拟分析艾比湖地区2010年至2020年间NDVI数据,数据从MODIS遥感影像中提取NDVI值,在GEE遥感云平台上将影像数据下载下来。...Google云盘,通过手动下载到本地,其根目录结构如下: 图1 根目录结构 下载该10年间数据后,打开RStdio并导入将趋势检验中将使用R包。...NDVI均值图层 图3 R语言运行界面 图4 p值 图5 sen斜率 图6 Z统计量 R语言计算完slopeZ值后,根据这两个结果就可以进行NDVI趋势制图了。...文件研究区范围值非空,所以在这里先裁剪了一下 裁剪所用矢量栅格数据坐标系需要一致,否则范围容易出错 统一使用了WGS84地理坐标系作为空间参考 使用Model builder构建地理处理流...SlopeZ值计算结果相乘,最后得到趋势变化划分 -2严重退化 -1轻微退化 0稳定不变 1轻微改善 2明显改善 图11 栅格计算器相乘 图12 arcgis计算NDVI趋势图

    33510

    ArcPy批量填充栅格图像NoData值

    本文介绍基于PythonArcPy模块,对大量栅格遥感影像文件批量进行无效值(NoData值)填充方法。   ...在处理栅格图像文件时,我们经常会遇到图像存在有无效值(即NoData值)情况。...如下图所示,这里有一个矢量面要素图层该矢量图层范围对应一景栅格图像;可以看到,由于该栅格图像存在无效值NoData,因此栅格图像是没有完全遮盖矢量图层。   ...最后,我们在原有遥感影像文件名后添加"_Fill.tif"后缀,作为填充后遥感影像文件新文件名。   在 IDLE (Python GUI) 运行代码。...如果大家想让更多NoData值区域得到填充,就可以将FocalStatistics()函数设定参考区域范围更大一些;当然,这样也会稍微降低填充值精度,大家结合实际需要来操作即可。

    37620

    使用OSG创建一个简单地形

    (Grand Canyon)一小块: 1) 使用TIF格式DEM 因为不太清楚别的网上资料里面地形文件是jpg格式,要知道jpg格式只能8位且没有地理信息,所以在这里我直接使用是GTiff...很奇怪我这里osgDB读取TIF文件失败了,所以直接采用了GDAL读取。...2) 描述HeightField 使用GDAL打开高程文件(DEM),能够获取地形起点位置间距,将其填充到HeightField,这样OSG就确定了高程点XY位置。...在使用GDAL读取高程文件(DEM)存储高程值到内存之后,依次填充到HeightField,就确定了地形Z位置。最后绘制到节点,地形图也就绘制出来了。...其实我最初设想是采用一个DOM(正射影像图)来实现,通过其地理位置确定纹理坐标,最终无视范围大小,实现一个DEM(高程)与DOM(影像自动叠加。

    1.6K10

    ArcPy批量切割不同文件夹栅格数据:逐一等分为若干小块

    本文介绍基于PythonArcPy模块,基于一个大文件夹,遍历其中每一个子文件夹中所有的遥感影像栅格文件,并将原本每一景遥感影像文件四等分切割,或裁剪为其他指定个数小块方法。   ...其中,每一个子文件夹,都含有大量栅格遥感影像文件(我们这里就以.tif格式栅格图像文件为例来介绍);例如,随意打开上图中任意一个子文件夹,都是如下图所示情况。   ...我们希望实现是,将每一个子文件夹每一景遥感影像,都加以裁剪、切割,将原本一景遥感影像切分为新4份,相当于是四等分。....tif格式遥感影像文件。   ...最后一个参数0表示将原本遥感影像0值作为切割后小图像NoData值。

    12310

    R语言raster包读取栅格遥感影像

    此时,我们可以在RStudio右上方“Environment”中看到我们刚刚新建两个变量,以及其对应值。   接下来,我们可以直接通过plot()函数,对刚刚读取到栅格图像数据加以绘制。...例如,我们可以通过mean()函数与sd()函数,计算栅格图像全部像元数值平均值标准差;这里我们用到了na.rm = TRUE参数,具体含义稍后会提到。...接下来,我们通过stack()函数,将全部栅格图像数据放入同一个变量;随后,我们可以打印一下这个变量,查看其中内容。...如果大家栅格图像行数与列数不完全一致,可以参考文章ArcPy栅格裁剪:对齐多个栅格图像范围、统一行数与列数,对各个栅格图像加以统一。...可以看到,这一变量中保存了12个图层(虽然栅格图像只有7景,但是其中有几景是具有多个波段);其中,除了最基本栅格图像维度、空间范围、空间参考信息等内容,names还展示了12个图层各自名称,min

    44520

    栅格数据实现地理探测器:基于R语言geodetector包

    本文介绍基于R语言中geodetector包,依据多张栅格图像数据,实现地理探测器(Geodetector)操作详细方法。   ...2 栅格数据读取与预处理   接下来,我们首先依据R语言raster包读取栅格遥感影像中提到方法,读取栅格数据。...读取栅格数据完毕后,我们通过如下代码,基于getValues()函数,从原本RasterStack格式数据,将栅格数据像元数值提取出来;随后,基于View()函数显示出这一变量。...当然,从外观上看,其Matrix格式变量tif_matrix其实长得是一样。   ...在这里需要注意,如果大家只需要分析一个自变量与因变量影响关系,下方第一句代码所示格式即可;如果需要分析多个自变量与因变量影响关系,则需要用下方第二句代码所示格式,将多个自变量名称通过c()函数

    45010
    领券