999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Creator的三維地形建模中DED文件的生成

2010-05-13 08:46:00聶文兵,高
現代電子技術 2009年12期

聶文兵,高 飛

摘 要:DED(Digital Elevation Data)是MultiGen Creator引入數字網格高程數據的惟一格式,其他高程數據在引入前必須先轉換為DED格式。本文結合基于MultiGen Creator的某院校常用訓練場地三維地形模型的建立,通過對DED文件的格式的研究,探討了利用等高線地圖生成DED文件的過程、方法和技巧;開發了自定義地形數據格式轉換成DED文件的轉換軟件,實現了高質量DED文件的生成。

關鍵詞:Creator;DED;DEM;地形數據;地形建模

中圖分類號:TP311文獻標識碼:B

文章編號:1004-373X(2009)12-159-04

Generation of DED File in 3D Terrain Modeling Based on Creator

NIE Wenbing1,GAO Fei2

(1.Unit Battle Library,Nanchang Army Academy,Nanchang,330103,China;

2.Ordnance Institute of Technology,Ordnance Engineer College,Shijiazhuang,050003,China)

Abstract:DED(Digital Elevation Data)is the only format which can be used in the MultiGen Creator,others must be transformed in to DED before using.The generation process,methods and tips of DED file with the 3D terrain model generating for training field which in common used by certain academy are discussed,and the format of DED file is studied,the software for transforming user-defined terrain data to the DED file is developed,and creating of the high quality DED file is realized.

Keywords:Creator;DED;DEM;terrain data;terrain modeling

0 引 言

MultiGen Creator是一套功能強大、在視景仿真中應用廣泛的建模軟件。然而各種格式的地形數據文件不能在Creator中使用,必須經過處理轉換成Creator專用的數字高程數據(Digital Elevation Data,DED)文件,基于該文件生成的地形,精確度高,并且支持從多方面對地形模型進行優化調整,比如:BSP(Binary Separating Planes),LOD(Level Of Detail),CAT(Continuous Adaptive Terrain)等。因此,由DED文件生成地形是Creator地形建模的一種重要方法,如果能將其他常用數字地圖文件中有用的數據讀出,直接生成DED文件,將對Creator的建模提供很大的方便。這里主要探討利用軍用等高線地圖生成三維地形模型的過程中DED文件的生成過程、方法和技巧。

1 由等高線地圖生成DEM

數字高程模型(Digital Elevation Model,DEM)是以數字形式存儲的表示物體位置高程值的集合。DEM是美國國家圖像和地圖測繪局(National Image And Mapping Agency,NIMA)開發的描述地面高程的一種模型,它采用x,y,z坐標表達地表形態。DEM數據經過格式轉換,可以在大多數地形生成軟件(如ARC/INFO,MultiGen Creator,MapInfo,IMAGIS,MAPGIS等)中生成三維地形。

1.1 地形源數據的獲取

地形源數據主要是建立數字高程模型(Digital Elevation Model,DEM)用到的高程數據。它的獲取方法有以下幾種:

(1) 采用大地測量的方法直接從地形上測出高程;

(2) 利用航空攝影測量照片,采用數字高程判斷儀從兩張對應的照片上讀取高程;

(3) 利用衛星攝影測量照片讀取高程數據(遙感);

(4) 從小比例尺普通等高線地圖上讀取高程數據;

(5) 從現有的地圖數據庫提取所需區域的地形高程數據。

等高線地形圖生產DEM的方法已經可以廣泛應用于生產。以現有某院校的常用訓練場地用圖為基礎數據來源,充分利用自有條件對紙質軍用地圖進行掃描、預處理、數字化、高程賦值等操作,最后生成DEM,既體現了經濟性,又能滿足戰術演練的需求。

1.2 等高線地圖的矢量化

等高線地形圖經過掃描、二值化、細化等預處理后,保留了表達地形的最基本的特征——等高線。這時可以用專門的矢量化軟件進行矢量化處理,也可以根據用戶的需求開發一個矢量化系統來進行等高線地圖的矢量化工作。在此采用第三方軟件Able Software R2V for Windows(R2V)來完成這部分工作。它是一種高級光柵圖矢量化軟件系統,具有強有力的智能自動數字化技術與方便易用的菜單驅動圖形用戶界面有機地結合到Windows & NT環境中,為用戶提供了全面的自動化光柵圖像到矢量圖形的轉換功能;它可以處理多種格式的光柵(掃描)圖像,是一個可以用掃描光柵圖像為背景的矢量編輯工具。

