Qt跨平臺地圖符號系統(tǒng)測試

發(fā)布時間:2020-05-15 10:14:50 作者:臻圖信息 閱讀量:3286

1、原型測試系統(tǒng)實現(xiàn)

1.1 Windows下環(huán)境配置

    大多數(shù)人對Windows環(huán)境比較熟悉,因此,在Windows下完成相關(guān)功能編寫和調(diào)試。對于Windows開發(fā)環(huán)境配置如下:

    1)集成開發(fā)環(huán)境選用VS2010,下載并安裝;

    2)訪問網(wǎng)址http://qt-project.org/downloads根據(jù)自己電腦配置下載對應(yīng)的Qt5.2.0的版本安裝;

3)根據(jù)Qt安裝路徑設(shè)置環(huán)境變量,設(shè)置如圖所示:

    4)下載并安裝VS2010插件Visual Studio Add-in 1.2.2 for Qt5,至此就完成了Windows下開發(fā)環(huán)境的部署。

1.2  windows下設(shè)計與實現(xiàn)

    原型測試系統(tǒng)主要包括主界面、符號庫管理界面和圖層管理界面等。主界面由工具條、狀態(tài)欄、圖層視圖、主視圖四部分組成。對于工具條提供了添加數(shù)據(jù)集、符號管理器、圖層屬性、全圖功能。狀態(tài)欄主要顯示當(dāng)前鼠標(biāo)位置、地圖比例尺和繪制狀態(tài)等。圖層視圖顯示了當(dāng)前地圖的圖層名稱,可以快捷控制圖層的可見性,移動圖層位置,調(diào)整圖層的上下關(guān)系。主視圖主要用于顯示地圖,進行與用戶進行交互,主界面如下圖所示。

    測試系統(tǒng)為了提供基本的地圖的放大、縮小和平移功能,需要將主視圖的鼠標(biāo)事件重寫,而對于嵌入式設(shè)備需要重寫觸摸屏事件。對于觸摸屏,原型測試系統(tǒng)最多能夠支持三點式觸摸,并通過觸摸屏的手勢來判斷地圖操作的類型。

    對于常用的地圖符號和色帶,將其存儲在SQlite數(shù)據(jù)庫中,方便用戶的重復(fù)使用。地圖符號在數(shù)據(jù)庫中的存儲是按照符號類型分別創(chuàng)建點符號、線符號、面符號三張表。表主要的信息由符號的唯一ID、名稱和數(shù)據(jù)流等組成。色帶分為隨機色帶和漸進色帶兩種,使用一張色帶表示兩類色帶。色帶表的信息有色帶的唯一ID、名稱和數(shù)據(jù)流。完成數(shù)據(jù)庫結(jié)構(gòu)設(shè)計后,使用Qt設(shè)計符號庫管理相關(guān)界面。

    符號管理器主要包括符號管理主界面、點符號管理界面、線符號管理界面、面符號管理界面、隨機色帶管理界面和漸進色帶管理界面等。

    符號管理主界面主要負(fù)責(zé)創(chuàng)建符號庫存儲文件、導(dǎo)入已有符號庫存儲文件、插入常用符號、刪除已有符號以及修改已有符號參數(shù)等,界面如下圖所示。

點、線、面符號管理界面分別負(fù)責(zé)點、線、面符號創(chuàng)建與修改。符號庫中的符號可以在視圖中直接使用,也可以根據(jù)需要在已有的符號上做修改。點、線、面符號管理界面如下圖所示。

    通過上述的符號管理器創(chuàng)建出一些常用的點、線、面符號實例,效果如下圖所示。

    同樣對于色帶的管理,提供色帶管理界面。色帶使用RGB和HSV顏色空間,主要用于漸進符號的填充以及一些專題圖,其管理界面如下圖所示。

對于符號和色帶查詢、插入、刪除和修改,實質(zhì)是通過SQL語句對數(shù)據(jù)信息進行修改,例如符號的插入主要代碼如下:

    圖層管理界面主要負(fù)責(zé)圖層基本屬性的設(shè)置,注記的相關(guān)屬性設(shè)置和地圖專題顯示設(shè)置,其管理界面如下圖所示。

1.3 編寫跨平臺文件

    Windows環(huán)境下的測試系統(tǒng)設(shè)計與實現(xiàn)已經(jīng)完成,為了實現(xiàn)在其他系統(tǒng)上能夠運行,需要編寫與平臺無關(guān)的文件,而Qt為我們提供了pro文件。

    針對不同操作系統(tǒng),只需要編寫一份pro文件。在文件中,添加自定義字段P1atFormName,來區(qū)分不同的操作系統(tǒng)。這里我們以地圖控件模塊為例說明一下pro文件的編寫方法。

    P1atFormName字段根據(jù)編譯環(huán)境,區(qū)分不同的操作系統(tǒng);CONFIG(debug,debuglrelease)判斷方案配置;DESTDIR字段設(shè)置模塊生成路徑;TEMPLATE字段定義模塊類型,如動態(tài)庫賦值為lib;利用TARGET字段設(shè)置模塊的名稱,如接口模塊可設(shè)置為MapControl;  DEFINES字段定義預(yù)處理宏;使用LIBS字段添加模塊依賴庫;INCLUDEPATH字段添加頭文件文件路徑;SOURCES字段添加需要編譯cpp文件。對于pro的文件其他字段說明,可以參考Qt官網(wǎng)的白皮書,這里就不再贅述。

    對于其它模塊,分別按照格式編寫相應(yīng)的pro文件。有了pro文件,利用QtCreator集成環(huán)境開發(fā)環(huán)境配置相應(yīng)平臺信息,無需手動去編寫代碼,便可以實現(xiàn)語言之間的互操作,提高了跨平臺的效率。接下來分別介紹各系統(tǒng)環(huán)境部署、可執(zhí)行程序生成和測試。

2、Android系統(tǒng)編譯與測試

    Android系統(tǒng)底層核心模塊采用C或者C++編寫,但其上層應(yīng)用模塊采用Java語言編寫,這樣使得二次開發(fā)必須使用Java語言。Android在發(fā)布時,谷歌己經(jīng)聲明Android的虛擬機支持JNI這種編程方式,這為使用C或者C++開發(fā)功能模塊提供了可能。

    Android環(huán)境配置如下:

      1)在Android開發(fā)官網(wǎng)下載 Android SDK和NDK;

      2)下載并安裝Java開發(fā)環(huán)境;

      3)在Qt官網(wǎng)下載Qt 5.2.0 for Android (Windows 32-bit)并安裝;

      4)打開Qt安裝目錄下的qtcreator,配置Android開發(fā)環(huán)境,如下圖所示。

    以上就是部署Android開發(fā)相關(guān)步驟。將先前編寫好的pro文件加載到qtcreator,設(shè)置為Android for armeabi 工程。此時,Android運行版本最低為Android2.1。根據(jù)模塊的依賴關(guān)系依次編譯生成Android動態(tài)庫.so文件,最后編譯主測試程序,打包生成.apk安裝文件。使用手機安裝助手將apk安裝到手機上,并將shp矢量數(shù)據(jù)拷貝到手機sd卡上。手機選用小米2,其配置為操作系統(tǒng)Android OS 4.1、主屏尺寸4.3英寸、RAM容量2G、 ROM容量為16G。安裝完成后,啟動應(yīng)用程序,加載矢量數(shù)據(jù),對各類符號分別測試。測試效果如下圖所示。

3、Linux和Mac系統(tǒng)編譯與測試

    Linux系統(tǒng)版本有很多,選用比較流行、穩(wěn)定的Ubuntu 12.04的64位系統(tǒng)。Ubuntu下的編譯器使用gcc,它提供了g++來編譯C++程序。Linux下的開發(fā)環(huán)境配置相對比較簡單。通過“sudo apt-get install g++”命令下載安裝g++編譯器,并使用“g++ --version”查看是否安裝成功。在Qt官網(wǎng)獲取Qt5.2.0 for Linux 64-bit開發(fā)包,便可完成開發(fā)環(huán)境的配置。接下就是對各個模塊的編譯。將開發(fā)程序拷貝到Ubuntu下,使用qcreator加載所有pro文件,依次編譯所有模塊。加載數(shù)據(jù),測試效果如下圖所示。

    Mac系統(tǒng)與Linux系統(tǒng)內(nèi)核有密切的關(guān)系,在功能和命令行上有很多相似之處,因此,只需從下載Qt5.2.0 for Mac,其他環(huán)境配置與Linux相同。運行結(jié)果如下圖所示。

4、 iOS系統(tǒng)編譯與測試

    Qt5.0版本以后,增加了對iOS的支持,但穩(wěn)定性較差。2013年12份推出的Qt5.2.0正式版,修改了原來版本存在的bug 。Qt5.2要求安裝xcode5.0版本,而xcode5.0只能在Mac 10.8 Mountain Lion及以上版本運行。具體的環(huán)境配置如下:

    1)安裝10.8 Mountain Lion系統(tǒng);

    2)安裝g++編譯器;

    3)安裝xcode5.0集成開發(fā)環(huán)境;

    4)安裝Qt5.2.0 for iOS。

    iOS開發(fā)不像Android,免費對用戶開發(fā)。程序人員如果要在真機上測試或發(fā)布產(chǎn)品,就必須花費9.9美元購買許可文件,使用期限為一年。有開發(fā)環(huán)境和許可便可以使用pro文件對各個模塊進行編譯。連接IPad, IPhone或者其他iOS移動設(shè)備,編譯主程序便可將其安裝到設(shè)備當(dāng)中。測試效果如下圖所示。

    以上完成了各個系統(tǒng)編譯和測試工作,說明了設(shè)計的地圖符號框架具有跨平臺的特性,不僅如此,地圖符號庫也具有跨平臺的特性。例如在Window下,設(shè)計一個長城符號,將這個符號庫文件拷貝到其它系統(tǒng)下,便可直接使用。我們使用Window和iOS兩個系統(tǒng)做測試,結(jié)果如下圖所示。

5、結(jié)語

隨著科技的發(fā)展,GIS應(yīng)用領(lǐng)域越來越廣,已經(jīng)深入到社會生活的方方面面。通過地圖查詢、定位、導(dǎo)航等功能,方便了人們出行。而地圖是空間數(shù)據(jù)符號化的結(jié)果,其顯示質(zhì)量影響著地圖服務(wù)的效果。但計算機、移動設(shè)備等操作系統(tǒng)種類較多,因此,研究跨平臺是非常必要。它不僅方便使用,而且易于管理擴展。

 

 

標(biāo)簽:Qt  地圖符號  系統(tǒng)測試  

我要評論

熱門標(biāo)簽

