• 
    

    
    

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

      ?

      基于GDI+的鉆孔柱狀圖自動成圖方法

      2012-10-27 05:21:46李海君張耀文孫文潔
      中國科技信息 2012年20期
      關(guān)鍵詞:柱狀圖繪圖巖性

      李海君 張耀文 孫文潔,2

      1.防災(zāi)科技學(xué)院,河北三河市 065201

      2.中國礦業(yè)大學(xué)(北京)地球科學(xué)與測繪工程學(xué)院,北京 100083

      基于GDI+的鉆孔柱狀圖自動成圖方法

      李海君1張耀文1孫文潔1,2

      1.防災(zāi)科技學(xué)院,河北三河市 065201

      2.中國礦業(yè)大學(xué)(北京)地球科學(xué)與測繪工程學(xué)院,北京 100083

      針對勘測設(shè)計企業(yè)業(yè)務(wù)信息管理的具體需求,分析了勘察設(shè)計企業(yè)業(yè)務(wù)信息管理系統(tǒng)的主要功能,建設(shè)的系統(tǒng)主要包括項(xiàng)目管理、合同管理、費(fèi)用管理及系統(tǒng)管理等功能;在此基礎(chǔ)上,闡述了系統(tǒng)的開發(fā)原則、

      應(yīng)用效果和特點(diǎn)。

      勘察設(shè)計企業(yè);合同管理;費(fèi)用管理;設(shè)計與開發(fā)

      ADO.NET, drilling database; GDI+; histogra m

      mapping; double-buffering

      引言

      鉆孔柱狀圖是地質(zhì)勘探分析中的基礎(chǔ)圖件,可形象刻畫巖層、礦體等的地質(zhì)結(jié)構(gòu)及相互關(guān)系,是編制其它綜合圖件基本依據(jù)[1]。編制鉆孔柱狀圖是地勘單位的基本工作,也是投入精力最多的工作之一。我國鉆孔柱狀圖的繪制工作主要有兩種形式,一是在手工精細(xì)繪制基礎(chǔ)上,然后利用GIS、CAD或Coredraw軟件進(jìn)行矢量化成圖,成圖慢、效率低[2];另一種則利用各種程序設(shè)計語言基于AutoCAD或各類GIS平臺進(jìn)行二次開發(fā)[3],效果較好,但是對于廣大的地質(zhì)工作者來說,平臺開發(fā)比較復(fù)雜,需進(jìn)行專門培訓(xùn),從而限制了系統(tǒng)的推廣和應(yīng)用。此外,國內(nèi)外現(xiàn)有成熟軟件,如uMap、GeoMaster、RockWare等軟件,行業(yè)性強(qiáng),若只需生成鉆孔柱狀圖一項(xiàng)功能,仍需要購買整個應(yīng)用平臺,需要培訓(xùn);且國外工程地質(zhì)軟件 ,對中文不支持或支持較差,添加中文注釋信息困難[4]。

      因此,現(xiàn)行軟件由于其功能不完善、不易使用等問題而未普及,鉆孔柱狀圖的自動成圖技術(shù)的研究探討就有其必要性[5]。本文基于Access數(shù)據(jù)庫(或改變連接字符串使用SqlSever),采用ADO.NET 與GDI+相結(jié)合,在Visual Studio環(huán)境下實(shí)現(xiàn)了鉆孔柱狀圖的自動繪制,并對圖例填充、薄層處理等細(xì)節(jié)問題進(jìn)行了探討。

      1 數(shù)據(jù)庫的設(shè)計

      1.1 鉆孔數(shù)據(jù)庫

      根據(jù)鉆孔要表達(dá)信息,建立ACCESS格式的鉆孔數(shù)據(jù)庫,建立鉆孔的基本信息(包括名稱、位置、坐標(biāo)、標(biāo)高、勘察單位、完探深度等)、分層特征(頂高、底高、厚度、累積厚度等)、地層特征(地層系、統(tǒng)、組年代信息、巖性描述等)、測試數(shù)據(jù)(室外巖心采取率、動探測試、井下電視、標(biāo)貫信息、抽水試驗(yàn)數(shù)據(jù)等和室內(nèi)土工試驗(yàn)等)、巖性圖例(巖性圖例填充符號編號、名稱)等總共7個數(shù)據(jù)表。

      1.2 表與表之間關(guān)系

      在已建好的7個表中,采用基本信息表(Location)作為主表,其余6表作為子表,均采用“鉆孔編號”為關(guān)鍵字(Data表中有值均為“鉆孔編號”的數(shù)據(jù)列),每個表中都可依據(jù)關(guān)鍵字調(diào)出所需信息以供查詢或操作。

      1.3 巖性符號的管理

      通過Windows 提供的繪圖軟件或者專業(yè)的繪圖軟件如GIS、CAD、PS或者CoreDraw等依據(jù)《區(qū)域地質(zhì)圖圖例》規(guī)范,按照標(biāo)準(zhǔn)巖性劃分建立一套常用巖性符號圖例,格式可以為bmp、jpg或gif,文件進(jìn)行編碼后存放到指定的目錄,以便按編碼直接調(diào)用,進(jìn)行地質(zhì)斷面的填充。

      2 技術(shù)思路

      2.1 實(shí)現(xiàn)思路

      本文鉆孔資料自動成圖主要思路是應(yīng)用數(shù)據(jù)庫ADO.NET,基于C#語言開發(fā)實(shí)現(xiàn)鉆孔資料編輯管理模塊與鉆孔柱狀圖的成圖算法。應(yīng)用ADO接口提取鉆孔數(shù)據(jù)的空間坐標(biāo)和巖性特征生成相應(yīng)的圖斑,并在窗體的圖形控件中實(shí)現(xiàn)成圖顯示。

      在開發(fā)過程(見圖1)中,數(shù)據(jù)庫采用Microsoft Access作為數(shù)據(jù)平臺,應(yīng)用SQL數(shù)據(jù)庫語言,建立鉆孔資料的數(shù)據(jù)庫,進(jìn)行鉆孔數(shù)據(jù)的輸入、編輯、管理及提取;而成圖則采用GDI+基本繪圖模塊,設(shè)置繪圖參數(shù)以及柱狀圖的格式、框架,用ADO中讀取分層和巖性描述數(shù)據(jù)進(jìn)行框架填充,實(shí)現(xiàn)鉆孔柱狀圖的自動成圖,最終以方便的圖片形式供研究人員分析。

      圖1 模塊開發(fā)主要技術(shù)思路

      2.2 開發(fā)中遇到的技術(shù)難點(diǎn)

      2.2.1 繪圖緩慢

      工程地質(zhì)軟件有時要創(chuàng)建十分復(fù)雜的柱狀圖,將要繪制圖形直接在窗口中繪出,即使配置較高的機(jī)器,也需較長時間才能顯示。另外,圖形或者文本在屏幕上繪制,會有意外閃爍。

      2.2.2 分頁問題

      鉆孔柱狀圖當(dāng)前頁繪制完成以后,會有當(dāng)前鉆孔未繪制完畢的情況,需要在新的一頁甚至兩到三頁進(jìn)行剩余部分的繪制,這就需要注意分層深度、巖性描述以及填充的銜接。有時某些鉆孔剩余很少部分未繪制,需從實(shí)際應(yīng)用考慮是否調(diào)整繪圖比例,是否進(jìn)行分頁。

      2.2.3 薄層處理

      在繪制柱狀圖的沉積構(gòu)造繪制時,由于薄層厚度太小,按既定的比例空間不夠繪制分層數(shù)據(jù)和巖性描述,這就要求我們將薄層的繪出后,將要填寫文字和數(shù)據(jù)的地方進(jìn)行必要處理。

      2.3 開發(fā)過程中的關(guān)鍵技術(shù)

      所用程序設(shè)計語言C#.NET是微軟在2000年7月推出.NET Framework的第一版是提供的一種新語言,近年來,由于其派生于C/C++簡潔語法,仍能保持C/C++原來功能,對象定位簡單,類型安全。盡管是新語言,已經(jīng)成為Windows及Web開發(fā)人員的首選開發(fā)工具[6]。

      GDI+(Graphics Device Interface,圖形設(shè)備接口),將應(yīng)用程序與圖形硬件隔離,從而允許開發(fā)人員創(chuàng)建與設(shè)備無關(guān)的應(yīng)用程序。它以繼承類的方式,通過調(diào)用GDI+ 類提供方法,此方法又反過來調(diào)用相應(yīng)特定設(shè)備的驅(qū)動程序,進(jìn)而實(shí)現(xiàn)圖形在屏幕或其它特定設(shè)備上的顯示。GDI+提供的服務(wù)分為3個大類:二位矢量圖形、圖像處理和版式[7]。

      ADO.NET是微軟提供一組可用于和多種數(shù)據(jù)源(主要為數(shù)據(jù)庫)進(jìn)行交互的面向?qū)ο箢悗?,其提供用與數(shù)據(jù)源進(jìn)行交互的相關(guān)公共方法,可保證平臺互用性和可伸縮的數(shù)據(jù)訪問。類庫主要有用于交互連接的Connection類,用于執(zhí)行查詢、修改、插入等操作的Command對象以及用于暫存數(shù)據(jù)的DataReader、DataAdapter類和DataSet對象等來擷取、處理與更新數(shù)據(jù)。

      模塊在開發(fā)過程中,針對開發(fā)中遇到的技術(shù)難點(diǎn),一是采用雙倍緩沖技術(shù)解決在計算機(jī)中直接繪圖的速度緩慢并消除意外的閃爍效果,其次應(yīng)用緩沖線繪制技術(shù)進(jìn)行鉆孔柱狀圖的薄層注釋填充并用數(shù)組自動判斷來實(shí)現(xiàn)分頁,使得柱狀圖可以快速、美觀的自動成圖[8]。

      3 基于GDI+進(jìn)行地質(zhì)鉆孔柱狀圖的自動繪制

      柱狀圖主要由表頭、圖框與填充內(nèi)容等幾大部分組成[9],其均繪制于Picture Box窗體中,具體各部分繪制分別實(shí)現(xiàn),繪制代碼所需命名空間為System.Drawing.2D。具體實(shí)現(xiàn)如下:

      3.1 表頭的繪制

      表頭包括鉆孔的基本信息及柱狀圖的各列對應(yīng)內(nèi)容的列名,內(nèi)容固定不變而且是各個鉆孔的公用必需部分,可以在程序中事先設(shè)計好格式。與數(shù)據(jù)庫的交互操作由數(shù)據(jù)連接讀寫類DataMean()與操作類DataOperate()實(shí)例化后執(zhí)行。

      (1)畫表頭線。不需連接數(shù)據(jù)庫基于Pen()函數(shù),已繪圖控件左上為坐標(biāo)原點(diǎn),用屏幕起始點(diǎn)坐標(biāo)繪制表頭線,典型代碼如下:

      調(diào)節(jié)下拉ComboBox值,即可得所鉆孔柱狀圖表頭,如圖2:

      圖2 鉆孔柱狀圖的表頭

      3.2 圖體框架部分及數(shù)據(jù)填充

      因表頭圖幅已確定,圖體框架的繪制也可以由DrawLine()函數(shù)繪出柱狀圖中固定的列線,而地層線的繪制則需要應(yīng)用DataSet對象調(diào)用Data數(shù)據(jù)表中相應(yīng)內(nèi)容,轉(zhuǎn)化為雙精度值后進(jìn)行繪制。程序的實(shí)現(xiàn)如下:

      (1)讀取分層數(shù)據(jù),繪制地層線。讀取數(shù)據(jù)以后,需要用數(shù)組有選擇存儲“累積厚度”字段值,然后進(jìn)行定義Value[0]與Value[*],進(jìn)一步進(jìn)行繪制,典型代碼如下。

      (2)分頁處理

      若柱狀圖在當(dāng)前頁未能繪制完畢,就要考慮分頁問題。表頭,表體和表尾三部分,在鉆孔深度較大不能繪制完畢時,具體分層步驟實(shí)現(xiàn)如下:

      ①計算表體(是累計厚度和巖性描述區(qū)域累計值的最大值)和表尾的高度,查看剩余部分,若僅剩表尾,則調(diào)整表體的(繪圖控件)的大小,盡量繪制成一頁,若剩余數(shù)層地層,則另起一個新窗體進(jìn)行繪制,格式固定;

      ②新窗體繪制時,事先定義好String全局變量,分別存儲文字型的巖性描述,系統(tǒng)組等地層信息;Double全局變量,存儲上層表尾處剩余的分層數(shù)值,以便下層繼續(xù)繪制。并且注意變量即是清零。

      畫地層界線填寫層底標(biāo)高,深度,厚度,巖性名稱以巖性描述以及水位、動探、釬擊數(shù)的繪制,繪制過程與上兩步大體相同,不再贅述。

      3.3 應(yīng)用雙倍緩沖進(jìn)行巖性圖例的填充

      針對在屏幕中繪制文字或圖像時的速度緩慢或意外閃爍問題,可首先將存儲好的圖形繪制到圖像對象,繪制完圖像后,再將圖像繪制至窗口,這個技巧就是雙倍緩沖`。同理,該技巧也可先進(jìn)行背景繪制,然后再在背景上進(jìn)行圖像繪制,這樣,既可以縮短繪圖時間,亦可以消除閃爍。具體的實(shí)現(xiàn)步驟如下:

      3.4 運(yùn)用緩沖線繪制技術(shù),進(jìn)行薄層處理。

      當(dāng)?shù)貙觿澐州^薄而巖性描述文字又多、所顯示比例尺較小的情況下(見圖3),既定巖性描述區(qū)不能容納全部巖性描述 ,則需要畫緩沖線來解決,使其能較美觀地顯示。

      圖3 柱狀圖的薄層處理

      具體的算法如下:

      (1)定義一個數(shù)組,每次畫完一行,記錄這個行線的累積深度,根據(jù)ADO讀出的巖性描述和巖性名稱所占字符,計算出需要的最大行距,適當(dāng)安排巖石名稱和描述的位置;

      (2) 如果描述文字所占的總高度大于該層厚度,則以巖性描述文字的最低位置畫橫線來結(jié)束該層,否則,則以巖性描述文字所占的總高度來結(jié)束該層;最后一層應(yīng)特別處理,如果最后一層的層厚大于或等于該層巖性描述文字所占的總高度 ,則按照層厚來畫底界限。

      (3)畫線完畢后,將這個行線和巖層厚度的底板線連成緩沖線。

      本文所作的柱狀圖是單孔柱狀圖,旨在快速生成涵蓋勘察工程中鉆孔的絕大部分信息,以供研究人員分析。完整柱狀圖的生成效果如圖4 所示。

      4 結(jié)語

      通過本程序模塊開發(fā),利用ADO.NET與GDI+相結(jié)合,以ACCESS數(shù)據(jù)庫作為數(shù)據(jù)源進(jìn)行交互,實(shí)現(xiàn)了鉆孔柱狀圖的自動生成,可比較現(xiàn)有的柱狀圖成圖的低效率,低精度以及分享性不足等缺點(diǎn),縮短了繪圖時間,簡化了圖件繪制程序,解決了一般編程制圖過程中繪制緩慢以及意外效果等問題,并對地質(zhì)圖例的填充及薄層處理等進(jìn)行探討闡述。對實(shí)現(xiàn)鉆孔柱狀圖成圖標(biāo)準(zhǔn)化與規(guī)范化,以及其它測繪研究領(lǐng)域(如水文鉆孔綜合柱狀圖,測井曲線圖等)的柱狀圖繪制技術(shù)進(jìn)一步拓展具有較好的借鑒性意義。

      但該程序的也存在不足之處:雖然該程序編制與應(yīng)用十分方便、簡單,但是在數(shù)據(jù)錄入和其它圖件的集成應(yīng)用方面還存在繁瑣流程,有待于加強(qiáng)對數(shù)據(jù)管理與集成模式的優(yōu)化改進(jìn)。

      圖4 成圖結(jié)果

      [1]賈柳靜.地質(zhì)剖面數(shù)據(jù)庫管理及自動成圖系統(tǒng)的研究與設(shè)計[D].中國地質(zhì)大學(xué)(北京),2006年.

      [2]許哲平,陳建強(qiáng),遲文學(xué).基于Delphi7和CoreDraw9 VBA的鉆孔柱狀圖自動成圖系統(tǒng)[J].桂林工學(xué)院學(xué)報,27(1),81-85.

      [3]鄭潔紅,吳名彬.工程地震鉆孔柱狀圖的微機(jī)繪圖系統(tǒng)[J].華南地震,1998,18(2):72 - 77.

      [4]牟乃夏,梁春利,張靈先,等.基于WebService的鉆孔柱狀圖網(wǎng)絡(luò)成圖系統(tǒng)研究[J].金屬礦山,2010,2,92-116.

      [5]解華明,陳守余.基于MAPGIS的鉆孔柱狀圖繪制軟件的編制[J].物探化探計算技術(shù),2004,26(1),85-90.

      [6][美]內(nèi)格爾,伊夫杰等.C#高級編程[M].李敏波譯.北京:清華大學(xué)出版社,2006:204-205.

      [7][美]懷特.GDI+程序設(shè)計[M].楊浩,張哲峰譯.北京:清華大學(xué)出版社,2002:18-21.

      [8]遲文學(xué),陳建強(qiáng),許哲平等.鉆孔柱狀圖中緩沖線繪制技術(shù)[J].地質(zhì)科技情報,2006,25(5),2-5.

      [9]陳文杰, 應(yīng)軼.第四系鉆孔柱狀圖成圖系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].地礦測繪,2007,23(4),12-16.

      [10][美]沃森,內(nèi)格爾.C#入門經(jīng)典[M].齊立波譯.北京:清華大學(xué)出版社,2008: 893-894.

      The mapping method of drilling histogram based on GDI+

      Li Haijun1,Zhang Yaowen1, Sun Wenjie2
      1.Institute of Disaster Prevention, Hebei Province, S0a6n5h2e0 C1ity,
      2.ChinaUniversity of Mining & Technology (Beijing),Ceoollsecgieen ocfe G a nd Surveying Engineering,Beijing,100083

      The rapid and simple mappinogf drillingh istogram has very important significance for the development of Geologicrael search. Based on the discussioonf limitatioin n existing mappinmg etholds,ththis esis adopts ACCESS databaset o realize the mappi ng module with the combinatitoen chnologoyf ADO. NET and GDI+,expountdhs e difficulty solutions of paging algorithmp, rocessingT, LC drawing, pattern filling, and so on.. The proposemd ethod has simple operatioan nd high accuracy,qu ick efficiency as well as enlightenisnigg nificancine the applicatioonf computegrr aphicis n the field of Geological Prospecting on some extent.

      P208

      B

      10.3969/j.issn.1001-8972.2012.20.021

      李海君(1986-),男,山東德州人,助教,現(xiàn)主要從事GIS的地學(xué)應(yīng)用開發(fā)、應(yīng)急管理信息系統(tǒng)等方面的研究教學(xué)工作。

      猜你喜歡
      柱狀圖繪圖巖性
      繪制和閱讀降水量柱狀圖
      來自河流的你
      中國三峽(2022年7期)2022-12-02 05:28:02
      “禾下乘涼圖”繪圖人
      基于Unity3D 的冒泡排序算法動態(tài)可視化設(shè)計及實(shí)現(xiàn)
      一種識別薄巖性氣藏的地震反射特征分析
      云南化工(2020年11期)2021-01-14 00:50:58
      基于HTML5 Canvas繪圖技術(shù)應(yīng)用
      電子測試(2018年4期)2018-05-09 07:28:32
      K 近鄰分類法在巖屑數(shù)字圖像巖性分析中的應(yīng)用
      錄井工程(2017年1期)2017-07-31 17:44:42
      基于Android平臺的柱狀圖組件的設(shè)計實(shí)現(xiàn)
      Surfer和ArcView結(jié)合在氣象繪圖中的應(yīng)用
      河北遙感(2015年2期)2015-07-18 11:11:14
      低滲巖性氣藏壓降法計算庫容量改進(jìn)
      乃东县| 霍林郭勒市| 湘西| 黑水县| 济宁市| 正阳县| 安新县| 黔西| 老河口市| 株洲市| 苏尼特右旗| 阿图什市| 新津县| 博乐市| 邹城市| 炎陵县| 徐闻县| 普兰县| 阳曲县| 临湘市| 大城县| 济阳县| 双桥区| 陆丰市| 礼泉县| 吴桥县| 连云港市| 青州市| 长垣县| 京山县| 临洮县| 平定县| 绍兴县| 长丰县| 华安县| 旌德县| 德化县| 嵊泗县| 屯留县| 玛纳斯县| 枣阳市|