• 
    

    
    

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

      ?

      MapGIS與Excel VBA在地物化綜合剖面成圖中的協(xié)同應(yīng)用

      2013-03-12 00:54:28陳小寧王麗君林佳富
      中國(guó)科技縱橫 2013年1期
      關(guān)鍵詞:偏移量物化號(hào)線

      陳小寧 王麗君 林佳富

      【摘要】本文針對(duì)MapGIS明碼文件與ExcelVBA在地物化綜合剖面成圖中的協(xié)同應(yīng)用而展開(kāi)。首先介紹MapGIS線文件的明碼格式,再介紹Excel的自動(dòng)化語(yǔ)言ExcelVBA自動(dòng)高效地將原始數(shù)據(jù)整理并保存為MapGIS線明碼文件,在繪制相關(guān)曲線的時(shí)候,通過(guò)相關(guān)參數(shù)的修改可以對(duì)曲線進(jìn)行任意的組合,以適應(yīng)實(shí)際工作和研究的需要。

      【關(guān)鍵詞】MapGIS明碼文件 ExcelVBA 地物化綜合剖面

      1問(wèn)題的提出及解決方法

      在工作中,以往地物化綜合剖面的繪制往往占用工作人員的大量時(shí)間。甚至采用先手繪,然后掃描,再矢量化的方法。工作人員在行業(yè)軟件中進(jìn)行了大量的嘗試,但當(dāng)涉及到工作比例尺、成圖比例尺、曲線組合等問(wèn)題的時(shí)候,此類(lèi)軟件就不能滿(mǎn)足實(shí)際需求。

      利用ExcelVBA強(qiáng)大的自動(dòng)化編輯功能,構(gòu)建MapGIS明碼文件,然后將此明碼文件轉(zhuǎn)化為MapGIS的線文件,完成圖件的繪制,這一過(guò)程中通過(guò)“偏移量”的設(shè)置,可以對(duì)元素任意組合,滿(mǎn)足實(shí)際需要。

      思路如圖1所示。

      2MapGIS文件明碼格式介紹

      本文主要使用MapGIS的線文件,所以現(xiàn)主要介紹MapGIS線明碼文件的格式,點(diǎn)(區(qū))文件的明碼格式可參閱相關(guān)書(shū)籍(如圖2)。

      邏輯結(jié)構(gòu):文件頭線數(shù) 1號(hào)線 2號(hào)線……n號(hào)線

      具體為:

      A、文件頭,8個(gè)字節(jié)

      WMAP9021

      B、線數(shù) n

      C、1號(hào)線

      D、線參數(shù)

      說(shuō)明:在以上的說(shuō)明文字中,斜體部分為文件所需內(nèi)容。文中帶下劃線的文字為介紹文字,實(shí)際明碼文件中不需要。線參數(shù)包括:線型號(hào),輔助線型號(hào),線色,線寬,X系數(shù),Y系數(shù),輔助色,圖層,透明輸出(具體數(shù)值視MapGIS軟件及成圖需要)。

      3Excel數(shù)據(jù)準(zhǔn)備及ExcelVBA數(shù)據(jù)計(jì)算、提取

      3.1繪制“數(shù)據(jù)計(jì)算與提取”按鈕并添加按鈕的單擊事件,代碼如下:

      PrivateSubCommandButton1_Click()

      UserForm1.Show

      EndSub

      3.2繪制“數(shù)據(jù)計(jì)算與提取”對(duì)話(huà)框,如圖2所示

      3.2.1添加“計(jì)算”按鈕的單擊事件

      成圖數(shù)據(jù)=觀測(cè)數(shù)據(jù)×10×成圖比例尺+偏移量

      縱向偏移量相當(dāng)于一常數(shù),不同元素的偏移量設(shè)置為同一數(shù)值,即表示將這幾種元素曲線組合在一起,添加“計(jì)算”按鈕的單擊事件,主要是通過(guò)循環(huán)語(yǔ)句for…next賦值,部分代碼如下:

      PrivateSubCommandButton1_Click()

      DimiAsLong

      DimkAsLong

      k=Val(TextBox0.Text)+3

      Worksheets("sheet1").Activate

      Fori=4TokStep1

      ActiveSheet.Cells(i,16).Value=(Val(Cells(i,4))*10/Val(TextBox2.Text)+Val(TextBox3.Text)

      ActiveSheet.Cells(i,17).Value=(Val(Cells(i,5))*10/Val(TextBox5.Text)+Val(TextBox6.Text)

      ……

      Nexti

      EndSub

      3.2.2添加“提取線”按鈕的單擊事件

      “提取線”按鈕主要是通過(guò)賦值語(yǔ)句將2.1過(guò)程中計(jì)算的數(shù)據(jù)按照MapGIS線明碼文件的數(shù)據(jù)格式要求重新組合數(shù)據(jù),完成效果如圖3所示,步驟如下:

      (1)采用VBA的賦值語(yǔ)言建立表頭、輸入線數(shù)、輸入線參數(shù),部分代碼如下

      ActiveSheet.Cells(1,1).Value="WMAP9021"

      ActiveSheet.Cells(2,1).Value="16"

      ActiveSheet.Cells(3,1).Value="1"

      ActiveSheet.Cells(3,2).Value="1"

      ………

      ActiveSheet.Cells(4,1).Value=k

      (2)寫(xiě)入x、y坐標(biāo),部分代碼如下:

      Fori=5Tok+4

      Worksheets("sheet2").Cells(i,2).Value=Worksheets("sheet1").Cells(i-1,21).Value

      Worksheets("sheet2").Cells(i,1).Value=2*i-10

      Nexti

      (3)寫(xiě)入線的ID號(hào)和線長(zhǎng)度參數(shù),代碼如下:

      Worksheets("sheet2").Cells(k+5,1).Value=1

      Worksheets("sheet2").Cells(k+5,2).Value=10000

      經(jīng)過(guò)以上三步,已經(jīng)完成了MapGIS明碼文件在Excel組建。接下來(lái)將Excel文件存儲(chǔ)為以“wl”為后綴的文件。

      3.3添加“保存線”按鈕的單擊事件

      接下來(lái)將Excel文件存儲(chǔ)為以“wal”為后綴的文件,字符見(jiàn)已逗號(hào)分隔,代碼如下

      PrivateSubCommandButton4_Click()

      Dimstr$,i%,len1%

      OpenThisWorkbook.Path&"\001.wal"ForOutputAs#1

      Fori=1To[a65536].End(3).Row

      len1=Application.CountA(Cells(i,1).EntireRow)

      Iflen1=1Then

      str=Cells(i,1)

      Else

      str=Join(Application.Transpose(Application.Transpose_

      (Cells(i,1).Resize(1,len1))),",")

      EndIf

      Print#1,str

      Next

      Close#1

      EndSub

      4MapGIS下線明碼文件到線文件的轉(zhuǎn)化

      4.1打開(kāi)MapGIS軟件的“圖形處理”中的“文件轉(zhuǎn)換”對(duì)話(huà)框,如圖4所示。

      首先輸入已經(jīng)準(zhǔn)備好的MapGIS線明碼文件,再輸出MapGIS明碼格式。至此,完成曲線的所有繪制過(guò)程。

      4.2曲線的整飾

      主要包括坐標(biāo)軸的繪制、圖例的制作、相關(guān)注釋的添加等等,建議采用MapGIS的“移動(dòng)坐標(biāo)調(diào)整”、“點(diǎn)輸入線”等功能來(lái)完成上述工作,以達(dá)到精確制圖的目的,圖件整飾完成后如圖5所示。

      5存在的問(wèn)題和建議

      本文主要涉及到了MapGIS線明碼文件,建議合理的利用MapGIS點(diǎn)明碼文件,這樣可以快速完成對(duì)曲線的注釋。

      MapGIS作為一款優(yōu)秀的國(guó)產(chǎn)基礎(chǔ)地理信息系統(tǒng)軟件平臺(tái),擁有強(qiáng)大的功能,并支持多種編程語(yǔ)言的二次開(kāi)發(fā),充分利用這一功能會(huì)給我們的工作和學(xué)習(xí)帶來(lái)極大地便利和樂(lè)趣。

      參考文獻(xiàn):

      [1]李政,梁海英,李昊.VBA應(yīng)用基礎(chǔ)與實(shí)例教程[M].北京:國(guó)防工業(yè)出版社,2005.

      [2]張濱生.利用MAPGIS快速制作點(diǎn)位數(shù)據(jù)圖的一種方法[J].物化探計(jì)算技術(shù),2001,23(1):90.

      [3]ExcelHome.Excel應(yīng)用大全.北京:人民郵電出版社.

      猜你喜歡
      偏移量物化號(hào)線
      1號(hào)線,上海地鐵零的突破
      車(chē)門(mén)玻璃Y向偏移量對(duì)升降系統(tǒng)異響問(wèn)題的影響
      2020?年中國(guó)內(nèi)地預(yù)計(jì)開(kāi)通?91?條城軌交通線路
      杭州地鐵1號(hào)線臨平支線接入9號(hào)線通信系統(tǒng)的改造
      攪拌針不同偏移量對(duì)6082-T6鋁合金接頭勞性能的影響
      基于最小二乘平差的全極化SAR配準(zhǔn)偏移量估計(jì)方法
      物的人化與人的物化——當(dāng)代舞臺(tái)美術(shù)的表演
      檔案:一種物化的文化形態(tài)
      拋物化Navier-Stokes方程的降維仿真模型
      大連輕軌3號(hào)線發(fā)生脫軌
      南康市| 桐乡市| 新疆| 千阳县| 四子王旗| 张掖市| 阜新| 永丰县| 将乐县| 天峻县| 铜川市| 仪征市| 永清县| 长汀县| 新沂市| 中江县| 朝阳县| 东兰县| 汾西县| 吉木萨尔县| 城口县| 白城市| 六安市| 城市| 东辽县| 枣庄市| 白河县| 鲁山县| 府谷县| 临城县| 米林县| 北京市| 西和县| 长宁县| 建瓯市| 吉林市| 新密市| 沐川县| 越西县| 上高县| 宝应县|