【问题标题】:How to use spectral python to handle multispectral raster files?如何使用光谱 python 处理多光谱栅格文件?
【发布时间】:2013-11-16 02:31:21
【问题描述】:

我有兴趣使用Spectral Python (SPy) 对多波段栅格 GeoTIFF(不是高光谱数据)进行可视化和分类。目前看来只有.lan.gis 文件格式是可读的。

我尝试使用gdal_translate 将文件转换为.lan,但不支持图像格式(IOError: Unable to determine file type or type not supported)。

知道如何将此库用于非超光谱数据集吗?

【问题讨论】:

  • 对于不是高光谱图像数据的数据,为什么要使用一个模块来处理高光谱图像数据?
  • @Mailerdeamon:多光谱数据集(即MODIS数据集等36个波段文件)类似于高光谱数据集,用于可视化和分类工具(但多光谱传感器采集的光谱窗口不是定期采样的)基础,例如高光谱传感器)
  • 好的。您应该能够使用gdal_translateGeoTIFF 转换为ENVI(受SPy 支持)。如果出现错误,您的文件可能已损坏,或者您的标头中的某些内容对于 gdal 是错误的。

标签: python raster gdal geotiff spectral-python


【解决方案1】:

将 GeoTIFF 文件转换为兼容格式(例如 LAN)。这可以通过以下两种方式之一来完成。在系统 shell 中,使用 gdal_translate:

gdal_translate -of LAN file.tif file.lan

或在 Python 中类似:

from osgeo import gdal

src_fname = 'file.tif'
dst_fname = 'file.lan'
driver = gdal.GetDriverByName('LAN')

sds = gdal.Open(src_fname)
dst = driver.CreateCopy(dst_fname, sds)
dst = None  # close dataset; the file can now be used by other processes

请注意,第一种方法实际上更好,因为它还传输其他元数据,例如空间参考系统和可能的其他数据。要在 Python 中正确执行相同操作,需要添加更多代码行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多