亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MapObjects和DLL的自定義地圖面符號庫的實(shí)現(xiàn)*

        2012-04-27 07:27:56陳國良
        全球定位系統(tǒng) 2012年3期
        關(guān)鍵詞:面狀調(diào)用繪制

        劉 金,李 鋼,陳國良

        (1.中國礦業(yè)大學(xué) 環(huán)境與測繪學(xué)院,江蘇 徐州221116;2.徐州市國土資源局,江蘇 徐州221116)

        0 引 言

        一般來說,地圖符號的設(shè)計(jì)和實(shí)現(xiàn)方法分為兩種:一是在已有軟件的基礎(chǔ)上利用其二次開發(fā)語言及自身的圖形編輯功能進(jìn)行自定義符號,如ArcInfo,AutoCAD,MapInfo,ArcView以及Corel-Draw等[1-3];二是利用程序語言自己開發(fā)符號設(shè)計(jì)軟件平臺實(shí)現(xiàn)符號,目前,最流行的就是OOP和COM技術(shù)等[4-10]。地圖符號庫主要是針對計(jì)算機(jī)而不是專門針對地理信息可視化,而我國的各種比例尺地圖中的地理信息內(nèi)容十分豐富,要素表述非常詳盡,現(xiàn)無法擴(kuò)展復(fù)雜和特殊的符號。

        為了克服組件MapObjects自帶缺省符號的缺乏無法滿足工程的需要,主要研究一種在地理信息工程中可以根據(jù)地圖符號規(guī)范來制作地圖面符號庫,具有良好的擴(kuò)充作用,滿足相應(yīng)工程需要,應(yīng)用于實(shí)際工程,同時(shí)對制作點(diǎn)線符號庫也有很大的參考價(jià)值。

        1 面符號庫的設(shè)計(jì)

        面狀符號是指地圖上用來表示呈面狀分布的物體或地理現(xiàn)象的符號,它在二維圖的各方向上都能按比例表示,如按比例表示的耕地、果園、水域等符號。

        1.1 面狀符號的特點(diǎn)

        面狀符號除了擁有地圖符號的一般特點(diǎn)外,面狀符號還有如下特點(diǎn):

        1)面狀符號一般有一個(gè)封閉輪廓邊界線,這個(gè)邊界線可以是有形的也可以是無形的。

        2)面狀符號的面積和范圍都是依比例表示的,其大小隨地圖比例尺變化而變化。

        3)為區(qū)別邊界線范圍內(nèi)的對象,不同的面狀符號在邊界線范圍內(nèi)填充不同的點(diǎn)符號、線符號、位圖或顏色來區(qū)分。

        1.2 面符號的制作

        面狀符號實(shí)際上是一種組合符號,一般都是由填充組合而成。一般面狀符號的填充方式有三種:點(diǎn)狀符號填充、暈線填充、簡單填充。

        三種填充方式各有特點(diǎn),通過查閱大量文獻(xiàn)比較和比較各種符號制作軟件,設(shè)計(jì)出一種比較好的制作方式。在CorelDRAW中設(shè)置版面,按照地形圖圖式規(guī)范進(jìn)行繪制,可以準(zhǔn)確設(shè)置符號大小和位移間隔。需要注意的是頁面設(shè)置大小能符合循環(huán),圖1示出了用CorelDRAW繪制菜地的實(shí)例。為了在應(yīng)用工程調(diào)用比較好的效果,再輸出bmp格式根據(jù)需要調(diào)整大小。

        圖1 菜地制作與規(guī)范

        位圖繪制比較方便,繪制位圖地圖符號基本可以滿足點(diǎn)狀地物及復(fù)雜點(diǎn)狀地物。在GIS中,利用位圖表示面狀地物有以下幾個(gè)優(yōu)點(diǎn)[11]:

        1)對客觀世界中的目標(biāo)地物抽象時(shí)丟失的許多直觀信息可以通過該地物的實(shí)際圖片或象形圖片展示,能直接了解地物信息。

        2)對空間信息的可視化有重要的幫助,由于位圖的設(shè)計(jì)可以很方便地融合藝術(shù)的手段,這些在矢量圖形編程中有時(shí)并不容易做到。通過位圖提供的豐富的符號,可以通過這種方式應(yīng)用到系統(tǒng)中,增強(qiáng)信息的表達(dá)能力和視覺美觀。

        3)利用位圖符號可以直接作為專題圖的圖例用,可以直接創(chuàng)建諸如點(diǎn)要素分布的專題地圖。

        2 MapObject中的地圖符號

        MapObjects是由美國環(huán)境系統(tǒng)研究所(ESRI)開發(fā)的一組供應(yīng)用開發(fā)人員使用的制圖與GIS功能組件。它由一個(gè)ActiveX控件和一系列可編程OLE(對象鏈接與嵌入)對象組成[12]。

        MapObjects的CMoSymbol對象為用戶提供了有限的缺省的符號樣(SymbolStyle)。MO默認(rèn)缺省面狀符號11種,符號類型和值分別通過Style,SymbolType屬性設(shè)置。這種方式符號數(shù)目少,樣式單一,不具有專業(yè)領(lǐng)域應(yīng)用前景,不能滿足實(shí)際應(yīng)用系統(tǒng)對符號表現(xiàn)多樣化的要求。

        MapObjects雖然本身不帶有豐富的符號庫,但它能提供自定義符號的接口函數(shù),使得符號的設(shè)計(jì)和擴(kuò)展成為可能[13]。提供的接口自定義符號,可以建立一套自己需要的符號庫系統(tǒng)。使用ICustomMarker用來實(shí)現(xiàn)點(diǎn)狀符號的接口。對于MapObjects中實(shí)現(xiàn)自定義符號繪制的自動化對象,至少要實(shí)現(xiàn)3個(gè)基本函數(shù)[14],分別為

        1)SetupDC:該函數(shù)用來建立繪制符號的設(shè)備上下文(Device Context)和設(shè)置一些繪制所需要的參數(shù),如符號大小、旋轉(zhuǎn)角度等。

        2)ReleaseDC:該函數(shù)清除當(dāng)前設(shè)備上下文并恢復(fù)原始的設(shè)備上下文,用來為下一次繪制提供一個(gè)初始設(shè)備上下文。

        3)Draw:這個(gè)函數(shù)是自定義符號中最重要的一個(gè)函數(shù),它實(shí)現(xiàn)了自定義符號的繪制。

        通過利用Windows GDI函數(shù),能靈活地繪制各種符號,包括圖元、幾何圖形以及三維實(shí)體,通過這些符號能非常形象逼真地顯示客觀世界中的對象。

        3 MapObjects中實(shí)現(xiàn)自定義面符號

        用CorelDRAW軟件制作好的相應(yīng)比例尺地圖面符號,可以實(shí)現(xiàn)在工程中的調(diào)用,主要流程如圖2所示。

        圖2 自定義面符號實(shí)現(xiàn)流程

        3.1 ATL開發(fā)自定義面符號DLL

        ATL是ActiveX Template Library的縮寫,它是一套C++模板庫。MapObjects已經(jīng)提供的自定義接口,利用ATL很容易生成DLL,所以使用ATL是一種簡單快捷的方法。

        創(chuàng)建自定義面狀符號,選擇接口ICustomFill,以保證能夠執(zhí)行面符接口。三個(gè)基本函數(shù)Setup-DC、ResetDC和Draw,注意面中的points是封閉的點(diǎn)串:

        開發(fā)地理信息工程人員,可能對于Windows GDI繪制符號不精通,可以用位圖顯示來顯示復(fù)雜地圖符號,很好地解決符號編程的困難。為每一個(gè)符號創(chuàng)建一個(gè)自動化對象是不切實(shí)際的,需將面符號對象建成一個(gè)對象庫,并且具有很好的擴(kuò)展性。

        主要用到加載位圖和多邊形填充方法來實(shí)現(xiàn)面狀符號的調(diào)用和填充。關(guān)鍵實(shí)現(xiàn)代碼如下:

        編譯生成dll。已經(jīng)生成了一個(gè)自定義面狀狀符號,它放在一個(gè)名CustomFillSymbol.dll的動態(tài)庫文件中,并且可以在MapObjects環(huán)境中調(diào)用它。

        對于將同類面符建成同一符號庫,可以通過ATL簡單實(shí)現(xiàn),方法與前面相同,可以繼續(xù)添加如Fill2,F(xiàn)ill3等,使用DLL,可以方便在后臺維護(hù),也方便對符號庫的管理。這樣就建立一個(gè)符號對應(yīng)表如表1所示,供用戶需要來選擇。

        表1 DLL中符號對應(yīng)表

        3.2 VC工程實(shí)現(xiàn)符號庫調(diào)用

        在VC++6.0環(huán)境中編寫一個(gè)小的應(yīng)用工程來實(shí)現(xiàn)如何調(diào)用剛才生成的自定義面符號。

        在應(yīng)用工程中包含下面的語句,主要作用是調(diào)用DLL:

        利用ICustomFillPtr來定義指針了,為了方便用戶的使用,利用對話框來實(shí)現(xiàn)交互。具體關(guān)鍵實(shí)現(xiàn)代碼:

        在應(yīng)用工程下實(shí)現(xiàn)面狀符號DLL的調(diào)用(以菜地為例),如圖3所示。

        圖3 菜地符號調(diào)用效果

        一般MapObjects默認(rèn)是整個(gè)圖層,但是在實(shí)際工程中往往需要對不用圖層實(shí)現(xiàn)不同的屬性,所以CMoValueMapRenderer對象的唯一屬性值符號化地圖。假設(shè)當(dāng)前有一個(gè)土地使用圖層,它是由不同使用方式的土地組成:一些住宅區(qū),一些是公園,一些是工業(yè)區(qū),還有一些是耕地等?,F(xiàn)在要做的工作是,從記錄字段中提取屬性按土地使用圖層進(jìn)行分類分級顯示,原理與上述一樣,就是用屬性字段的每一個(gè)值顯示一種符號,以Symbol(i)設(shè)置具體的符號特性。對MapObjects自帶的“STATES”面圖層中的“AREA”屬性進(jìn)行分級,其中部分屬性用自定義的面符號來顯示。具體實(shí)現(xiàn)效果如圖4所示。

        圖4 面符號符號化效果

        4 結(jié) 論

        主要給出了通過CorelDraw軟件繪制地圖面符號,制作出高精度又可以根據(jù)不同比例尺的地圖符號,同時(shí)很好利用MapObjects提供的面符號接口,實(shí)現(xiàn)對符號庫的制作和擴(kuò)充。

        地圖符號在GIS中占有非常重要的地位,地圖符號隨著GIS的發(fā)展而改進(jìn),目前在GIS中對地圖符號的研究還屬于初級階段,有許多地方還不夠完善,未來還有很多的工作需要去進(jìn)一步的研究和解決:

        1)尚未涉及到點(diǎn)線符號制作和調(diào)用,尚未解決線狀符號的快速實(shí)現(xiàn),在用到純函數(shù)繪制時(shí),由于知識受限,無法繪制復(fù)雜線狀符號,通過在CorelDRAW軟件繪制好符號,在系統(tǒng)中加載位圖或者與ARCGIS中的制作線符號實(shí)現(xiàn),在后期學(xué)習(xí)中應(yīng)進(jìn)一步研究實(shí)現(xiàn)。

        2)地圖符號庫包括地圖符號編輯器,利用制作軟件來繪制地圖符號,但不是專門制作GIS地圖符號的軟件,開發(fā)一個(gè)脫平臺的地圖符號編輯器也是后期研究的重點(diǎn)。最好能夠設(shè)計(jì)接口在不同平臺實(shí)現(xiàn)調(diào)用。

        3)主要研究的是二維的地圖符號,而地圖符號已經(jīng)開始向多方向發(fā)展:從靜態(tài)符號到動態(tài)符號發(fā)展;從二維符號向三維符號發(fā)展以及多媒體地圖符號的發(fā)展。

        [1] 姚興海,馬秋云.基于CorelDraw的地圖符號庫建庫[J].測繪通報(bào),2003(2):36-38.

        [2] 羅慶洲,張衛(wèi)民,李先華.在常用GIS軟件中實(shí)現(xiàn)自定義地圖符號[J].測繪通報(bào),2003(1):44-45.

        [3] 程朋根.GeoStar地圖符號的實(shí)現(xiàn)方法[J].地礦測繪,1999(3):3-6.

        [4] 談曉軍,邊馥苓,何忠煥.地圖符號可視化系統(tǒng)的面向?qū)ο笤O(shè)計(jì)與實(shí)現(xiàn)[J].測繪通報(bào),2003(1):11-13.

        [5] 楊春成,宋志剛,吳文會.基于OOP技術(shù)的地圖符號制作工具的設(shè)計(jì)與實(shí)現(xiàn)[J].測繪科學(xué),2002,27(1):50-53.

        [6] 蔡忠亮,李 霖.普通地圖符號的全開放式設(shè)計(jì)[J].武漢測繪科技大學(xué)學(xué)報(bào),1999,24(3):259-261.

        [7] 吳立新,劉純波,陳桂茹,等.地圖符號庫的面向?qū)ο蠹夹g(shù)和引用接口[J].礦山測量,1999(1):32-35.

        [8] 程朋根,龔健雅,眭海剛.GIS中地圖符號設(shè)計(jì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國圖形圖象學(xué)報(bào),2002,5(A)(12):1006-1011.

        [9] FRANK A U,ENGENHOFER M J.Computer cartography for GIS,an object-oriented view on display transformation[J].Computer and Geo-sciences,1992,18(8):975-987.

        [10] 王 偉,張 波,殷贛華.基于COM技術(shù)的地圖符號庫結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].武漢大學(xué)學(xué)報(bào)·信息科學(xué)版,2002,27(3):296-300.

        [11] 劉黎明.基于MapObjects的位圖符號的設(shè)計(jì)與應(yīng)用[OL][2006-07-31].中 國 科 技 論 文 在 線.http://www.paper.edu.cn.

        [12] 胡慶武.基于MapObject的地圖符號庫設(shè)計(jì)[J].測繪通報(bào),2001(10):15-17.

        [13] 趙冬泉,賈海峰,程聲通.基于MapObjects的排水管道流向表達(dá)與編輯[J].測繪通報(bào),2004(8):36-37,55.

        [14] 戴 維,劉志輝.基于MapObjects的自定義地圖符號塊的實(shí)現(xiàn)[J].水土保持研究,2008(2),15(1):196-197.

        猜你喜歡
        面狀調(diào)用繪制
        Art on coffee cups
        利用ArcGis實(shí)現(xiàn)森林資源管理“一張圖”線轉(zhuǎn)面的方法探討
        綠色科技(2021年5期)2021-04-08 08:14:00
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        顧及遙感影像特征的面狀地物輪廓簡化
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        一種面狀要素地圖的連續(xù)綜合方法研究
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        在轉(zhuǎn)變中繪制新藍(lán)圖
        基于快照差的面狀地理要素增量信息表達(dá)模型
        无码专区久久综合久中文字幕| 麻神在线观看免费观看| 一本久道综合色婷婷五月| 欧洲熟妇色xxxx欧美老妇多毛图片| 精品五月天| AV无码系列一区二区三区| 青青草在线免费观看视频| 国产欧美日韩一区二区加勒比| 超清纯白嫩大学生无码网站| 国产污污视频| 日韩精品免费一区二区中文字幕| 国产亚洲精品97在线视频一| 国产又色又爽又刺激在线播放| 亚洲伊人久久大香线蕉综合图片 | 高清精品一区二区三区| 玩两个丰满老熟女| 国产品精品久久久久中文| 玖玖资源站无码专区| 国产午夜精品久久久久九九| av网站一区二区三区| 久久精品国产亚洲av麻豆会员 | 精品国产迪丽热巴在线| 一本色道久久88加勒比| 日本阿v片在线播放免费| 天美麻花果冻视频大全英文版| 五码人妻少妇久久五码| 一二三区亚洲av偷拍| 99久久久国产精品免费蜜臀| 国产91网址| 国产午夜福利av在线麻豆| 国产亚洲aⅴ在线电影| 天躁夜夜躁狼狠躁| 精品国免费一区二区三区| 不卡视频在线观看网站| 亚洲av无码精品国产成人| 亚洲依依成人综合在线网址| 午夜国产小视频在线观看黄| 成人av片在线观看免费| 亚洲老妇色熟女老太| 色优网久久国产精品| 丰满少妇被猛进去高潮|