高程模型 ded 檔案結構

2021-06-15 21:48:15 字數 2091 閱讀 3084

高程模型用來描述按網格劃分的地形高程值,常在三維地形建模中被使用。

序號

結構型別

位元組大小

說明

1

ss_stdhdr

8+4+8+8+26+26+52

檔案頭

2

stats

8+2+2+24

統計資料

3

cell

8*10

單元屬性

……

3+ stats.ncell

3+ stats.ncell +1

short*

2*cell.flatnum*cell.flonnum

高程資料

……

1、 檔案頭

typedef structss_stdhdr,lpstdhdr;

2、統計資料

typedef structstats,lpstats;

3、單元屬性

typedef structcell_hdr,lpcellhdr;

4、高程資料

對應cell的高程陣列,型別為short*,按先緯度方向訪問

注意,ded模型檔案採用big-endian方式儲存的,在讀取和寫入時需要進行轉換,具體請看下面的示例**:

#define _endian_16( a, b )

((byte*)(a))[0] = ((byte*)(b))[1],((byte*)(a))[1] = ((byte*)(b))[0];

#define endian_16( d )

#define _endian_32( a, b )

((byte*)(a))[0] = ((byte*)(b))[3], /

((byte*)(a))[1] = ((byte*)(b))[2], /

((byte*)(a))[2] = ((byte*)(b))[1], /

((byte*)(a))[3] = ((byte*)(b))[0];

#define endian_32( d )

#define _endian_64( a, b )

((byte*)(a))[0] = ((byte*)(b))[7], /

((byte*)(a))[1] = ((byte*)(b))[6], /

((byte*)(a))[2] = ((byte*)(b))[5], /

((byte*)(a))[3] = ((byte*)(b))[4], /

((byte*)(a))[4] = ((byte*)(b))[3], /

((byte*)(a))[5] = ((byte*)(b))[2], /

((byte*)(a))[6] = ((byte*)(b))[1], /

((byte*)(a))[7] = ((byte*)(b))[0];

#define endian_32r( d )

#define endian_64( d )

#define endian_64r( d ) void cdedhead::readfile(cstring chname)

//讀檔案

int size = m_cell.fllonnum*m_cell.fllatnum;

m_pdata = new short[size];

m_fileded.read(m_pdata, sizeof(short)*size);

m_fileded.close();

}unsigned long cdedhead::ex32int(unsigned long lv)

return *buf;

}unsigned short cdedhead::ex16(unsigned short sv)

return *buf;

}float cdedhead::ex32float(float fv)

return *buf;

}unsigned long cdedhead::getdedlong(unsigned long lv)

unsigned short cdedhead::getdedshort(unsigned short sv)

常見的數字高程模型結構有哪些?

數字高程模型結構包括 規則格網dem資料結構 不規則三角網dem資料結構 格網與不規則三角網結構混合結構。規則格網dem資料結構 1 簡單矩陣結構 資料在水平和垂直方向的間隔相等,按行或列的矩陣形式逐一記錄每一格網單元高程值。為實現行列號和平面位置座標的轉換,需記錄西南角的座標值,格網間距等,在應用...

MODIS 基於高程模型的高海拔凍土反演

modis 基於高程模型的高海拔凍土反演 一.反演基本思路 高程模型主要是通過模型計算出多年凍土下界高程,並與實際高程進行比較,從而判別多年凍土是否存在。本次反演參考程國棟的緯度對凍土分布的影響,利用高斯曲線對北半球高海拔多年凍土進行了擬合,得到的高海拔多年凍土分布的高斯模型,即高程模型 本次反演採...

SCAU 高程綜合實驗 檔案操作與字元處理

在當前目錄中存在檔名為 case1.in 其中case後為數字1,不是字母l,寫錯提交後會判錯 的文字檔案,其內容為一篇英文文章 以eof作為結束標誌 現要求讀取該文字檔案內容,統計文章中每個單詞出現的次數,並輸出出現次數最多的前5個單詞及其出現次數 按出現次數由多到少的順序輸出,次數相同時按字典順...