问题标签 [landsat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何将来自不同陆地卫星平台的 2 个特定波段导入 python?
我有一个来自 Landsat 5、Landsat 7 和 Landsat 8 的解压缩文件的文件夹。我想导入红色和 NIR 波段来运行 NDVI。但是,这意味着我需要为 Landsat 8 引入波段 4 和 5,为 Landsat 的 5 和 7 引入波段 3 和 4。我很难编写代码来导入这些波段。我对 python 完全陌生,所以这可能是一种方式,但这是我所拥有的:
存储索引的目录
图像列表和相应的 xml 文件
谢谢你的帮助!
r - 使用 R 对陆地卫星图像进行辐射校正
我想使用以下方法对陆地卫星图像进行辐射校正:
我对每个波段进行了校正,如下所示:
如何使一项功能自动执行对六个波段的校正?我试过这个功能:
但是,我得到了这个错误:(数组错误(x,c(长度(x),1L),if(!is.null(names(x)))list(names(x),:'dimnames'的长度[1] 不等于数组范围)
r - 使用 R 的 NDVI 图像的图例标签
我使用如下所示的 NDVI 函数从 Landsat 5 图像创建 NDVI 图像。我的问题是绘制 NDVI 文件时看不到图例标签。
1. NDVI 函数(对于 Landsat 5 TM NIR = 4,红色 = 3)
2.绘图(图像范围在-1和1之间,图例间隔设置为0.5)
r - 使用 R 列出 LANDSAT 文件的一些波段
我有一个包含 8 个 tif 文件的 LANDSAT 图像的文件夹。
如图所示:
如何仅列出波段 1 到 5 和 7 的 tif 文件?我找不到合适的模式。这是我得到的最接近的(仅删除最后一个文件:BQA.tif)
r - 使用R堆栈各种文件夹的文件
我堆叠了一个 Landsat 图像的某些 tif 文件,如图所示:
我想做同样的事情,但是对于文件夹 Landsat 的所有图像(每个文件夹都是一个单独的堆栈)
是否可以同时对所有图像执行此操作?我想首先对所有 tif 文件(无论文件夹)做一个列表,然后使用循环仅堆叠名称匹配的文件(条件 1),但以这种模式“B [123457]”结束(条件二)
但我找不到这两个条件的正确代码:
python - 堆叠多个 Landsat 图像
我想以特定格式堆叠大约 700 个 Landsat 图像作为YATSM连续变化检测和分类 (CCDC) 算法的输入。我尝试使用这个 bash 脚本4_stack_TIFF.sh
。在这个脚本中,堆叠是使用这个文件完成的landsat_stack.py
。我收到两个错误:
首先与缺少一个模块有关
module load batch_landsat
。我可以找到共享存储库第二个是相关的
landsat_stack.py
,我得到以下信息:Stacking to extent: Traceback (most recent call last): File "./landsat_stack.py", line 936, in <module> sys.exit(main()) File "./landsat_stack.py", line 920, in main utm, resume, fformat, creation_opts)) File "./landsat_stack.py", line 757, in landsat_stack print('\tUpper Left: {ulx},{uly}'.format(ulx=extent[0], uly=extent[1])) TypeError: 'NoneType' object is not subscriptable Done!
问题:
- 是否有人使用过 YATSM 并在陆地卫星数据预处理中面临同样的问题?
- 如果不; 你能建议我使用 Rasterio 或 Rio 的解决方案吗?
格式:
time-series - 谷歌地球引擎:掩盖云层并在不同传感器的图像集合上映射功能
我想将 1985 年至今的所有 Landsat 传感器结合到 Google Earth Engine 中,去除云层并计算 NBR 指数的时间序列。作为一个新的 GEE 用户,我有以下内容:
从这一点来看,我不知道如何去除云层并为我最终收藏的每张图像计算 NBR 指数(此处为 NBR 指数)。
谁能帮我?
谢谢你。
编辑:
我认为我需要normalizedDifference
在我的集合上映射一个函数以获得 NBR 索引,但我不确定如何使用不同的传感器为我的集合执行此操作。
image-segmentation - Landsat 7 / 8 上云层的水库边界分割
我正在处理水库边界分割。我的研究区域是越南,我尝试使用 Landsat 7 ETM+/8 数据集。
但在某个时间点,云层几乎覆盖了水库水体。例如,对于 Tri An 水库(Landsat 8 数据集可在此处找到),水体已被云覆盖(约 51.6%)。
那么有什么办法可以恢复水像素已被云像素取代?为了进一步解释,我能否尽可能准确地获得云层下的水体?
r - 在 R 中堆叠栅格:无法从此文件创建 RasterLayer 对象。(文件不存在)
我有数百个 Landsat8 场景,每个场景有 12 个波段。我已将它们全部存储在一个文件夹中。现在我尝试在 R 中将它们全部堆叠在一起,以便更轻松地批量处理索引。这是我使用的代码:
我认为堆栈函数不知道要使用哪个文件,但我也不知道如何更改它。下面你会看到 Debug 向我展示的内容。我无法真正从中读取任何内容,但该文件不存在。
time-series - Google Earth Engine:如何在所有 Landsat 传感器的集合上映射函数以创建 NDVI 时间序列
我正在尝试将 1980 年代的所有 Landsat 传感器(L4-l8)组合到 Google Earth Engine 中,并计算 NDVI 指数的时间序列(在移除云层后)
我试图找到一种解决方法来解决 L8 对 NIR 和 RED 使用不同波段而不是 L4-L7 的问题,方法是添加来自另一个问答(Google Earth Engine:mask cloud and map a function over an image collection of不同的传感器)
我得到一个包含所有具有单个“NDVI”波段的陆地卫星数据集的图像集。但是,当我添加用于创建时间序列图表的代码时,出现以下错误:
'生成图表时出错:没有特征包含“system:time_start”的非空值'
我想知道是不是因为集合是由不同的传感器数据集组成的,但不知道如何解决这个问题。
任何人都可以帮助我吗?
谢谢你。
以下是代码[编辑以使代码可重现]: