两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法

文檔序號:6539115閱讀:816來源:國知局
基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法
【專利摘要】本發(fā)明涉及基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法,其步驟為:首先調(diào)用Sharpmap庫函數(shù)加載地圖,獲得當(dāng)前的視野范圍Envelope;然后構(gòu)建鼠標(biāo)滾輪事件并獲取當(dāng)前鼠標(biāo)光標(biāo)所在的屏幕位置坐標(biāo),調(diào)用Sharpmap坐標(biāo)轉(zhuǎn)換函數(shù)將屏幕坐標(biāo)轉(zhuǎn)換為Sharpmap地圖的地理坐標(biāo);其次確定每次鼠標(biāo)滾動的縮放幅度并代入滾輪縮放公式,求得縮放后地圖新的視野范圍,最后調(diào)用Sharpmap庫函數(shù)將地圖縮放至新的視野中完成地圖縮放。本發(fā)明方法簡單,創(chuàng)新性地基于人眼視覺需要,填補(bǔ)了sharpmap缺乏滾輪縮放的空白,大幅度完善了sharpmap地圖顯示功能,提高了地圖操作的方便性和流暢性。
【專利說明】基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種GIS系統(tǒng)開發(fā)地圖縮放【技術(shù)領(lǐng)域】,更具體涉及一種基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法,它的算法原理適應(yīng)于GIS開發(fā)的通過鼠標(biāo)滾輪控制地圖縮放的方法。
【背景技術(shù)】
[0002]當(dāng)前,GIS在礦產(chǎn)資源開發(fā)、環(huán)境保護(hù)、交通運(yùn)輸、地質(zhì)災(zāi)害、醫(yī)療衛(wèi)生和國防軍事等領(lǐng)域的研究和應(yīng)用不斷擴(kuò)展,各個領(lǐng)域?qū)贕IS的系統(tǒng)開發(fā)需求不斷提高。目前,主流的GIS開發(fā)方式有基于成熟商業(yè)軟件(如ARCGIS、MapGIS等)的二次開發(fā)、基于開源GIS的開發(fā)以及完全從底層開發(fā)三種方式。基于商業(yè)軟件的二次開發(fā)價格昂貴、系統(tǒng)龐大、其提供的功能遠(yuǎn)遠(yuǎn)超過一般科研和項(xiàng)目的需求,存在典型的二八定律,易造成較大的浪費(fèi);完全從底層開發(fā)技術(shù)難度大、開發(fā)周期長、成本較高;而基于開源GIS則具有開發(fā)費(fèi)用低、周期短、靈活性強(qiáng)、軟件性能優(yōu)越安全性強(qiáng)以及推動自主創(chuàng)新等優(yōu)點(diǎn),受到的科研機(jī)構(gòu)和企業(yè)的重視。
[0003]從1982年的第一個開源GIS軟件GRASS以來,發(fā)展到現(xiàn)在已有超過350個開源地理信息系統(tǒng)軟件項(xiàng)目,如QGIS、GeoServer、Mapserver、MapWindow、SharpMap等。這些開源項(xiàng)目涵蓋C,C++, C#, Python等各種開發(fā)語言和支持Windows, Linux和MacOS等多個操作系統(tǒng),被廣泛應(yīng)用于各個領(lǐng)域的GIS軟件開發(fā)中。其中,SharpMap基于.Net使用C#開發(fā),體積短小僅有I萬行不到的代碼,卻涵蓋了 GIS的全部基本功能,國內(nèi)外已有眾多研究者基于SharpMap開發(fā)了地理信息系統(tǒng),如Chen D等(2010)年開發(fā)的發(fā)展中國家水資源管理系統(tǒng)、高琪娟(2009)等開發(fā)的小麥病蟲監(jiān)測系統(tǒng)、方靜濤(2012年)等開發(fā)的淺層地溫能資源數(shù)據(jù)庫管理系統(tǒng)和夏正龍等(2011),Q1-juan Gao (2009)等開發(fā)的系統(tǒng);這些系統(tǒng)充分利用了 SharpMap的空間數(shù)據(jù)管理、查詢分析和地圖渲染的功能,取得了較好的效果。
[0004]2013年7月公布的基于.Net4.0開發(fā)的SharpMapl.0版本在0.9版本的基礎(chǔ)上,進(jìn)一步完善了 SharpMap對影像數(shù)據(jù)的支持,提高了其地圖渲染的效率,并擴(kuò)展了空間查詢與分析的功能,使得SharpMap在桌面GIS和WebGIS開發(fā)中擁有了更大的優(yōu)勢。SharpMap從2006年誕生以來,在世界各國研究或GIS系統(tǒng)開發(fā)人員的完善下,其性能和功能都得到了極大的提高,然而在基礎(chǔ)地理信息圖層顯示上,SharpMap已有的地圖縮放功能主要是通過單機(jī)鼠標(biāo)左鍵或通過拉框完成,每次進(jìn)行地圖縮放時需要點(diǎn)擊工具欄按鈕且縮放幅度不能自行控制,缺乏GIS系統(tǒng)應(yīng)有的通過鼠標(biāo)滾動控制地圖放大和縮小的功能,給實(shí)際操作帶來了很大的不方便性。ArcGIS、MapGIS> AutoCAD等商業(yè)軟件,均較好的實(shí)現(xiàn)了通過鼠標(biāo)滾輪控制地圖縮放的功能,但QGIS、GeoServer和Mapserver等優(yōu)秀開源GIS軟件,有的不具備該功能,有的雖然具有該功能,在地圖縮放上效果不能很好適應(yīng)人眼的視覺需求,縮放過程中易出現(xiàn)鼠標(biāo)光標(biāo)所在重心位置的偏移,造成視覺困難;而大型商業(yè)GIS軟件體系龐大,價格昂貴,大部分功能在專業(yè)型GIS系統(tǒng)中不需要。因此,迫切需要一種能基于已有開源GIS系統(tǒng)的地圖縮放算法,方便快捷的構(gòu)建能適應(yīng)于人眼需求的通過鼠標(biāo)滾動完成地圖縮放的方法技術(shù)體系,為開源GIS領(lǐng)域的系統(tǒng)開發(fā)提供技術(shù)支撐。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
[0006]一種基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法,其特征在于,基于下述兩個預(yù)備步驟:
[0007]預(yù)備步驟1:給定基于Sharpmap的變量,分別是:
[0008]變量1:縮放前地圖所在的視野范圍M,定義M在SharpMap中為SharpMap地圖控件 MapView 的 Envelope ;
[0009]變量2:定義M的左下角頂點(diǎn)坐標(biāo)O (X。,y0)與右上角頂點(diǎn)T (xt,yt);
[0010]變量3:定義縮放時鼠標(biāo)光標(biāo)所在地圖的位置為H (xh,yh);
[0011]變量4:定義H距M上下左右邊界的絕對距離(Ix1, dx2, dy1; dy2 ;
[0012]變量5:定義縮放后的視野范圍W及其左下角和右上角頂點(diǎn)A(xa,ya)和D(xd,yd);
[0013]預(yù)備步驟2,基于上述變量,構(gòu)建縮放模型,具體方法是:根據(jù)縮放前后所涉及的地圖變量,得到視野范圍的上下左右坐標(biāo)點(diǎn)(Xa, ya, Xd, yd);所述(xa, ya, xd, yd)基于以下公式:
[0014]
【權(quán)利要求】
1.一種基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法,其特征在于,基于下述兩個預(yù)備步驟: 預(yù)備步驟1:給定基于Sharpmap的變量,分別是: 變量1:縮放前地圖所在的視野范圍M,定義M在SharpMap中為SharpMap地圖控件MapView 的 Envelope ; 變量2:定義M的左下角頂點(diǎn)坐標(biāo)O (X。,y0)與右上角頂點(diǎn)T (xt, yt); 變量3:定義縮放時鼠標(biāo)光標(biāo)所在地圖的位置為H (xh, yh); 變量4:定義H距M上下左右邊界的絕對距離(Ix1, dx2, dy1; dy2 ; 變量5:定義縮放后的視野范圍W及其左下角和右上角頂點(diǎn)A (xa,ya)和D(xd,yd); 預(yù)備步驟2,基于上述變量,構(gòu)建縮放模型,具體方法是:根據(jù)縮放前后所涉及的地圖變量,得到視野范圍的上下左右坐標(biāo)點(diǎn)(xa, ya, xd, yd);所述(xa, ya, xd, yd)基于以下公式:
2.根據(jù)權(quán)利要求1所述的基于Sharpmap的通過鼠標(biāo)滾輪控制地圖縮放方法,其特征在于,所述步驟3的具體方法是: 步驟3.1,根據(jù)調(diào)用SharpMap的庫函數(shù)獲取的最外邊界視野M,通過M的上下左右屬性計(jì)算出M的控制左下角頂點(diǎn)O (X。,y。)與右上角頂點(diǎn)T(xt, yt)以及M的寬度Lw,并確定縮小幅度為extent=Lw/n, n>0以及H到M邊界的距離; 步驟3.2,構(gòu)建自定義縮放算法模型wheelZoom ;該 模型即預(yù)備步驟2所述模型,函數(shù)的系數(shù)依次是當(dāng)前鼠標(biāo)位置點(diǎn)的X,Y值,縮放前視野M的左、下、右、上邊界值,縮放的幅度和縮小與放大的判斷變量。
【文檔編號】G06T3/40GK103824255SQ201410072331
【公開日】2014年5月28日 申請日期:2014年2月28日 優(yōu)先權(quán)日:2014年2月28日
【發(fā)明者】張萬順, 王永桂, 彭虹 申請人:武漢大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
郁南县| 申扎县| 南投县| 太原市| 邯郸市| 明光市| 玛多县| 西充县| 温宿县| 南澳县| 夹江县| 汪清县| 台北市| 隆化县| 高清| 平果县| 临潭县| 枣阳市| 永济市| 大竹县| 怀宁县| 华池县| 富民县| 河池市| 潞城市| 英吉沙县| 新建县| 盐亭县| 巴林左旗| 古丈县| 苗栗县| 封丘县| 绥江县| 榆社县| 富顺县| 个旧市| 张家口市| 南漳县| 临漳县| 顺平县| 登封市|