【问题标题】:How do I access .HGT SRTM files in C++?如何在 C++ 中访问 .HGT SRTM 文件?
【发布时间】:2012-11-28 09:51:56
【问题描述】:

这是一个关于该主题的类似问题,对文件有很好的描述:

how to read NASA .hgt binary files

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

    #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;
    }

感谢您的帮助!

【问题讨论】:

    标签: c++ file binary topography .hgtags


    【解决方案1】:
    // 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];  
       }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 2018-06-05
      • 2013-04-24
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多