首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中访问.HGT SRTM文件?

如何在C++中访问.HGT SRTM文件?
EN

Stack Overflow用户
提问于 2012-12-11 06:13:26
回答 1查看 2K关注 0票数 3

下面是一个关于该主题的类似问题,其中包含对该文件的良好描述:

how to read NASA .hgt binary files

总的来说,我是编程新手,到目前为止,我的努力非常有限。我的最终目标是访问高程数据,并将其存储在一个二维数组中,以便于访问。我一直在尝试一次读取2个字节的文件,但我不知道下一步该做什么。这是我到目前为止所得到的:

代码语言:javascript
复制
    #include <iostream>
    #include <fstream>

    using namespace std;

    int main () 
    {
        ifstream::pos_type size;
        char * memblock;

        ifstream file ("N34W119.hgt", ios::in|ios::binary|ios::ate);

        if (file.is_open())
        {
            size = 2; 
            memblock = new char [size];

            file.seekg (0, ios::beg);

            file.read (memblock, size);

            //I don't know what to do next




            file.close();
        }
        return 0;
    }

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-11 11:24:43

代码语言:javascript
复制
// SRTM_version 1201 or 3601 
int height[SRTM_version][SRTM_version]; 
for ( int r = 0; r < SRTM_version ; r++ ) {
   for ( int c = 0 ; c < SRTM_verision; c++ ) {
      height[r][c] = (memblock[0] << 8) | memblock[1];  
   }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13810178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档