將經掃描并處理完成的某院校常用場地訓練用圖(YEJIGANG.bmp)導入R2V軟件,可以直觀地看到地圖上的任意位置;接下來的工作就是按照R2V軟件提供的矢量化過程,按部就班地進行地圖矢量化,以獲取生成DEM所必須的高程信息,主要包括如下幾個步驟:

(1) 對等高線進行屏幕跟蹤矢量化;

(2) 對等高線標賦高程值;

(3) 對離散高程點進行屏幕矢量化;

(4) 對高程點標賦高程;

(5) 對這些矢量化結果進行編輯、檢查、拼接以生成拓撲關系完整的矢量圖。

1.3 DEM的生成

通過屏幕數字化軟件對某院校常用訓練場地用圖進行數字化,并對等高線賦ID值(高程)后,選用合適的算法,生成自定義規則格網DEM模型,從而獲取了地形建模的數據源DEM文件。用等高線生成規則格網DEM最主要的方法是內插法。按內插點的分布范圍,可將內插分為整體內插、分塊內插和逐點內插三類,具體的選擇依據是精度和運算速度之間平衡。

這里采用逐點內插法中的加權平均法。為了求每個格網點的高程值,采用4個方向的搜索,分別為東南方向、西南方向、西北方向和東北方向。尋找距離待求點距離最近的點,考慮精度的要求參考點的數目不小于5。而鄰近數據點采用基于點的范圍進行選擇,選擇方式如圖1所示。

鄰近點的選取,由于圓的半徑取決于原始數據的疏密程度和原始數據點可能影響的范圍。為了解決這個問題,可以采用動態圓半徑的方法,它的思路是從數據點的平均密度出發,確定圓內數據點數(平均要有10個),以求解圓的半徑R,其公式為:

πR2=10(A/N)(1)

根據這些已知點的高程值,以距離參數作為權重,利用加權平均法求解待定點的高程值。數學方程式如下:

Zp=∑ni=1piZi/∑ni=1pi(2)

式中:Zp是待定點p的高程;Zi是第i個參考點的高程值;n為參考點的個數;pi是第i個參考點的權重,這里權重由參考點與待求點的距離決定。

圖1 動態圓取點

2 DED文件的生成

2.1 DED文件格式和計算方法

2.1.1 DED文件格式

標準DED文件由標準文件頭、統計記錄、數據單元文件頭和數據單元四部分組成,各部分定義如下:

(1) 標準文件頭(128 B)

typedef struct ss_ stdhdr {

long len;/* 塊的字節數,4 B */

char id[4];/* 文件識別碼 */

char part[8];/* 軟件分號 */

char rev[8];/* 軟件修訂號 */

char create[26];/* 創建日期時間 */

char update[26];/* 最后更新日期時間 */

char spare[52];/* 空格 */

}ss_stdhdr;

(2) 統計記錄(32 B)

typedef struct stats {

long ncell;/* 數據單元數目 * /

short minz,maxz;/* 整個文件最小、最大高程 */

char spare[24];/* 空格 */

}stats;

(3) 數據單元(40 B)

typedef struct cell_hdr {

float latstart,latend;/* 起止緯度 */

float longstart,longend;/* 起止經度 */

float deltalat,deltalong;/* 經緯間距,單位10 s */

float nptlat,nptlong;/* 緯度和經度上的點數 */

float deltax,deltay;/* 兩點間距離(英尺)*/

}cell_hdr

(4) 單元數據

數據為2 B Short型,所有數據無間隔的連續存放。

2.1.2 DED文件的計算方法

生成DED文件的重點是計算單元格兩點間的距離。DED中數據單元的兩點間實際距離即DED數據網格的間距,是用地球橢球面上大地線的長度來度量的。網格中任意兩點A(B1,L1)和B(B2,L2)間的距離可以采用大地主題解算方法來計算。

首先將B1,L1和B2,L2換算成以弧度為單位,然后進行下列計算。計算中常數采用的是克拉索夫斯基橢球體元素。

b=B2-B1(3)

P=sin bcos L2(4)

Q=cos L1sin L2-sin L1cos L2cos b(5)

M=sin L1sin L2+cos L1cos L2cos b(6)

A0=arctan(P/Q)(7)

A1=arctan[cos L2sin A0/1-(cos L2sin A0)2](8)

