• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2010-05-13 08:46:00聶文兵,高
      現(xiàn)代電子技術 2009年12期
      關鍵詞:矢量化等高線高程

      聶文兵,高 飛

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

      關鍵詞:Creator;DED;DEM;地形數(shù)據(jù);地形建模

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

      1 由等高線地圖生成DEM

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

      1.1 地形源數(shù)據(jù)的獲取

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

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

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

      (3) 利用衛(wèi)星攝影測量照片讀取高程數(shù)據(jù)(遙感);

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

      (5) 從現(xiàn)有的地圖數(shù)據(jù)庫提取所需區(qū)域的地形高程數(shù)據(jù)。

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

      1.2 等高線地圖的矢量化

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

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

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

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

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

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

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

      1.3 DEM的生成

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

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

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

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

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

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

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

      圖1 動態(tài)圓取點

      2 DED文件的生成

      2.1 DED文件格式和計算方法

      2.1.1 DED文件格式

      標準DED文件由標準文件頭、統(tǒng)計記錄、數(shù)據(jù)單元文件頭和數(shù)據(jù)單元四部分組成,各部分定義如下:

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

      typedef struct ss_ stdhdr {

      long len;/* 塊的字節(jié)數(shù),4 B */

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

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

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

      char create[26];/* 創(chuàng)建日期時間 */

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

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

      }ss_stdhdr;

      (2) 統(tǒng)計記錄(32 B)

      typedef struct stats {

      long ncell;/* 數(shù)據(jù)單元數(shù)目 * /

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

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

      }stats;

      (3) 數(shù)據(jù)單元(40 B)

      typedef struct cell_hdr {

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

      float longstart,longend;/* 起止經(jīng)度 */

      float deltalat,deltalong;/* 經(jīng)緯間距,單位10 s */

      float nptlat,nptlong;/* 緯度和經(jīng)度上的點數(shù) */

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

      }cell_hdr

      (4) 單元數(shù)據(jù)

      數(shù)據(jù)為2 B Short型,所有數(shù)據(jù)無間隔的連續(xù)存放。

      2.1.2 DED文件的計算方法

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

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

      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,最后將“米”為單位的數(shù)據(jù)轉化為“英尺”單位。

      2.2 DEM數(shù)據(jù)格式轉換成DED數(shù)據(jù)格式

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

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

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

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

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

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

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

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

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

      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;

      }

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

      3 結 語

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

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

      參考文獻

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

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

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

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

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

      [6]戴振華.R2V與MapInfo在林業(yè)制圖中的組合應用[J].湖南林業(yè)科技,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.

      猜你喜歡
      矢量化等高線高程
      8848.86m珠峰新高程
      當代陜西(2020年23期)2021-01-07 09:24:44
      地形圖的閱讀
      一種基于Fréchet距離的斷裂等高線內(nèi)插算法
      測繪通報(2019年1期)2019-02-15 04:56:06
      GPS控制網(wǎng)的高程異常擬合與應用
      “等高線地形圖的判讀”專題測試
      地理教育(2016年10期)2016-11-09 00:32:53
      交互式矢量化技術在水文站網(wǎng)分布圖編繪中的應用
      科技視界(2016年10期)2016-04-26 21:12:24
      基于VP Studio和CASS的柵格地形圖矢量化方法
      SDCORS高程代替等級水準測量的研究
      回歸支持向量機在區(qū)域高程異常擬合中的應用
      遙感圖像多尺度分割算法與矢量化算法的集成
      計算機工程(2014年6期)2014-02-28 01:27:29
      景德镇市| 健康| 丰顺县| 泊头市| 昌吉市| 石景山区| 宾川县| 红河县| 虎林市| 黄浦区| 独山县| 卓资县| 云浮市| 鄂托克前旗| 齐齐哈尔市| 上饶市| 屏东县| 平凉市| 襄垣县| 凤台县| 沭阳县| 柏乡县| 无为县| 长兴县| 安陆市| 河南省| 桐城市| 铜陵市| 那曲县| 广东省| 闽清县| 天祝| 朝阳区| 哈巴河县| 巴林左旗| 临江市| 蒙自县| 祁门县| 乌兰浩特市| 芒康县| 石楼县|