我试图将存储在.HGT文件中的NASA的高程数据读入R.我已经检查了rgdal
库,但显然它没有读取此类文件。
PS。 Stack Overflow社区展示了如何在Python和C++中阅读此类文件,但我一直在寻找纯R解决方案。
2014年,美国宇航局的航天飞机雷达地形测量任务(SRTM)产生的地形数据在全球发布。美国以外地区的SRTM数据分辨率为1弧秒,或约30米(98英尺)。您可以阅读更多信息here并下载数据here。
以下是来自www2.jpl.nasa.gov/srtm/faq.html的说明:
SRTM数据文件的名称类似于" N34W119.hgt"。字母和数字是指什么,什么是" .hgt"格式?
每个数据文件覆盖地球表面的一度经度块的一度纬度。前七个字符表示街区的西南角,N,S,E和W指北,南,东,西。因此," N34W119.hgt"文件涵盖纬度34至35北纬和西经118-119(此文件包括加利福尼亚州洛杉矶市中心)。文件扩展名" .hgt"简单地代表单词" height",意思是提升。它不是格式类型。这些文件位于" raw"格式(无标题和未压缩),16位有符号整数,以海拔高度为单位测量的高程,在地理位置" (纬度和经度阵列)投影,数据空隙由-32768表示。国际3弧秒文件具有1201列和1201行数据,总文件大小为2,884,802字节(= 1201 x 1201 x 2)。美国1弧秒文件有3601列和3601行数据,总文件大小为25,934,402字节(= 3601 x 3601 x 2)。有关更多信息,请阅读文本文件" SRTM_Topo.txt"在http://edcftp.cr.usgs.gov/pub/data/srtm/Readme.html
答案 0 :(得分:4)
使用raster
包的答案非常简单(感谢@Pascal和@hrbrmstr的评论)。还必须安装rgdal
包。
# Load libraries
library(raster)
library(rgdal)
# read file
elevation <- raster("S23W044.hgt")
# view image
image(elevation)