5

我正在尝试将存储在 .HGT 文件中的来自 NASA 的高程数据读取到 R 中。我已经检查了rgdal库,但显然它没有读取这种类型的文件。

附言。Stack Overflow 社区展示了如何在PythonC++中读取这种类型的文件,但我一直在寻找纯 R 解决方案。

有关 .HGT 文件中地形数据的更多信息:

2014 年,NASA 航天飞机雷达地形任务 (SRTM) 生成的地形数据在全球发布。美国以外地区的 SRTM 数据分辨率为 1 角秒,或约 30 米(98 英尺)。您可以在此处阅读更多信息 并在此处下载数据。

目前,数据可用于世界这些地区: 在此处输入图像描述

这是来自 www2.jpl.nasa.gov/srtm/faq.html 的描述:

SRTM 数据文件的名称类似于“N34W119.hgt”。字母和数字分别代表什么,什么是“.hgt”格式?

每个数据文件覆盖地球表面一个纬度乘一经度的块。前七个字符表示该块的西南角,其中 N、S、E 和 W 分别表示北、南、东和西。因此,“N34W119.hgt”文件涵盖北纬 34 到 35 度和西经 118-119(该文件包括加利福尼亚州洛杉矶市中心)。文件扩展名“.hgt”仅代表单词“height”,意思是海拔。它不是格式类型。这些文件采用“原始”格式(无标题且未压缩),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

4

1 回答 1

5

使用包的答案非常简单raster(感谢@Pascal 和@hrbrmstr 的评论)。该rgdal软件包也必须安装。

# Load libraries
  library(raster)
  library(rgdal)

# read file
  elevation <- raster("S23W044.hgt") 
# view image
  image(elevation)
于 2015-08-29T18:38:42.130 回答