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

Retrieving raster data by geographic location using Landsat and PostGIS

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

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

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

其次,我不知道为什么 QGIS 会把 Landsat 场景放错地方,或者在这个过程中哪里没有正确形成场景。运行

加入我们 GIS SE,那是与 GIS 相关的地方 Q/A!

在这里为您提供帮助:

  • 的确,你的罪过就是CRS。顶级 PROJCRS 标签是 键在这里,它从数据中读出 "WGS 84 / UTM zone 19N",用 底部的 EPSG 参考 (AUTHORITY["EPSG","32619"]]).
    EPSG:32619 is a UTM projected CRS based on the WGS84 geoid (datum) and with units in meter, defined as the projected distance to the corresponding reference meridians (Easting) and the equator (Northing). Since you defined the wrong CRS during import (i.e. EPSG:4326), the inherent coordinate values of the raster were treated as degree´s and the whole thing placed to the other end of the world. Run UpdateRasterSRID (SELECT UpdateRasterSRID(<shema_name>, <your_raster_table>, rast, 32619);) 将栅格的元数据设置为正确的 CRS 并重新加载图层。
  • 至于 QGIS:它使用您告诉它使用的 CRS。 QGIS 带有一个非常方便的 on-the-fly 重投影功能(OTF,查看 'working with projections' here) 允许您为要投影和显示的数据定义任意 CRS(即将数据的 CRS 重新投影到内存中定义的 CRS,数据的元数据保持不变)。
    您可以快速找到link 按钮到 GUI 右下角的 OTF 设置;将其设置为您想要的 SRID(例如 4326)(您会注意到数据的视觉表示如何根据所选投影发生变化。显示的坐标也将使用 CRS 单位,例如 WGS84 的十进制度数)。