问题标签 [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.

0 投票
1 回答
468 浏览

landsat - 从 AWS 加载单波段 Landsat 8 栅格并将它们组合成一个多波段 RDD 的最简单方法是什么?

我正在使用geotrellis从位于S3的 Landsat 8 加载 geotiff 栅格。但是,它们是按频段存储的。我可以使用S3GeoTiff类来加载单个乐队,例如:

但是我该如何组合它们以生成 RGB 栅格,例如

0 投票
1 回答
185 浏览

python - 从 landsat tar.gz 列表中提取 2 个特定影像波段

我有一个 Landsat 场景列表。tar.gz 内部有多个波段。喜欢:

文件“ LC08018051date.tar.gz

LC08_date_sr_band1.tif
LC08_date_sr_band2.tif
LC08_date_sr_band3.tif
LC08_date_sr_band4.tif
LC08_date_sr_band5.tif
LC08_date_sr_band6.tif
LC08_date_sr_band7.tif

我只需要提取LC08_date_sr_band3.tifLC08_date_sr_band4.tif计算一个索引。

此代码可以从所有文件中提取所有“乐队”。

问题是我只需要提取 sr_band3 和 sr_band4

0 投票
1 回答
107 浏览

gdal - 带读取数组如何只返回 0,我该怎么办?

我是GDAL的新手。我在分类中使用 landsat 图像,但我应用这些代码行带数据只给我 0,我不明白:

0 投票
0 回答
173 浏览

weka - 在 Weka 中准备用于分类的卫星图像输入

我对 Weka 很陌生,想将它用于使用随机森林的土地覆盖分类。但是我不知道如何在 Weka 中使用卫星图像输入。我有 Landsat-8 图像和多边形 shapefile 描述图像图块中的土地覆盖类别。无论我在网上读到什么,我都知道我们需要开发 ARFF 格式的 Landsat 图像的“训练”和“测试”集,以便在 Weka 中使用,但问题是如何去做。

谢谢你!

0 投票
2 回答
451 浏览

json - 使用 perl 和 earthexplorer 时格式错误的 JSON 字符串

我目前正在与 USGS 的 EarthExplorer 合作,根据空间坐标设置一些 Landsat 场景的批量下载。他们在https://earthexplorer.usgs.gov/inventory/example/json-download_data-pl提供了一个很棒的方便的脚本来执行此操作,这很棒。我正在处理集群,尽管正确安装了所有 perl 模块,但当我运行脚本时,我得到以下输出:

这似乎很好奇。作为解释,脚本以

有问题的代码是

根据Can't run Perl script on other computer中非常有用的建议,我完成了以下操作:

  1. 更改$response->content$response->decoded_content( charset => 'none')代码的违规区域。

  2. Ranlwp-request https://google.com/刚刚拉回了一个完整的网页 - 没有错误。所以,这似乎奏效了。

  3. 试图通过插入来查看一些调试print $response->decoded_content( charset => 'none');,然后抛出错误

LWP will support https URLs if the LWP::Protocol::https module is installed.

而且,确实安装了 LWP::Protocol::https。

我觉得我必须缺少一些简单的东西——比如我如何定义我的用户名和密码($username = "myusername";等等,在声明变量之后)或其他一些愚蠢的东西。

有没有其他人遇到过这个?


要添加以下查询的输出:

0 投票
3 回答
9111 浏览

python - 如何从 Google Earth Engine python api 迭代和下载图像集中的每个图像

我是谷歌地球引擎的新手,并试图了解如何使用谷歌地球引擎 python api。我可以创建一个图像集,但显然该getdownloadurl()方法只对单个图像起作用。所以我试图了解如何迭代和下载集合中的所有图像。

这是我的基本代码。我对我正在做的其他一些工作进行了详细的分析。

所以我提取了 Landsat 集合,按日期和缓冲区几何进行过滤。所以我应该在集合中有 7-8 张图片(所有乐队)。

但是,我似乎无法通过迭代来处理该集合。

例如:

错误表明TypeError: 'ImageCollection' object is not iterable

因此,如果集合不可迭代,我如何访问单个图像?

一旦我有了图像,我应该可以使用通常的

0 投票
0 回答
246 浏览

r - 如何在 R 中从 HDF(协调 Landsat 和 Sentinel-2 产品)转换为 TIFF?

我是 R 的初学者,现在我在 NASA 从事产品工作:Harmonized Landsat 和 Sentinel-2。我在 .hdf 中下载了图像,但是当我尝试将 R 转换为 tiff 时,收到错误。

我正在使用这段代码:



这是错误:

警告信息:

运行命令 '"C:\ProgramData\Anaconda2\Library\bin\gdal_translate.exe" -a_nodata "-1000" -of "GTiff" "782" "band1.tif"' 状态为 1


图片可以在这里下载:https ://hls.gsfc.nasa.gov/data/v1.3/sites/BAH/L30/2016/23LLG/

0 投票
1 回答
114 浏览

landsat - Landsat 8 新 L1TP 数据元数据 MtL 无法在 PCI geomatics 中读取

如何使用 pic.fimport 打开 Landsat 8 元数据 MTL?我不知道为什么 fimport 无法读取新的 MTL txt 文件。

0 投票
1 回答
209 浏览

python - GDAL ReadAsArray Landsat-8 上万像素值

我是 Landsat-8 和 python 的新手。我打开了一个 Landsat-8 tiff 文件,想读取单个文件的信息(例如这里我使用 LC08_L1TP_172039_20150509_20170411_01_T1_B4.tif 文件),但是值变成了高达数万而不是它们应该是的波段范围(像这里一样,它们应该在 Landsat8DataUsersHandbook 中描述的 0.636 到 0.673 um 的范围内),我不知道为什么会发生这种情况,有没有办法将从 gdal 模块读取的值转换为实际值?

谢谢

0 投票
1 回答
561 浏览

postgis - 使用 Landsat 和 PostGIS 按地理位置检索栅格数据

我正在进行的项目要求我在特定地理(经度/纬度)位置检索 Landsat 栅格数据。在筛选了一些教程并尝试了 GDAL、PostGIS 和 QGIS 之后,我成功地将 GeoTIFF Landsat 图像导入到 PostGIS 栅格表中,并从该表中按地理位置访问了值。但是,结果中存在一些问题:

  • 我不明白 QGIS 在其界面中使用的坐标系,因为它们的范围有数十万
  • 栅格在西班牙海岸外加载到 QGIS,而不是在美国缅因州的顶部,因为它应该是。

这是有关我的过程的一些信息。一般来说,我对 GIS 相当陌生,所以我几乎可以肯定这里有一个明显的错误:

  • 从 USGS GloVis 下载 Landsat 8 GeoTIFF 文件
  • 将乐队 5 图像重命名为对命令忍者更友好的名称。
  • 为栅格表创建 postgres 数据库并运行CREATE EXTENSION postgis;
  • 运行gdalinfo LSSampleB5.TIF,打印以下输出:

    Driver: GTiff/GeoTIFF Files: LSSampleB5Test2.TIF Size is 7871, 7971 Coordinate System is: PROJCS["WGS 84 / UTM zone 19N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.0174532925199433, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4326"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",-69], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]], AXIS["Easting",EAST], AXIS["Northing",NORTH], AUTHORITY["EPSG","32619"]] Origin = (318285.000000000000000,5216715.000000000000000) Pixel Size = (30.000000000000000,-30.000000000000000) Metadata: AREA_OR_POINT=Point Image Structure Metadata: INTERLEAVE=BAND Corner Coordinates: Upper Left ( 318285.000, 5216715.000) ( 71d23'37.53"W, 47d 4'44.12"N) Lower Left ( 318285.000, 4977585.000) ( 71d18' 9.77"W, 44d55'42.53"N) Upper Right ( 554415.000, 5216715.000) ( 68d16'58.41"W, 47d 6' 6.11"N) Lower Right ( 554415.000, 4977585.000) ( 68d18'36.69"W, 44d56'58.62"N) Center ( 436350.000, 5097150.000) ( 69d49'20.56"W, 46d 1'29.87"N) Band 1 Block=7871x1 Type=UInt16, ColorInterp=Gray

  • 我将此输出解释为 EPSG 4326 格式(这可能是我的罪行),因此我运行以下命令将 GeoTIFF 作为 PostGIS 栅格导入:

    raster2pgsql -s 4326 -I LSSampleB5.TIF -F -t 50x50 -d | psql -U postgres rastertest

  • 这成功地导入了一个新表。然后我使用 QGIS 来直观地了解正在发生的事情。

  • Database -> DB Manager -> PostGIS -> rastertest -> public我将我的 lssampleb5 添加到画布下。

  • 我在 QGIS 中创建了一个新的 XYZ 连接,以添加 Google 卫星混合图像以供参考。我使用的 urlhttps://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}的最小和最大缩放分别为 0 和 19。

  • 在这里,我注意到 lssample 图层在 Google Hybrid 地图上落在西班牙海岸附近。

  • 我确保两层都在 EPSG 4326 投影上,没有变化。

  • 我不太气馁,我尝试了一个数据库查询来获取单个像素值。由于我的样本数据落在西班牙附近,因此我使用 QGIS 对附近的有效坐标对进行采样以进行查询。查询是:

    SELECT rid, ST_Value(rast, 1, ST_SetSRID(ST_Point(448956,5041439), 4326)) as b5 FROM lssampleb5 WHERE ST_Intersects(rast, ST_SetSRID(ST_Point(448956,5041439), 4326)::geometry, 1);

  • 这返回了一个有效的行 ID 和 5776 的 ST_VALUE。尝试 QGIS 显示范围之外的坐标导致没有返回条目,这并不意外。

所以,首先,我不知道 QGIS 使用的是什么坐标系。它绝对不是原始形式的经度和纬度,但据我了解,EPSG 4326 应该是地理投影。

其次,我不知道为什么 QGIS 将 Landsat 场景放错了位置,或者在这个过程中场景没有正确转换。