国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

QT+Leaflet調(diào)用電子地圖的實(shí)現(xiàn)方法

2020-09-16 06:43李恩寧楊雙董曉寧梁山清葛紅志
關(guān)鍵詞:電子地圖

李恩寧 楊雙 董曉寧 梁山清 葛紅志

摘要:在人防、公共安全及應(yīng)急救援等領(lǐng)域,客戶的系統(tǒng)平臺(tái)對(duì)于電子地圖的使用要求是不能聯(lián)網(wǎng),致使單機(jī)版電子地圖開發(fā)出現(xiàn)實(shí)現(xiàn)方法復(fù)雜、成本高等問題。在深入分析QT使用自帶的QGIS類庫和QT調(diào)用MapInfo插件的基礎(chǔ)上,總結(jié)出一種簡(jiǎn)便、可復(fù)用和免費(fèi)的實(shí)現(xiàn)方法。通過QT4.8圖形化開發(fā)工具實(shí)現(xiàn)了電子地圖軟件系統(tǒng)具有的所有基本功能,包括地圖加載、縮放、漫游及標(biāo)記顯示等,為今后做進(jìn)一步研究奠定了基礎(chǔ)。

關(guān)鍵詞:QT;Leaflet;電子地圖;單機(jī)版

中圖分類號(hào):TP18文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2020)14-58-4

0引言

近年來,地理信息系統(tǒng)[1-2]的應(yīng)用日趨廣泛,可以通過各種途徑接觸到電子地圖[3-5],例如Google地圖、Google Earth及百度地圖等網(wǎng)頁形式的電子地圖。人防、公共安全、應(yīng)急救援等多個(gè)領(lǐng)域的系統(tǒng)平臺(tái)建設(shè)對(duì)電子地圖的需求越來越多,而往往這些領(lǐng)域不能聯(lián)網(wǎng),需要單機(jī)運(yùn)行。

目前市面上的超圖等地圖廠家,對(duì)于PC端電子地圖的開發(fā)都是需要付費(fèi)的,用戶需要花大量費(fèi)用購買一套地圖開發(fā)庫及地圖數(shù)據(jù),這對(duì)于客戶來說,是一筆不小的開銷。

在探究各種電子地圖實(shí)現(xiàn)方法的基礎(chǔ)上,提出使用QT[6]結(jié)合Leaflet實(shí)現(xiàn)PC端單機(jī)版電子地圖的開發(fā),主要包括地圖的基本操作[7-8],如放大、縮小及平移等,地圖顯示目標(biāo)位置及地圖標(biāo)注等功能,能夠滿足用戶對(duì)于地圖開發(fā)的常用功能需求。

1 Leaflet

Leaflet[9-11]是一個(gè)為建設(shè)移動(dòng)設(shè)備友好的互動(dòng)地圖,而開發(fā)的開源的JavaScript庫,是由Vladimir Agafonkin帶領(lǐng)一個(gè)專業(yè)貢獻(xiàn)者團(tuán)隊(duì)開發(fā)的,雖然代碼僅有33 KB,但它具有開發(fā)在線地圖的大部分功能。

Leaflet設(shè)計(jì)堅(jiān)持簡(jiǎn)便、高性能和可用性好的理念,在所有主要桌面和移動(dòng)平臺(tái)能高效運(yùn)作。在現(xiàn)代瀏覽器上會(huì)利用HTML5和CSS3的優(yōu)勢(shì),同時(shí)也支持舊的瀏覽器訪問,支持插件擴(kuò)展,有一個(gè)友好、易于使用的API文檔和一個(gè)簡(jiǎn)單的、可讀的源代碼,是開源輕量級(jí)的JavaScript地圖庫,支持WMS、WFS、PostGIS等多源空間數(shù)據(jù)格式,具有跨平臺(tái)、易拓展及兼容性好等優(yōu)勢(shì)。

2 QT

QT[12]是1991年由QT Company開發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架,既可用于開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。QT是面向?qū)ο蟮目蚣埽褂锰厥獾拇a生成擴(kuò)展以及一些宏,提供了一個(gè)完整的GUI程序解決方案及上百個(gè)功能強(qiáng)大的窗口部件,支持可視化開發(fā),并且易于使用,生成的代碼簡(jiǎn)潔而優(yōu)雅。

