火星遥感数据的获取与处理工具安装详解
前言
不知道有没有和我一样想做点跟火星相关的小实验的小伙伴,却被火星数据的获取和使用问题卡的头疼不已,而通过网上搜索能获得的线索偏偏少之又少。本人经过半个月不断的查阅文献,搜集资料,终于突破了这道难关。现将所有成果分享出来,供大家科研实验时参考,希望能给大家提供便利。
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库,安装教程参考这篇博客:。需要注意的是自己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里读取就行了。
发表评论