如何在R中读取.HGT文件

raf*_*ira 5 gis binary r elevation topography

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

ps。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)。美国一秒秒文件具有3601列和3601行数据,总文件大小为25,934,402字节(= 3601 x 3601 x 2)。有关更多信息,请阅读文本文件“ SRTM_Topo.txt”,网址为http://edcftp.cr.usgs.gov/pub/data/srtm/Readme.html

raf*_*ira 5

使用raster包的答案非常简单(由于@Pascal和@hrbrmstr的注释)。该rgdal软件包也必须安装。

# Load libraries
  library(raster)
  library(rgdal)

# read file
  elevation <- raster("S23W044.hgt") 
# view image
  image(elevation)
Run Code Online (Sandbox Code Playgroud)