數(shù)字孿生  智慧城市  三維可視化  城市大腦  智慧社區(qū)  三維GIS  新基建  智慧交通  智慧園區(qū)  3DGIS  智慧環(huán)保  智慧安防  大數(shù)據(jù)  市域治理  地理信息  物聯(lián)網(wǎng)  數(shù)字化  智慧大腦  GIS  智慧物流  智慧旅游  智能化  5G  智慧管廊  GIS地理信息  管理系統(tǒng)  智慧消防  應(yīng)急指揮  智慧電網(wǎng)  gis系統(tǒng)  3DGIS+BIM  智慧展館  服務(wù)平臺  智慧建筑  GIS+BIM  智慧樓宇  智慧工廠    智慧港口  gis技術(shù)  煙草  智慧管理  gis  智慧景區(qū)  智慧水務(wù)  智慧電力  3dgis  三維gis  三維gis系統(tǒng)  ZTMapGIS仿真地圖  GIS技術(shù)  智能交通  供應(yīng)鏈  gis行業(yè)  應(yīng)急管理  BIM  智能建筑  工業(yè)互聯(lián)網(wǎng)  智慧監(jiān)獄  元宇宙  智慧工地  綜合治理  地理信息系統(tǒng)  智慧停車  智慧校園  三維gis平臺  智慧農(nóng)業(yè)  gis三維可視化  智慧能源  三維管網(wǎng)管線  室內(nèi)地圖  地下綜合管廊  室內(nèi)導(dǎo)航  智慧文旅  BIM+3DGIS  智慧醫(yī)療  智慧養(yǎng)老  管理平臺  智慧機房  互聯(lián)網(wǎng)  市域社會治理  三維可視化平臺  區(qū)塊鏈  GIS系統(tǒng)  智慧照明  商業(yè)地產(chǎn)  綜合管控治理  室內(nèi)地圖導(dǎo)航  人工智能  智慧房產(chǎn)  智慧展覽  智慧物業(yè)  3D-GIS  gis平臺  gis平臺系統(tǒng)  BIM輕量化  gis數(shù)據(jù)  三維GIS技術(shù)  gis三維系統(tǒng)  三維gis開發(fā)  三維gis技術(shù)  三維gis軟件  智慧國土  三維GIS、智慧社區(qū)  智慧燈桿  應(yīng)急指揮系統(tǒng)  商場可視化  智能監(jiān)所  智慧林業(yè)  土地規(guī)劃gis  動態(tài)渲染  智慧醫(yī)院  智慧物流園區(qū)  智能電網(wǎng)   智慧公交  三維渲染  二三維一體化  VR全景可視化  資產(chǎn)可視化  二三維GIS地理信息平臺  一網(wǎng)統(tǒng)管  智慧管廊綜合監(jiān)管平臺  現(xiàn)代化  智能化建筑  map  三維GIS開發(fā)  GIS開發(fā)  城市規(guī)劃建設(shè)  三維GIS軟件  市域社會治理現(xiàn)代化  3D  三維可視化管理平臺  智慧海洋  三維gis渲染平臺  二三維GIS地理信息  智能熱網(wǎng)  三維融合渲染平臺  VR全景  綜治  黨校地圖導(dǎo)航  機管局資產(chǎn)管理  兜逛VR  ZTmap3D  智慧商場  商業(yè)地產(chǎn)可視化  虛擬展館  智慧路燈  室內(nèi)地圖定位  室內(nèi)定位  綜合管網(wǎng)  綜合管廊  三位可視化  環(huán)境監(jiān)測  ZTMap 3DGIS  bim  智慧電廠  智慧小區(qū)  3Dgis  ZTMapGIS  智慧鐵路  智慧監(jiān)測  智慧機場  實景三維  智慧服務(wù)區(qū)域  2.5D-GIS  地質(zhì)災(zāi)害  三維管廊  智慧交通、數(shù)字孿生、3DGIS  智慧工廠、安全生產(chǎn)管理、3DGIS+BIM  數(shù)字孿生技術(shù)  智慧管網(wǎng)  三維地圖  信用社GIS  交通仿真  ZTMAP3D  工業(yè)園區(qū)管理  信用社地理信息系統(tǒng)  智慧變電站  三維管網(wǎng)  管廊BIM  智慧制造  園區(qū)招商  2.5D地圖  三維可視化渲染   GIS+BIM  BIM三維模型  安全管理  數(shù)字電網(wǎng)  智慧倉儲  環(huán)保GIS  云gis  gis的基本功能  Webgis  gis地圖  BIM平臺  智慧環(huán)境  城市規(guī)劃  數(shù)據(jù)管理  事故救援  業(yè)務(wù)功能  總體設(shè)計  Qt  技術(shù)詳情  地下管廊  系統(tǒng)改造  gis地圖服務(wù)  平臺構(gòu)建  電子沙盤  地圖符號  系統(tǒng)測試  三維gis平臺功能  電力巡檢  三維gis二次開發(fā) 三維gis接口  管網(wǎng)GIS系統(tǒng)  管網(wǎng)管理GIS服務(wù)平臺  高校GIS系統(tǒng)  電網(wǎng)GIS行業(yè)  配電網(wǎng)gis系統(tǒng)  gis市場  gis設(shè)備  gis信息系統(tǒng)  gis平臺監(jiān)控  BIM與GIS集成應(yīng)用  gis軟件系統(tǒng)  移動GIS  視頻監(jiān)控  房產(chǎn)交易地圖  VR虛擬現(xiàn)實  GIS應(yīng)用平臺  GIS管網(wǎng)系統(tǒng)  消防GIS系統(tǒng)  管網(wǎng)gis系統(tǒng)  gis服務(wù)平臺  公共安全  gis高壓設(shè)備  數(shù)字經(jīng)濟  基礎(chǔ)設(shè)施建設(shè)  無人機  系統(tǒng)架構(gòu)  GIS平臺  gis空間分析  三維GIS平臺  gis專業(yè)  gis地理信息系統(tǒng)  三維gis軟件系統(tǒng)  gis三維平臺  CIM  數(shù)字城市  頂層設(shè)計  gis應(yīng)用  交通運輸  數(shù)字化城市  三維gis模型  建筑產(chǎn)業(yè)  信息物理系統(tǒng)  自動化  城市應(yīng)急  大數(shù)據(jù)可視化  系統(tǒng)管理  景觀設(shè)計  gis應(yīng)用實例  gis是什么  可視化技術(shù)  開源gis軟件  可視化  假三維地圖  智能樓宇  gis開發(fā)  gis空間數(shù)據(jù)  新零售  導(dǎo)航  應(yīng)急預(yù)案  地產(chǎn)  gis服務(wù)  產(chǎn)業(yè)鏈  gis行業(yè)發(fā)展  gis軟件  實景三維gis  
上海臻圖信息技術(shù)有限公司
滬ICP備19005932號-1