使用 gdal/python 重新投影和镶嵌 MODIS level2
Reproject and mosaic MODIS level2 using gdal/python
我有一个 .hdf 格式的 MODIS 大气产品 (MOD04) 数据集,我想重新投影并将它们保存为 Geotiff。我知道可以使用 gdalwarp 来完成,但问题是我需要在保存图像之前进行一些操作。基本上,我需要的是从 hdf 文件中读取不同的子数据集,使用 numpy 进行一些修改,最后将数组保存为 Geotiff 文件。
我不是使用 gdal 的专家,但我大致知道它是如何工作的。我必须注意,当我通过 gdal 打开 MOD04 hdf 文件时,gdal 似乎无法读取其 GeoProjection 和 GeoTransform 数据!
>>> src = 'D:/Test/MYD04_L2.A2007231.0745.006.2014054160056.hdf'
>>> dataset = gdal.Open(src,gdal.GA_ReadOnly)
>>> print dataset.GetProjection()
>>> print dataset.GetGeoTransform()
(0.0, 1.0, 0.0, 0.0, 0.0, 1.0)
以上是读取我的hdf文件的例子。当我直接打开子数据集时是一样的。我想知道是否有人知道我该如何解决这个问题?
我认为您的数据尚未投影,因此使用 gdalwarp
重新投影是行不通的。您首先需要将 MODIS Swath 数据重新采样到网格。例如,您可以使用 MRTSwath
或 PyResample 等工具来执行此操作。
理论上 gdalwarp
应该能够将 lat/lon 网格作为地理定位阵列处理,但由于扫描传感器的领结效应,我认为它不能正常工作。
我有一个 .hdf 格式的 MODIS 大气产品 (MOD04) 数据集,我想重新投影并将它们保存为 Geotiff。我知道可以使用 gdalwarp 来完成,但问题是我需要在保存图像之前进行一些操作。基本上,我需要的是从 hdf 文件中读取不同的子数据集,使用 numpy 进行一些修改,最后将数组保存为 Geotiff 文件。
我不是使用 gdal 的专家,但我大致知道它是如何工作的。我必须注意,当我通过 gdal 打开 MOD04 hdf 文件时,gdal 似乎无法读取其 GeoProjection 和 GeoTransform 数据!
>>> src = 'D:/Test/MYD04_L2.A2007231.0745.006.2014054160056.hdf'
>>> dataset = gdal.Open(src,gdal.GA_ReadOnly)
>>> print dataset.GetProjection()
>>> print dataset.GetGeoTransform()
(0.0, 1.0, 0.0, 0.0, 0.0, 1.0)
以上是读取我的hdf文件的例子。当我直接打开子数据集时是一样的。我想知道是否有人知道我该如何解决这个问题?
我认为您的数据尚未投影,因此使用 gdalwarp
重新投影是行不通的。您首先需要将 MODIS Swath 数据重新采样到网格。例如,您可以使用 MRTSwath
或 PyResample 等工具来执行此操作。
理论上 gdalwarp
应该能够将 lat/lon 网格作为地理定位阵列处理,但由于扫描传感器的领结效应,我认为它不能正常工作。