A=arctan[(Psin A0+Qcos A0)/M](9)

S=6 356 863.020+(10 708.949-

13.474cos A1)cos A1(10)

得到A,B間距離為:L=AS,最后將“米”為單位的數據轉化為“英尺”單位。

2.2 DEM數據格式轉換成DED數據格式

在分析DED文件的格式規范和計算方法后,通過格式轉換軟件便可實現DEM數據格式文件向DED格式文件的轉換。由于可獲得的原始高程數據無統一標準,文件格式也有所差別,有時MultiGen Creator自帶的工具并不能派上用場,這就需要自己開發地形數據格式轉換工具軟件。

在編制地形數據轉換軟件主要做的工作有以下幾項:

(1) 從文件中讀取有用的高程數據

一些常用的標準的高程數據文件如DEM,DMA等,Creator自帶了轉換工具。對于一些自定義的文件格式或Creator不支持的其他文件格式,須根據其文件格式,將其中有用的數據分離讀出。

(2) 根據DED文件的格式計算出DED文件需要的相關參數

DED文件表示的是某一經緯度區域內的地形,需根據高程文件的地形參數,計算出DED文件中有關的參數,如:經緯度的起始值和終止值、經緯度的跨度及相鄰兩點的距離等。

(3) 將參數及數據寫入DED文件

DED文件是二進制文件。在寫入數據時應注意以二進制的方式寫,并應注意在寫入數據時要按照DED文件中高程數據的排列順序;否則,生成的DED文件中可能出現方向的變化。

由于DED文件格式源于SGI Irix系統平臺,多字節數據的存儲方式是將低字節存儲在起始地址,稱為小端(little-endian)字節序;而Windows系統平臺的多字節數據存儲方式是將高字節存儲在起始地址,稱為大端(big-endian)字節序,所以在讀取和寫入時需要進行轉換。以下是部分示例代碼:

CDedHead::ReadFile(CString chName) //讀文件

{

for(int i = 0;i < m_stats.nCell;i++)

{

nn = m_fileDED.Read(&m;_cell,sizeof(cell_Hdr));

m_cell.nptlong = Ex32Float(m_cell.nptlong);

m_cell.nptlat = Ex32Float(m_cell.nptlat);

}

}

unsigned long CDedHead::Ex32Int(unsigned long lv)

{

unsigned long *buf = &lv;

for(unsigned int i=0;i<4;i++)

{

ENDIAN_32(buf[i]);

}

return *buf;

}

float CDedHead::Ex32Float(float fv)

{

float *buf = &fv;

for(unsigned int i=0;i<4;i++)

{

ENDIAN_32r(buf[i]);

}

return *buf;

}

unsigned long CDedHead::GetDedLong(unsigned long lv)

{

unsigned long by1 = lv - (lv>>8)*256;

lv = lv>>8;

unsigned long by2 = lv - (lv>>8)*256;

lv = lv>>8;

unsigned long by3 = lv - (lv>>8)*256;

lv = lv>>8;

unsigned long by4 = lv - (lv>>8)*256;

unsigned long lRet = (unsigned long)by4;

lRet += (unsigned long)(by3*256);

lRet += unsigned long(by2*256*256);

lRet += unsigned long(by1*256*256*256);

return lRet;

}

unsigned short CDedHead::GetDedshort(unsigned short sv)

{

unsigned short by1 = sv - (sv>>8)*256;

sv = sv>>8;

unsigned short by2 = sv - (sv>>8)*256;

unsigned short lRet = (unsigned short)by2;

lRet += (unsigned short)(by1*256);

return lRet;

}

采用自主開發的轉換軟件,將基于等高線地圖生成的某院校常用訓練地域DEM轉化為DED格式的文件“YEJIGANG.ded”,這樣就完成了三維地形生成的地形數據準備工作。

3 結 語

在此以某院校常用訓練場地三維地形模型的建立為例,詳細介紹了以等高線地圖生成Creator專用數據DED文件的方法、過程和技巧。該方法成本低,效率高,可操作性強;同時利用專業矢量化軟件和自己編制的轉換軟件,優勢互補、使用靈活。

在掃描數字化、插值等步驟中注意了誤差的控制,最后得到的DEM數據具有較高了誤差的控制,使得到的DEM數據具有較高的精度,從而得到高精度的DED文件,實踐證明,該方法確能快速有效的生成DED文件,為其他地區批量生成DED提供了借鑒,從而利用MultiGen Creator軟件建立高質量的三維地形模型。

