火星遥感数据的获取与处理工具安装详解
前言
不知道有没有和我一样想做点跟火星相关的小实验的小伙伴,却被火星数据的获取和使用问题卡的头疼不已,而通过网上搜索能获得的线索偏偏少之又少。本人经过半个月不断的查阅文献,搜集资料,终于突破了这道难关。现将所有成果分享出来,供大家科研实验时参考,希望能给大家提供便利。
1.火星遥感影像数据下载网址
这里提供两个网站:
(1)Image Explorer:http://viewer.mars.asu.edu/viewer(个人更推荐这个)
(2)Mars Orbital Data Explorer:https://ode.rsl.wustl.edu/mars/productsearch
另外,在Orbital Data Explorer Help中,也整理了一些专门提供比较著名的火星传感器数据的网站,例如:
HiRISE:https://hirise.lpl.arizona.edu/
CRISM:http://crism.jhuapl.edu/
2.火星遥感影像数据处理工具
感觉火星遥感影像数据真的让本人对图片格式的丰富性大开眼界了,QUB,qub,nav,img,IMG,简直是“无奇不有”了,虽然大部分数据依然以tiff格式为主流,这种格式对于涉足过遥感领域的人来说就相对很友好了,但是这些“非主流”的数据格式却经常出没于很多论文所使用的传感器数据,所以本人在这里以传感器为线索进行梳理。
(1)OMEGA影像数据-数据格式:qub,nav
数据处理工具:OMEGA Analysis Tool(OAT)
官方网址链接:https://pds-geosciences.wustl.edu/missions/mars_express/omega.htm#OAT
百度网盘资源:https://pan.baidu.com/s/1SkR0fqHRRVMAbbM7zxfH-w (提取码:fs1c)
算是“遥感大玩具”ENVI的扩展模组,NASA的PDS网站提供了压缩包和安装向导的链接。不过因为C盘管理员权限的问题,安装向导里的最后一句IDL代码,也就是下图标红的这句,极有可能因为没有管理员权限被目标文件夹拒绝访问导致失败。这里本人摸索出来了这样一个方法,分享给大家,因为这几句IDL代码的目的是要靠一个oat_menu.pro脚本生成OAT的菜单文件oat_menu.sav,因为我们完全可以通过更改路径的方法,避免与管理员权限这种更为复杂的问题进行直接接触。
首先将整个OAT_ENVI文件夹移动到一个你中意的位置,然后以记事本打开其中的oat_config.cfg文件,蓝线位置就是你要更改的第一处路径(注意,截图中的路径已经被我更改过了),这个是OAT的配置文件。
然后依然是上面的那五句用于生成菜单的IDL代码,更改其中的第二行与第五行(特别注意第五行的蓝字),分别改为:
PREF_SET, ‘IDL_PATH’, ‘+(你OAT文件夹的绝对路径)\OAT_ENVI;’+pref_get(‘IDL_PATH’), /commit
save, filename = ‘(你OAT文件夹的绝对路径)\ OAT_ENVI \tmp\oat_menu.sav’, /routines
运行更改后的五行IDL代码,将生成的菜单文件移动到ENVI的extension文件夹下,就搞定了。另外提一点,本人一开始安装完成,然后开了Classic版本的ENVI却怎么找都找不到!后来才发现这家伙是在集成版的ENVI的Display目录下。
最后的最后,OMEGA数据建议去Image Explorer下载,那里同时有qub和nav文件,经OAT转化就能得到可用的波段影像了。
(2)CRISM影像数据-数据格式:img,lbl
数据处理工具:CRISM Analysis Toolkit(CAT)
官方网址链接:https://pds-geosciences.wustl.edu/missions/mro/crism.htm#Tools
百度网盘资源:https://pan.baidu.com/s/11bNP9t1w4h2Ijf5SwoV2yg (提取码:4org )
同样也是ENVI的扩展模组,这个就比OMEGA容易的多了,官方的安装文档就相对良心,提供了默认和自定义两种安装方式的教程,全程跟着文档走就行(看不懂英文可以翻译器助力),大体和OAT安装差不多。这里提一点打开方式,CAT需要ENVI Classic + IDL的启动方式才能在ENVI的菜单上看到它。
(3)THEMIS影像数据-数据格式:QUB(和qub不是一回事啊喂)
这个数据格式本人是用Python读取再转进ENVI的,这里需要gdal这个Python库,安装教程参考这篇博客:https://blog.csdn.net/hjseo_seg/article/details/126039510。需要注意的是自己Python的配置参数(具体来说就是Python版本和操作系统位数),找到适配的版本再下载安装。读取代码灰常的简单:
from osgeo import gdal
import cv2
#以I01500010EDR.QUB数据影像为例
img = gdal.Open("E:\BNU\GW\I01500010EDR.QUB")
#获取总波段数
img_copy = img.ReadAsArray()
total_bands = img_copy.shape[0]
#按波段生成tiff格式影像
for b in range(total_bands):
band = img.GetRasterBand(b+1).ReadAsArray()
cv2.imwrite("I01500010EDR_" + str(b+1) + ".tif",band)
(4)其他传感器的影像基本都是tiff格式为主了,直接扔进ENVI里读取就行了。