QGIS是開源的桌面地理信息系統(tǒng)軟件,是基于QT平臺(tái)使用C++開發(fā)出來的GIS軟件,主要特點(diǎn)是支持多種GIS數(shù)據(jù)文件格式、集成或支持其他開源GIS。GRASS、PostGIS和MapServer支持從WMS和WFS服務(wù)器獲取數(shù)據(jù)及通過插件支持功能擴(kuò)展。QGIS的優(yōu)點(diǎn)是開源、免費(fèi)、輕巧、跨平臺(tái)及支持多種數(shù)據(jù)格式與插件庫,缺點(diǎn)是功能弱小、穩(wěn)定性差。

QGIS+QT進(jìn)行二次開發(fā),環(huán)境的搭建非常復(fù)雜,需要到官網(wǎng)下載QGIS源碼進(jìn)行編譯,下載過程漫長(zhǎng),并且會(huì)下載很多依賴的庫,特別耗時(shí),對(duì)于項(xiàng)目周期短、項(xiàng)目任務(wù)緊急的情況,顯然這種技術(shù)方式不可取,即使下載下來,使用過程中還會(huì)有問題。

MapInfo[13-15]是個(gè)功能強(qiáng)大、操作簡(jiǎn)便的桌面地圖信息系統(tǒng),具有圖形的輸入與編輯、圖形的查詢與顯示、數(shù)據(jù)庫操作、空間分析和圖形的輸出等基本操作。不僅是一個(gè)可獨(dú)立運(yùn)行的軟件系統(tǒng),還可通過ActiveX組件方式集成到用戶程序中,為用戶程序提供電子地圖顯示和編輯功能。MapInfo的聯(lián)機(jī)幫助只提到了如何使用VB/VC++集成MapInfo,并沒有介紹QT中的使用方法。而且MapInfo的地圖格式是MIF,雖然網(wǎng)上能夠下載到,但是不全,而且不能保證是最新的,要得到最新的地圖數(shù)據(jù)需要花錢購買。

3 QT+Leaflet開發(fā)設(shè)計(jì)

3.1環(huán)境搭建

第1步:從QT官網(wǎng)下載并安裝qt-opensource-windowsx86-5.9.6.exe。在安裝過程中,選擇安裝組件時(shí),要選msvc2015 32-bit/msvc2015 64-bit;

第2步:下載Visual Studio 2015,并按照過程逐步安裝;

第3步:從Leaflet官網(wǎng)下載最新的庫;

第4步:運(yùn)行QT,自動(dòng)檢測(cè)出來的構(gòu)建套件為msvc2015-32bit,如果不是,則配置,如圖1所示。

3.2設(shè)計(jì)實(shí)現(xiàn)

3.2.1 QT初始化編碼實(shí)現(xiàn)

主要代碼流程如下:

①在.pro文件中,加入webengine類:QT+=webengine;

②工程代碼中編寫與LeafletMenu.html通信類bridge,并在bridge.h中定義與LeafletMenu.html交互的信號(hào)和槽函數(shù)。

3.2.2 LeafletMenu.html腳本文件的初始化編碼

猜你喜歡
電子地圖
初中地理教學(xué)中電子地圖的實(shí)踐性應(yīng)用探究
電子地圖在地理課堂教學(xué)中的運(yùn)用
淺談電子地圖在高中地理教學(xué)中的應(yīng)用
城市交通旅游電子地圖的研究與應(yīng)用分析
電子地圖在邊境執(zhí)勤中的應(yīng)用
基于粒計(jì)算的點(diǎn)抽稀算法及其應(yīng)用
淺析歷史與社會(huì)微課制作中電子地圖的使用
基于GPS和GPRS的班車定位系統(tǒng)設(shè)計(jì)
基于iOS的校園電子地圖的研究與實(shí)現(xiàn)
應(yīng)用ArcGIS的電子地圖制作方法研究
康马县| 长顺县| 临城县| 亚东县| 武山县| 宁化县| 沂南县| 栖霞市| 滨海县| 奉节县| 延边| 焉耆| 宁津县| 马关县| 贵南县| 富源县| 陆河县| 方城县| 颍上县| 固阳县| 隆尧县| 曲松县| 泰顺县| 衡水市| 岚皋县| 嘉鱼县| 辽宁省| 晴隆县| 青浦区| 个旧市| 海兴县| 新巴尔虎左旗| 吉木萨尔县| 安仁县| 庆阳市| 三都| 同江市| 长葛市| 六安市| 武川县| 平果县|