參考文獻

[1]胡少林.基于DEM數據的三維地形建模方法研究與實現[D].長沙:國防科學技術大學,2002.

[2]姚建新,馮秀蘭.等高線的三維地形建模與實現[J].林業資源管理,2002,9(4):31-33.

[3]陳珩.戰場環境仿真中的三維地形生成技術研究[J].航空電子技術,2006,32(2):38-44.

[4]馬龍,杜道生.GIS中DEM產品精度的分析和評價[J].測繪信息與工程, 2003,28(3):4-6.

[5]馬友平,馮仲科,張志華,等.地形圖的R2V矢量化與ArcView的三維顯示[J].湖北民族學院學報:自然科學版,2007(3):331-334.

[6]戴振華.R2V與MapInfo在林業制圖中的組合應用[J].湖南林業科技,2003,30(2):57-58.

[7]王乘,周均清,李利軍.Creator可視化仿真建模技術[M].武漢:華中科技大學出版社,2005.

[8]王洪濤.深入剖析Visual C++編程技術及應用實例[M].北京:人民郵電出版社,2003.

[9]段琪慶,郝光榮,李培紅,等.在Mapinfo下制作DEM的程序設計及方法[J].山東建筑工程學院學報,2004(3):15-18.

[10]宗瑋,徐雷振.泰寧1∶1萬DEM的生成及應用[J].株洲師范高等專科學校學報,2005,10(5):31-33.

[11]郭艷萍,婁國勝.等高線三維顯示技術的探討[J].三晉測繪,2004(1):19-21.

主站蜘蛛池模板: 亚洲欧洲自拍拍偷午夜色| 国产精品99一区不卡| 怡春院欧美一区二区三区免费| 2021天堂在线亚洲精品专区| 国产极品美女在线播放| 秋霞午夜国产精品成人片| 3344在线观看无码| 最新亚洲av女人的天堂| 日本www在线视频| 国产成人综合久久精品下载| 亚洲日韩国产精品无码专区| 国产香蕉在线视频| 综合五月天网| 久久婷婷色综合老司机| 99热亚洲精品6码| 国产日韩精品一区在线不卡| 国产鲁鲁视频在线观看| 99无码中文字幕视频| 无码精品国产dvd在线观看9久| 伊人查蕉在线观看国产精品| 久久夜色撩人精品国产| 精品成人免费自拍视频| 欧美第一页在线| 免费一级毛片在线播放傲雪网| 亚洲人精品亚洲人成在线| 人人澡人人爽欧美一区| 国产一二三区视频| 久久99国产综合精品1| 亚洲色图欧美在线| 伦伦影院精品一区| 老司国产精品视频91| 久久久久亚洲精品无码网站| 亚洲浓毛av| 国内精品自在欧美一区| 99精品免费在线| 无码福利日韩神码福利片| 亚洲欧美日韩另类在线一| 亚洲欧美一区二区三区麻豆| 国产91精品久久| 欧美成在线视频| 视频二区亚洲精品| 久久精品66| 国产精品蜜芽在线观看| 亚洲一区二区三区中文字幕5566| 在线免费观看AV| 波多野结衣亚洲一区| 亚洲va在线观看| 99久久精品免费观看国产| 国产精品成| 日本国产在线| 国产亚洲视频免费播放| 午夜精品久久久久久久2023| 精品一区二区无码av| 91麻豆久久久| 国产激情无码一区二区APP| 国产色网站| 国产va在线| 91人人妻人人做人人爽男同| 久久香蕉国产线看观看精品蕉| 免费一级毛片不卡在线播放| 国产亚洲欧美日韩在线一区二区三区| 国产中文在线亚洲精品官网| 亚洲视屏在线观看| 99久久精品久久久久久婷婷| 久久先锋资源| 亚洲成肉网| 亚洲第一天堂无码专区| 老司机午夜精品网站在线观看| 色国产视频| 国产不卡一级毛片视频| 亚洲永久视频| 无码AV日韩一二三区| 尤物国产在线| 国产成熟女人性满足视频| 四虎永久在线精品国产免费| 美女国产在线| 狠狠色丁香婷婷综合| 国产午夜精品鲁丝片| WWW丫丫国产成人精品| 国产粉嫩粉嫩的18在线播放91| 中文字幕 91| 国产女人水多毛片18|