欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng)及其構(gòu)建方法

文檔序號(hào):6336227閱讀:392來(lái)源:國(guó)知局
專利名稱:基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng)及其構(gòu)建方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息領(lǐng)域,特別是一種基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng)及其構(gòu)建方法。
背景技術(shù)
目前,市場(chǎng)上的各種地理信息系統(tǒng)(GIS)軟件平臺(tái)都實(shí)現(xiàn)了各自的地圖符號(hào),但是這些地圖符號(hào)只是針對(duì)特定的平臺(tái)設(shè)計(jì)的,不具有通用性,往往是針對(duì)一種平臺(tái)設(shè)計(jì)的符號(hào)不能在另一種平臺(tái)上使用。而設(shè)計(jì)一套符號(hào)又是一個(gè)很費(fèi)時(shí)費(fèi)力的工作,因而急需一種通用的符號(hào)系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng)及其構(gòu)建方法,其適用于與GIS和電子地圖相關(guān)的計(jì)算機(jī)軟件系統(tǒng)。
本發(fā)明解決其技術(shù)問(wèn)題采用以下的技術(shù)方案本發(fā)明提供的基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng),其包括符號(hào)語(yǔ)言、符號(hào)編譯器、符號(hào)集成開(kāi)發(fā)環(huán)境和符號(hào)虛擬機(jī),GIS是地理信息。
本發(fā)明提供一種基于虛擬機(jī)來(lái)構(gòu)建地理信息系統(tǒng)通用符號(hào)的方法,即利用符號(hào)虛擬機(jī)來(lái)屏蔽具體GIS平臺(tái)的差異,為符號(hào)庫(kù)的實(shí)現(xiàn)提供統(tǒng)一的接口,實(shí)現(xiàn)符號(hào)庫(kù)在不同GIS平臺(tái)上通用的方法。
本發(fā)明的優(yōu)點(diǎn)是通過(guò)符號(hào)虛擬機(jī)屏蔽了具體GIS平臺(tái)的差異性,為符號(hào)庫(kù)的實(shí)現(xiàn)者提供了統(tǒng)一的接口,從而實(shí)現(xiàn)了同一個(gè)符號(hào)庫(kù)在不同GIS平臺(tái)上的通用。
具體實(shí)施例方式
本發(fā)明提供的基于虛擬機(jī)構(gòu)建GIS通用符號(hào)系統(tǒng),其包括符號(hào)語(yǔ)言、符號(hào)編譯器、符號(hào)集成開(kāi)發(fā)環(huán)境和符號(hào)虛擬機(jī)。其中符號(hào)語(yǔ)言采用一個(gè)專門用于編寫符號(hào)的編程語(yǔ)言vmSymbol。
符號(hào)編譯器把由符號(hào)語(yǔ)言編寫的源程序編譯成能在符號(hào)虛擬機(jī)上運(yùn)行的目標(biāo)代碼,該目標(biāo)代碼就是能在所有實(shí)現(xiàn)了符號(hào)虛擬機(jī)的GIS平臺(tái)上通用的符號(hào)庫(kù)。
符號(hào)集成開(kāi)發(fā)環(huán)境是指vmSymbol的集成編程環(huán)境,包括提供其源程序的編輯器、編譯器和符號(hào)預(yù)覽工具,以及語(yǔ)法分色、錯(cuò)誤定位和圖形化的符號(hào)預(yù)覽工具,用戶可以直接在該集成環(huán)境中進(jìn)行符號(hào)庫(kù)編輯、編譯、除錯(cuò)以及符號(hào)的預(yù)覽,并生成最終的符號(hào)庫(kù)。
符號(hào)虛擬機(jī)當(dāng)GIS平臺(tái)軟件需要對(duì)地圖進(jìn)行符號(hào)化時(shí),它就將符號(hào)化的任務(wù)交給針對(duì)該GIS平臺(tái)的符號(hào)虛擬機(jī),而符號(hào)虛擬機(jī)則通過(guò)執(zhí)行符號(hào)庫(kù)里的指令進(jìn)行地圖數(shù)據(jù)的符號(hào)化,這樣就通過(guò)符號(hào)虛擬機(jī)屏蔽了具體GIS平臺(tái)的差異性,為符號(hào)庫(kù)的實(shí)現(xiàn)者提供了統(tǒng)一的接口,從而實(shí)現(xiàn)了同一個(gè)符號(hào)庫(kù)在不同GIS平臺(tái)上的通用,例如可以在ArcGIS(包括MapObject,ArcObject,ArcEngine)、GeoStar和CMICS 2.0三個(gè)GIS平臺(tái)實(shí)現(xiàn)了符號(hào)虛擬機(jī)。ArcGIS是ESRI(美國(guó)環(huán)境系統(tǒng)研究所Environmental Systems Research Institute Inc)開(kāi)發(fā)的GIS軟件開(kāi)發(fā)平臺(tái),GeoStar是武漢武大吉奧信息工程技術(shù)有限公司開(kāi)發(fā)的GIS軟件平臺(tái),CMICS是武漢大學(xué)和武漢武大吉奧信息工程技術(shù)有限公司共同開(kāi)發(fā)的城市管理信息采集系統(tǒng)平臺(tái)。
本發(fā)明還提供了基于虛擬機(jī)來(lái)構(gòu)建地理信息系統(tǒng)通用符號(hào)的方法,即利用符號(hào)虛擬機(jī)來(lái)屏蔽具體GIS平臺(tái)的差異,為符號(hào)庫(kù)的實(shí)現(xiàn)提供統(tǒng)一的接口,實(shí)現(xiàn)符號(hào)庫(kù)在不同GIS平臺(tái)上通用的方法,該方法采用下列步驟,(1)在符號(hào)集成開(kāi)發(fā)環(huán)境中進(jìn)行符號(hào)庫(kù)源程序的編寫、編譯、調(diào)試及預(yù)覽,并生成符號(hào)庫(kù)。
(2)GIS軟件在初始化過(guò)程中加載針對(duì)該GIS平臺(tái)的符號(hào)化虛擬機(jī)。
(3)符號(hào)虛擬機(jī)初始化自己并根據(jù)需要裝載所需的符號(hào)庫(kù)。
(4)當(dāng)GIS軟件需要對(duì)數(shù)據(jù)進(jìn)行符號(hào)化時(shí),它將數(shù)據(jù)轉(zhuǎn)交符號(hào)虛擬機(jī),由虛擬機(jī)去執(zhí)行符號(hào)化的任務(wù)。
(5)符號(hào)虛擬機(jī)通過(guò)執(zhí)行符號(hào)庫(kù)中的符號(hào)指令對(duì)數(shù)據(jù)進(jìn)行符號(hào)化。
下面結(jié)合武漢城市網(wǎng)格化管理系統(tǒng)中通用符號(hào)的實(shí)施對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
武漢城市網(wǎng)格化管理系統(tǒng)中有兩個(gè)地方用到電子地圖一個(gè)是在PC機(jī)上運(yùn)行的信息管理系統(tǒng),它用MapObject進(jìn)行地圖顯示;另一個(gè)是運(yùn)行在Smartphone(智能手機(jī))上的信息采集系統(tǒng),它用我們自主開(kāi)發(fā)的嵌入GIS系統(tǒng)(CMICS 2.0)進(jìn)行地圖顯示。它們都用同一個(gè)基于虛擬機(jī)的符號(hào)系統(tǒng)做出的符號(hào)庫(kù)對(duì)地圖數(shù)據(jù)進(jìn)行符號(hào)化,并達(dá)到了一致的效果;所不同的是,一個(gè)用的是針對(duì)MapObject的符號(hào)虛擬機(jī),一個(gè)用的是針對(duì)CMICS 2.0的符號(hào)虛擬機(jī)。具體實(shí)施時(shí),先在符號(hào)集成開(kāi)發(fā)環(huán)境中進(jìn)行符號(hào)庫(kù)源程序的編寫,并編譯生成所需要的符號(hào)庫(kù);然后在不同的平臺(tái)調(diào)用不同的虛擬機(jī)加載符號(hào)庫(kù)進(jìn)行符號(hào)化。
對(duì)于虛擬機(jī),不同的GIS平臺(tái)的虛擬機(jī)是不同的,但所有虛擬機(jī)的核心是相同的,其核心就是從符號(hào)庫(kù)中取出相應(yīng)的指令并逐條執(zhí)行,所不同的是各個(gè)具體GIS平臺(tái)對(duì)虛擬機(jī)的調(diào)用方式和繪圖指令的實(shí)現(xiàn)方式可能不同。因此,我們可以先實(shí)現(xiàn)一個(gè)公共的核心虛擬機(jī),它的功能就是加載符號(hào)庫(kù)并能執(zhí)行其中的指令,核心虛擬機(jī)提供以下5個(gè)函數(shù)接口,以C語(yǔ)言的形式表示如下①int getSymbolCount(int type)//用于得到符號(hào)庫(kù)中符號(hào)的個(gè)數(shù),其中type可以等于0、1、2分別表示得到點(diǎn)、線、面符號(hào)的個(gè)數(shù)。
②bool getSymbolName(int type,int index,char name[],int length)
//用于得到符號(hào)的名稱,type為符號(hào)的類型,index為符號(hào)庫(kù)中的符號(hào)的索引,name存放返回的符號(hào)的名字,length為name的長(zhǎng)度。
③bool drawMarkerSymbol(int index,int x,int y,int size,COLOR lineColor,COLOR fillColor,int lineWidth,float angle)//用于繪點(diǎn)符號(hào),index為點(diǎn)符號(hào)的索引,x,y為點(diǎn)符號(hào)的位置,size為點(diǎn)符號(hào)的大小,lineColor和fillColor分別為符點(diǎn)的線和填充色,lineWidth為線的寬度,angle為點(diǎn)符號(hào)旋轉(zhuǎn)的角度。
④bool drawLineSymbol(int index,POINT points[],int count,COLOR color,intlineWidth)//用于繪線符號(hào),index為線符號(hào)的索引,points為線符號(hào)的坐標(biāo),count為坐標(biāo)的個(gè)數(shù),color為線的顏色,lineWidth為線寬。
⑤bool drawFillSymbol(int index,POINT points[],int partCounts[],int numParts,COLOR lineColor,COLOR fillColor,int lineWidth)//用于繪面符號(hào),index為面符號(hào)的索引,points為面符叼的坐標(biāo),partCounts和numParts進(jìn)一步對(duì)坐標(biāo)進(jìn)行解釋,用來(lái)說(shuō)明該面符號(hào)由幾部分組成,每部分有多少個(gè)點(diǎn),lineColor和fillColor分別為線和填充色,lineWidth為線寬。
所有針對(duì)具體GIS平臺(tái)的虛擬的機(jī)都通過(guò)調(diào)用核心虛擬機(jī)的這5個(gè)函數(shù)接口來(lái)實(shí)現(xiàn)對(duì)地圖數(shù)據(jù)的符號(hào)化;另外核心虛擬機(jī)在執(zhí)行繪圖指令(如moveto,lineto,polygon等)時(shí)則作為回調(diào)函數(shù)留給針對(duì)具體GIS平臺(tái)的虛擬機(jī)去實(shí)現(xiàn)。因此在實(shí)現(xiàn)針對(duì)具體GIS平臺(tái)的虛擬機(jī)時(shí),要解決兩個(gè)問(wèn)題,一是如何調(diào)用核心虛擬機(jī),二是怎樣實(shí)現(xiàn)繪圖指令的回調(diào)函數(shù)。
再結(jié)合武漢城市網(wǎng)格化管理系統(tǒng)中的兩個(gè)虛擬機(jī)的實(shí)施例作進(jìn)一步說(shuō)明實(shí)施例1MapObject符號(hào)虛擬機(jī)的實(shí)施在實(shí)現(xiàn)MapObject的符號(hào)虛擬機(jī)時(shí),由于MapObject允許用戶通過(guò)COM來(lái)自定義符號(hào),我們只要實(shí)現(xiàn)一個(gè)符合MapObject符號(hào)接口的COM組件,在該COM組件里面調(diào)用核心虛擬機(jī),就解決如何調(diào)用核心虛擬機(jī)的問(wèn)題。
對(duì)于實(shí)現(xiàn)繪圖指令的回調(diào)函數(shù),由于MapObject是在Windows的HDC上進(jìn)行繪圖,我們只要調(diào)用Windows的GDI函數(shù)就可以實(shí)現(xiàn)這些回調(diào)函數(shù)。
實(shí)施例2CMICS 2.0符號(hào)虛擬機(jī)的實(shí)施由于CMICS 2.0是自主開(kāi)發(fā)的,其符號(hào)化工作就是直接調(diào)用核心虛擬機(jī)實(shí)現(xiàn)的,因而對(duì)如何調(diào)用核心虛擬機(jī)就非常直觀了;對(duì)于繪圖指令也是調(diào)用Windows的GDI實(shí)現(xiàn)的。
上述實(shí)施例不對(duì)本發(fā)明的限制,其僅供參考,用于對(duì)本發(fā)明的更進(jìn)一步的理解。
權(quán)利要求
1.一種地理信息系統(tǒng)通用符號(hào)系統(tǒng),其特征是基于虛擬機(jī)構(gòu)建GIS通用符號(hào)系統(tǒng),包括符號(hào)語(yǔ)言、符號(hào)編譯器、符號(hào)集成開(kāi)發(fā)環(huán)境和符號(hào)虛擬機(jī),GIS是地理信息系統(tǒng),符號(hào)語(yǔ)言采用一個(gè)專門用于編寫符號(hào)的編程語(yǔ)言vmSymbol,符號(hào)編譯器把由符號(hào)語(yǔ)言編寫的源程序編譯成能在符號(hào)虛擬機(jī)上運(yùn)行的目標(biāo)代碼,該目標(biāo)代碼就是能在所有實(shí)現(xiàn)了符號(hào)虛擬機(jī)的GIS平臺(tái)上通用的符號(hào)庫(kù),符號(hào)集成開(kāi)發(fā)環(huán)境是指vmSymbol的集成編程環(huán)境,包括提供其源程序的編輯器、編譯器和符號(hào)預(yù)覽工具,以及語(yǔ)法分色、錯(cuò)誤定位和圖形化的符號(hào)預(yù)覽工具,用戶可以直接在該集成環(huán)境中進(jìn)行符號(hào)庫(kù)編輯、編譯、除錯(cuò)以及符號(hào)的預(yù)覽,并生成最終的符號(hào)庫(kù),符號(hào)虛擬機(jī)當(dāng)GIS平臺(tái)軟件需要對(duì)地圖進(jìn)行符號(hào)化時(shí),它就將符號(hào)化的任務(wù)交給針對(duì)該GIS平臺(tái)的符號(hào)虛擬機(jī),而符號(hào)虛擬機(jī)則通過(guò)執(zhí)行符號(hào)庫(kù)里的指令進(jìn)行地圖數(shù)據(jù)的符號(hào)化,這樣就通過(guò)符號(hào)虛擬機(jī)屏蔽了具體GIS平臺(tái)的差異性,為符號(hào)庫(kù)的實(shí)現(xiàn)者提供了統(tǒng)一的接口,從而實(shí)現(xiàn)了同一個(gè)符號(hào)庫(kù)在不同GIS平臺(tái)上的通用。
2.根據(jù)權(quán)利要求1所述的地理信息系統(tǒng)通用符號(hào)系統(tǒng),其特征是在ArcGIS、GeoStar和CMICS 2.0三個(gè)GIS平臺(tái)實(shí)現(xiàn)符號(hào)虛擬機(jī);其中,ArcGIS是美國(guó)環(huán)境系統(tǒng)研究所開(kāi)發(fā)的GIS軟件開(kāi)發(fā)平臺(tái),GeoStar是武漢武大吉奧信息工程技術(shù)有限公司開(kāi)發(fā)的GIS軟件平臺(tái),CMICS是武漢大學(xué)和武漢武大吉奧信息工程技術(shù)有限公司共同開(kāi)發(fā)的城市管理信息采集系統(tǒng)平臺(tái)。
3.一種地理信息系統(tǒng)通用符號(hào)系統(tǒng)的構(gòu)建方法,其特征是一種基于虛擬機(jī)來(lái)構(gòu)建地理信息系統(tǒng)通用符號(hào)的方法,即利用符號(hào)虛擬機(jī)來(lái)屏蔽具體GIS平臺(tái)的差異,為符號(hào)庫(kù)的實(shí)現(xiàn)提供統(tǒng)一的接口,實(shí)現(xiàn)符號(hào)庫(kù)在不同GIS平臺(tái)上通用的方法,該方法采用下列步驟,(1)在符號(hào)集成開(kāi)發(fā)環(huán)境中進(jìn)行符號(hào)庫(kù)源程序的編寫、編譯、調(diào)試及預(yù)覽,并生成符號(hào)庫(kù),(2)GIS軟件在初始化過(guò)程中加載針對(duì)該GIS平臺(tái)的符號(hào)化虛擬機(jī),(3)符號(hào)虛擬機(jī)初始化自己并根據(jù)需要裝載所需的符號(hào)庫(kù),(4)當(dāng)GIS軟件需要對(duì)數(shù)據(jù)進(jìn)行符號(hào)化時(shí),它將數(shù)據(jù)轉(zhuǎn)交符號(hào)虛擬機(jī),由虛擬機(jī)去執(zhí)行符號(hào)化的任務(wù),(5)符號(hào)虛擬機(jī)通過(guò)執(zhí)行符號(hào)庫(kù)中的符號(hào)指令對(duì)數(shù)據(jù)進(jìn)行符號(hào)化。
全文摘要
本發(fā)明提供的基于虛擬機(jī)的地理信息系統(tǒng)通用符號(hào)系統(tǒng),其包括符號(hào)語(yǔ)言、符號(hào)編譯器、符號(hào)集成開(kāi)發(fā)環(huán)境和符號(hào)虛擬機(jī),GIS是地理信息系統(tǒng)。本發(fā)明還提供了基于虛擬機(jī)來(lái)構(gòu)建地理信息系統(tǒng)通用符號(hào)的方法,即利用符號(hào)虛擬機(jī)來(lái)屏蔽具體GIS平臺(tái)的差異,為符號(hào)庫(kù)的實(shí)現(xiàn)提供統(tǒng)一的接口,實(shí)現(xiàn)符號(hào)庫(kù)在不同GIS平臺(tái)上通用的方法。本發(fā)明的優(yōu)點(diǎn)是通過(guò)符號(hào)虛擬機(jī)屏蔽了具體GIS平臺(tái)的差異性,為符號(hào)庫(kù)的實(shí)現(xiàn)者提供了統(tǒng)一的接口,從而實(shí)現(xiàn)了同一個(gè)符號(hào)庫(kù)在不同GIS平臺(tái)上的通用。
文檔編號(hào)G06F9/455GK1838073SQ20061001887
公開(kāi)日2006年9月27日 申請(qǐng)日期2006年4月25日 優(yōu)先權(quán)日2006年4月25日
發(fā)明者朱欣焰, 蘇科華, 周春輝, 咼維 申請(qǐng)人:武漢大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
陵水| 德令哈市| 滦平县| 汝州市| 龙井市| 八宿县| 蒲江县| 慈溪市| 博客| 东阳市| 河南省| 贡觉县| 冀州市| 平江县| 咸阳市| 卓尼县| 鄂伦春自治旗| 大方县| 黄石市| 宜春市| 卫辉市| 兰坪| 岑溪市| 华容县| 开鲁县| 石台县| 边坝县| 兴海县| 禄劝| 博客| 祁门县| 新龙县| 吕梁市| 罗江县| 武威市| 莫力| 高要市| 济源市| 铁力市| 南投县| 金堂县|