左 堯,王少華,鐘耳順,鐘 陽(yáng),黃科佳,4,劉永軒
(1. 北京超圖軟件股份有限公司,北京 100015; 2. 超圖地理信息技術(shù)研究所,北京 100015; 3. 中國(guó)科學(xué)院地理科學(xué)與資源研究所,北京 100101; 4. 北京航空航天大學(xué),北京 100191; 5. 北京市測(cè)繪設(shè)計(jì)研究院,北京 100038)
基于Qt的空間數(shù)據(jù)存儲(chǔ)格式檢查軟件的設(shè)計(jì)與實(shí)現(xiàn)
左 堯1,2,王少華1,2,3,鐘耳順3,鐘 陽(yáng)1,黃科佳1,4,劉永軒5
(1. 北京超圖軟件股份有限公司,北京 100015; 2. 超圖地理信息技術(shù)研究所,北京 100015; 3. 中國(guó)科學(xué)院地理科學(xué)與資源研究所,北京 100101; 4. 北京航空航天大學(xué),北京 100191; 5. 北京市測(cè)繪設(shè)計(jì)研究院,北京 100038)
面對(duì)日益增長(zhǎng)的空間數(shù)據(jù),網(wǎng)絡(luò)環(huán)境較差的地圖、地理信息應(yīng)用服務(wù)系統(tǒng)面臨著存儲(chǔ)容量有限、地理空間數(shù)據(jù)格式不開(kāi)放的挑戰(zhàn)。而現(xiàn)有的許多地理空間數(shù)據(jù)存儲(chǔ)依賴(lài)于平臺(tái),還需要克服跨平臺(tái)帶來(lái)的問(wèn)題,亟需研究設(shè)計(jì)統(tǒng)一的數(shù)據(jù)存儲(chǔ)標(biāo)準(zhǔn)來(lái)解決空間數(shù)據(jù)格式不一致、不同GIS平臺(tái)數(shù)據(jù)轉(zhuǎn)換過(guò)程復(fù)雜等問(wèn)題??紤]到不同系統(tǒng)GIS平臺(tái)、GIS應(yīng)用程序間數(shù)據(jù)格式的差異,本研究基于GeoPackage(GPKG)數(shù)據(jù)容器存儲(chǔ)標(biāo)準(zhǔn),采用Qt 5.2.0+VS2010開(kāi)發(fā)平臺(tái),C++編程語(yǔ)言,通過(guò)三層架構(gòu)編程模式研發(fā)了GIS數(shù)據(jù)存儲(chǔ)格式的檢查軟件,以解決數(shù)據(jù)格式不統(tǒng)一的問(wèn)題。該軟件利用批量數(shù)據(jù)庫(kù)查詢(xún),快速地實(shí)現(xiàn)了核心功能項(xiàng)、可選功能項(xiàng)、注冊(cè)擴(kuò)展功能三大類(lèi)等超過(guò)百項(xiàng)功能文件格式的檢查,并輸出詳細(xì)的檢查結(jié)果,為GIS數(shù)據(jù)格式存儲(chǔ)標(biāo)準(zhǔn)化提供支持和幫助,可有效解決不同GIS平臺(tái)、不同GIS應(yīng)用程序數(shù)據(jù)共享時(shí)面臨的格式不一致問(wèn)題,簡(jiǎn)化了數(shù)據(jù)轉(zhuǎn)換的步驟。
GIS數(shù)據(jù)存儲(chǔ)格式檢查;GeoPackage;SQLite;Qt
在網(wǎng)絡(luò)連接狀況較差的環(huán)境下,移動(dòng)設(shè)備上的地圖、地理信息應(yīng)用服務(wù)常常面臨著存儲(chǔ)容量有限、地理空間數(shù)據(jù)格式不開(kāi)放的問(wèn)題。每個(gè)地圖、地理空間應(yīng)用都需要自己潛在的、專(zhuān)有的地理空間數(shù)據(jù)存儲(chǔ),而這些特定的空間數(shù)據(jù)存儲(chǔ)可能含有相同的地理空間數(shù)據(jù),從而對(duì)有限的可用存儲(chǔ)空間形成浪費(fèi)。同時(shí),不同的地圖、地理空間應(yīng)用程序?yàn)榱斯蚕硐嗤臄?shù)據(jù),還需要頻繁地進(jìn)行轉(zhuǎn)換、復(fù)制和同步。此外,現(xiàn)有一些地理空間數(shù)據(jù)存儲(chǔ)依賴(lài)于GIS平臺(tái)軟件,不同平臺(tái)數(shù)據(jù)的共享常常需要復(fù)雜的轉(zhuǎn)換。
為了克服這些挑戰(zhàn),并形成一個(gè)完整、統(tǒng)一的數(shù)據(jù)共享存儲(chǔ)格式,本研究設(shè)計(jì)了一個(gè)開(kāi)放的、基于標(biāo)準(zhǔn)的、獨(dú)立于應(yīng)用和平臺(tái)的、便攜的、可互操作的、自描述的GeoPackage(GPKG)數(shù)據(jù)容器存儲(chǔ)標(biāo)準(zhǔn)。它定義了多尺度直接使用GIS地理空間數(shù)據(jù)的GeoPackage SQLite擴(kuò)展。該拓展保障了數(shù)據(jù)模型和數(shù)據(jù)集的完整性,用戶(hù)可以直接訪(fǎng)問(wèn)和更新本地存儲(chǔ)格式中的數(shù)據(jù),來(lái)自不同客戶(hù)端數(shù)據(jù)請(qǐng)求將得到一致的響應(yīng)結(jié)果。同時(shí),筆者還實(shí)現(xiàn)數(shù)據(jù)容器格式的自動(dòng)檢查判斷,可以有效支持多個(gè)地圖、地理空間應(yīng)用,如固定的產(chǎn)品分布、局部數(shù)據(jù)的收集和地理空間分析,解決棘手的地理空間產(chǎn)品生產(chǎn)和分析任務(wù)?;诖耍狙芯炕谲浖こ淘O(shè)計(jì)原理,在Qt、C++編程環(huán)境下,研發(fā)了GeoPackage GIS數(shù)據(jù)格式檢查軟件,實(shí)現(xiàn)了GeoPackage GIS數(shù)據(jù)的自動(dòng)化、快速檢查,可以為GIS數(shù)據(jù)格式存儲(chǔ)標(biāo)準(zhǔn)化提供幫助和支持。
地理信息是一種重要的戰(zhàn)略性信息資源,各國(guó)政府和地理信息組織機(jī)構(gòu)都十分重視空間數(shù)據(jù)標(biāo)準(zhǔn)化工作,已經(jīng)形成了多種GIS數(shù)據(jù)存儲(chǔ)格式。但是,空間數(shù)據(jù)的模型表達(dá)具有較大的復(fù)雜性,在數(shù)據(jù)傳輸、數(shù)據(jù)擴(kuò)展、訪(fǎng)問(wèn)效率等方面各有優(yōu)缺點(diǎn)。有些數(shù)據(jù)格式基于ASCII編碼,可讀性較好,但是存取訪(fǎng)問(wèn)效率低下,如美國(guó)的SDTS格式、我國(guó)的地理空間數(shù)據(jù)交換格式、標(biāo)準(zhǔn)的GML格式等。有些數(shù)據(jù)格式基于二進(jìn)制數(shù)據(jù)格式,并帶有輔助性索引文件,具有較好的數(shù)據(jù)壓縮和訪(fǎng)問(wèn)效率,但是簡(jiǎn)單性和擴(kuò)展性則受到一定限制,如ArcInfo的Coverage文件格式、AutoCAD的DWG文件格式。而基于標(biāo)準(zhǔn)格式的、獨(dú)立于平臺(tái)的、基于SQLite數(shù)據(jù)庫(kù)的文件格式GeoPackage可較好地實(shí)現(xiàn)GIS數(shù)據(jù)的存儲(chǔ)管理。
GeoPackage是一個(gè)獨(dú)立于平臺(tái)的SQLite數(shù)據(jù)庫(kù)文件,它包含GeoPackage數(shù)據(jù)和元數(shù)據(jù)表、一致性聲明,以及格式限定和內(nèi)容約束。一個(gè)GeoPackage可能是“空”的,它包括沒(méi)有行記錄內(nèi)容的GIS要素和瓦片矩陣金字塔數(shù)據(jù)表;還有的包含GIS要素類(lèi)型記錄或瓦片矩陣金字塔圖像。而元數(shù)據(jù)則包含了數(shù)據(jù)格式定義等信息,用于識(shí)別外部數(shù)據(jù)源。同時(shí),GeoPackage還包含幾何要素的空間索引信息及觸發(fā)器。此外,一個(gè)GeoPackage SQLite擴(kuò)展(Extension)是一個(gè)SQLite可加載的擴(kuò)展,可連接到一個(gè)具有指定配置需求的SQLite庫(kù),以提供SQL API訪(fǎng)問(wèn)GeoPackage 文件。
Qt是一個(gè)跨平臺(tái)的C++圖形用戶(hù)界面庫(kù),由Qt、基于FrameBuffer的Qtopia Core、開(kāi)發(fā)工具Qt Designer和國(guó)際化工具Qt Linguist幾部分組成。Qt 5是目前軟件開(kāi)發(fā)基本框架的最新版本,具備更高效和靈活的研發(fā)模式。Qt具有良好封裝機(jī)制,模塊化程度高、可重用性好。同時(shí),Qt提供了一種稱(chēng)為signals/slots 的安全類(lèi)型來(lái)替代callback,大大提高了消息傳遞的效率。
整合的 Qt 平臺(tái)具有較強(qiáng)的跨平臺(tái)移植性,其拓展Qt支持桌面、嵌入式和移動(dòng)平臺(tái)。對(duì)于桌面操作系統(tǒng),可以較好地支持Microsoft Windows 7/8、Linux、Solaris、Digital UNIX (OSF/1、Tru64)等眾多操作系統(tǒng)。移動(dòng)平臺(tái)中,可以較好地支持Android、iOS和Windows Phone 8。開(kāi)發(fā)人員可以通過(guò)啟用開(kāi)發(fā)簡(jiǎn)便性為多個(gè)目標(biāo)部署,并平滑地過(guò)渡到新的開(kāi)發(fā)模式以滿(mǎn)足觸摸屏和Tablet的需求,極大地簡(jiǎn)化了開(kāi)發(fā)過(guò)程。
本軟件基于Qt 5.2.0+VS2010開(kāi)發(fā)平臺(tái),C++編程語(yǔ)言,通過(guò)三層架構(gòu)編程模式實(shí)現(xiàn)了GeoPackage GIS數(shù)據(jù)存儲(chǔ)文件的讀寫(xiě)檢查,為GIS數(shù)據(jù)格式文件的標(biāo)準(zhǔn)化、規(guī)范化提供幫助。
軟件的設(shè)計(jì)模式采用三層結(jié)構(gòu)研發(fā)模式進(jìn)行架構(gòu)設(shè)計(jì)(如圖1、圖2所示),分為顯示層(user interface,UI)、業(yè)務(wù)邏輯層(business logic layer,BLL)和數(shù)據(jù)訪(fǎng)問(wèn)層(data access layer,DAL)。UI層提供基于Qt的界面交互操作,在軟件中嵌入安裝Qt 5.2插件,以利用其高效的圖形界面顯示功能和豐富的開(kāi)發(fā)接口進(jìn)行軟件程序設(shè)計(jì)。在DAL層負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行管理和查詢(xún),為了使用SQLite函數(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,需編譯對(duì)應(yīng)平臺(tái)的SQLite動(dòng)態(tài)鏈接庫(kù)文件,并將其添加至程序頭文件,編譯生成,即可完成SQLite函數(shù)添加。然后,通過(guò)SQLite查詢(xún)語(yǔ)句即可對(duì)Geopackage文件進(jìn)行操作。BLL層實(shí)現(xiàn)數(shù)據(jù)處理,GeoPackage格式檢查軟件是一個(gè)持續(xù)分析的過(guò)程。通過(guò)研發(fā)一鍵檢查功能,可以不間斷地對(duì)數(shù)據(jù)庫(kù)進(jìn)行批量檢測(cè),并生成檢測(cè)報(bào)告。作為補(bǔ)充,還同時(shí)提供了單獨(dú)項(xiàng)的功能檢測(cè),方便用戶(hù)查看某一項(xiàng)功能的執(zhí)行情況。
圖1 軟件三層架構(gòu)
圖2 軟件組織架構(gòu)
本文將從軟件組織架構(gòu),具體介紹各個(gè)組成部分的實(shí)現(xiàn)機(jī)理及相互關(guān)系。
2.1 軟件交互設(shè)計(jì)
基于Qt提供的良好的界面環(huán)境接口,軟件可以方便快捷地實(shí)現(xiàn)界面布局設(shè)計(jì)。通過(guò)實(shí)例化界面菜單接口,并設(shè)置其顯示屬性,即可完成其界面設(shè)置。而讓界面按鈕針對(duì)點(diǎn)擊展示出功能,則需要對(duì)其進(jìn)行事件函數(shù)的設(shè)置及事件連接。不同于MFC模型的消息映射機(jī)制,Qt事件通過(guò)信號(hào)-槽機(jī)制實(shí)現(xiàn),它是一種類(lèi)似于消息傳遞的處理函數(shù)。信號(hào)槽可以攜帶任意數(shù)量和類(lèi)型的參數(shù),所有從Qobject派生的類(lèi)都能夠包含信號(hào)和槽。
當(dāng)窗體對(duì)象發(fā)生狀態(tài)改變時(shí),該對(duì)象發(fā)出消息信號(hào),與其相關(guān)聯(lián)的槽將被立刻執(zhí)行,信號(hào)-槽機(jī)制完全獨(dú)立于任何GUI事件循環(huán)。在所有的槽返回以后,返回發(fā)射函數(shù)(如圖3所示)。而槽由C++成員函數(shù)組成,多個(gè)信號(hào)可以與槽相關(guān)聯(lián)。當(dāng)與其關(guān)聯(lián)的信號(hào)被發(fā)射時(shí),這個(gè)槽就會(huì)被調(diào)用。另外,也可以將多個(gè)信號(hào)與單個(gè)槽進(jìn)行連接,也可以將單個(gè)信號(hào)與多個(gè)槽進(jìn)行連接。
圖3 Qt信號(hào)槽機(jī)制示意圖
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
高效的數(shù)據(jù)庫(kù)管理系統(tǒng)將有助于地理空間數(shù)據(jù)處理。SQLite是一個(gè)輕量級(jí)、跨平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù),支持視圖、事務(wù)、觸發(fā)器等操作,通過(guò)引用一個(gè)動(dòng)態(tài)庫(kù),即可實(shí)現(xiàn)調(diào)用。此外,還具有強(qiáng)大的可移植性,可運(yùn)行于Windows、Linux、iOS等主流操作系統(tǒng)及嵌入式操作系統(tǒng)。使用SQLite可大大方便實(shí)現(xiàn)跨平臺(tái)、快速、高效的地理空間數(shù)據(jù)格式檢查。
基于SQLite強(qiáng)大的數(shù)據(jù)讀取分析功能,可以輕松實(shí)現(xiàn)對(duì)GeoPackage的多功能查詢(xún),高效、完整地進(jìn)行格式檢查。其中,SQLite3提供了豐富的數(shù)據(jù)庫(kù)操作函數(shù)功能,它們是一組C函數(shù)接口。基于此,通過(guò)使用sqlite3_open()、sqlite3_close()、sqlite3_exec()函數(shù),本軟件分別實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)文件的打開(kāi)、關(guān)閉、查詢(xún)功能。同時(shí),為了對(duì)查詢(xún)結(jié)果集中的數(shù)據(jù)進(jìn)行進(jìn)一步的檢查和設(shè)置,還執(zhí)行了回調(diào)函數(shù)sqlite_callback()功能,通過(guò)將sqlite3_exec()中的參數(shù)項(xiàng)設(shè)置為回調(diào)函數(shù)名,即可完成回調(diào)查詢(xún),實(shí)現(xiàn)嵌套多層次的復(fù)雜查詢(xún)。
2.3 業(yè)務(wù)邏輯實(shí)現(xiàn)
在格式檢查方面,GIS要素?cái)?shù)據(jù)表示地理位置實(shí)體,包括概念性實(shí)體,如行政區(qū);現(xiàn)實(shí)世界中的物體,如道路、河流和觀測(cè)方法。國(guó)際規(guī)范為通過(guò)關(guān)系數(shù)據(jù)庫(kù)SQL存儲(chǔ)、訪(fǎng)問(wèn)和使用GIS地理空間要素與幾何提供了標(biāo)準(zhǔn)的實(shí)踐。
根據(jù)國(guó)家測(cè)繪地理信息局測(cè)繪公益項(xiàng)目指定的《地理空間數(shù)據(jù)內(nèi)容模型與存儲(chǔ)格式標(biāo)準(zhǔn)化研究項(xiàng)目標(biāo)準(zhǔn)》,筆者對(duì)GeoPackage文件的核心部分、可選部分和注冊(cè)拓展3部分進(jìn)行檢查。核心部分檢查功能定義了使用SQLite軟件庫(kù)的SQL數(shù)據(jù)庫(kù)模式,使用SQLite作為GeoPackage的基礎(chǔ),簡(jiǎn)化了生產(chǎn)、分發(fā)和使用GeoPackages的復(fù)雜度,從而保證數(shù)據(jù)的完整性。具體來(lái)講,包含文件拓展名檢查、文件完整性檢查、表定義檢查、表數(shù)據(jù)值檢查等??蛇x部分檢查功能定義GeoPackages可能使用或忽略的一個(gè)或多個(gè)選項(xiàng),如幾何編碼格式檢查、SQL幾何類(lèi)型格式檢查、GIS要素用戶(hù)表格式檢查、瓦片矩陣格式檢查、縮放級(jí)別、瓦片編碼PNG和JPEG格式檢查等。
由于GeoPackage擴(kuò)展是一個(gè)或更多的要求條款的集合,注冊(cè)拓展部分檢查功能定義了條款的例子應(yīng)當(dāng)包括增加幾何類(lèi)型、增加SQL幾何函數(shù)和增加瓦片圖像格式。增加新的要求條款進(jìn)行擴(kuò)展的例子包括增加空間索引、觸發(fā)器,增加表、其他的BLOB列編碼和其他的SQL函數(shù)。具體包括拓展編碼檢查、Rtree空間索引檢查、幾何類(lèi)型觸發(fā)器檢查、組合要素檢查等。
軟件具備批量檢查的功能,雙擊左側(cè)導(dǎo)航窗口中的目錄文件可快速對(duì)該GeoPackage文件進(jìn)行檢查,并以表格和XML文檔兩種形式輸出檢查結(jié)果。用戶(hù)可以一目了然地看到哪些項(xiàng)通過(guò)、哪些項(xiàng)不通過(guò)。目前,本研究檢測(cè)測(cè)試項(xiàng)總共107項(xiàng),包含了核心功能項(xiàng)(SQLite容器檢查、空間參考系統(tǒng)檢查、表內(nèi)容檢查)、可選功能項(xiàng)(要素類(lèi)檢查、瓦片類(lèi)檢查、模式檢查、元數(shù)據(jù)檢查、擴(kuò)展機(jī)制檢查)、注冊(cè)擴(kuò)展功能(要素類(lèi)檢查、瓦片檢查、組合要素檢查)3大類(lèi),11小類(lèi),以確保GeoPakcageGIS數(shù)據(jù)格式的完整、規(guī)范。如圖4所示。
圖4 空間數(shù)據(jù)檢查軟件界面示意圖
同時(shí),雙擊某一目錄,可實(shí)現(xiàn)對(duì)該目錄中所有GeoPackage文件的統(tǒng)一檢查,并以XML文檔形式輸出檢查結(jié)果。此外,為了方便單獨(dú)檢查某項(xiàng)要求是否滿(mǎn)足,用戶(hù)可以在對(duì)GeoPakcage文件進(jìn)行修改后,通過(guò)單獨(dú)點(diǎn)擊相應(yīng)的功能進(jìn)行測(cè)試,直至全部通過(guò)。具體來(lái)講,點(diǎn)擊軟件菜單欄“打開(kāi)”按鈕,瀏覽至GeoPackage文件目錄,點(diǎn)擊“打開(kāi)”,軟件會(huì)調(diào)用數(shù)據(jù)庫(kù)讀取函數(shù),并返回值,即可完成GeoPackage打開(kāi)功能。同時(shí),系統(tǒng)會(huì)記錄上一次GPKG的存放位置,之后提示框會(huì)顯示文件是否打開(kāi)成功,點(diǎn)擊相應(yīng)的功能項(xiàng),完成測(cè)試。如圖5所示。
圖5 空間數(shù)據(jù)分類(lèi)檢查功能
面對(duì)存儲(chǔ)容量有限、地理空間數(shù)據(jù)格式不開(kāi)放、數(shù)據(jù)存儲(chǔ)過(guò)度依賴(lài)平臺(tái)的狀況,本研究根據(jù)武漢大學(xué)測(cè)繪公益項(xiàng)目設(shè)計(jì)生產(chǎn)的GeoPackage(GPKG)數(shù)據(jù)容器存儲(chǔ)標(biāo)準(zhǔn),基于Qt 5.2.0+VS2010開(kāi)發(fā)平臺(tái),C++編程語(yǔ)言,通過(guò)三層架構(gòu)編程模式研發(fā)了GIS數(shù)據(jù)存儲(chǔ)格式的檢查軟件,實(shí)現(xiàn)了GeoPackageGIS數(shù)據(jù)存儲(chǔ)文件的自動(dòng)化、快速檢查,為GIS數(shù)據(jù)格式存儲(chǔ)標(biāo)準(zhǔn)化提供幫助和支持,可以有效地解決不同平臺(tái)間、不同應(yīng)用程序間數(shù)據(jù)共享時(shí)面臨的格式不一致問(wèn)題,大大簡(jiǎn)化了數(shù)據(jù)轉(zhuǎn)換的步驟。
目前,格式檢查軟件僅支持常規(guī)的矢量、柵格數(shù)據(jù)格式,在未來(lái),筆者將進(jìn)一步集成多種開(kāi)源、未開(kāi)源的數(shù)據(jù)格式,并開(kāi)發(fā)基于多種平臺(tái)下的格式檢查軟件,為數(shù)據(jù)格式檢查提供方便,并將研究探索將空間數(shù)據(jù)存儲(chǔ)格式檢查軟件部署在云平臺(tái)。
[1] GeoPackage Encoding Standard [EB/OL].[2015-08-04]. http:∥www.geopackage.org/spec/.
[2] GeoPackage vector [EB/OL].[2015-08-04]. http:∥www.gdal.org/drv_geopackage.html.
[3] GeoPackage raster [EB/OL].[2015-08-04]. http:∥www.gdal.org/drv_geopackage_raster.html.
[4] OGR API Tutorial [EB/OL].[2015-08-04]. http:∥www.gdal.org/ogr_apitut.html.
[5] RASHIDAN M H, MUSLIMAN I A. GeoPackage as Future Ubiquitous GIS Data Format: A Review[J]. Jurnal Teknologi, 2015, 73(5):47-53.
[6] 崔虎平, 江南. 基于OGR的通用地理數(shù)據(jù)格式轉(zhuǎn)換研究[J]. 測(cè)繪通報(bào), 2012(S1):579-581.
[7] 陳崇成, 林劍峰, 吳小竹, 等. 基于NoSQL的海量空間數(shù)據(jù)云存儲(chǔ)與服務(wù)方法[J]. 地球信息科學(xué)學(xué)報(bào), 2013, 15(2):166-174.
[8] 李剛, 朱慶杰, 張秀彥,等. 基于FME的城市GIS基礎(chǔ)空間數(shù)據(jù)格式轉(zhuǎn)換[J]. 測(cè)繪通報(bào), 2006(4):17-20.
[9] 李志華, 張立亭, 李強(qiáng),等. 面向標(biāo)準(zhǔn)格式的DWG數(shù)據(jù)轉(zhuǎn)換[J]. 測(cè)繪與空間地理信息, 2015(1):60-62.
[10] 劉鐵軍, 劉慧平, 夏建勛. 基于組件技術(shù)的GIS數(shù)據(jù)格式轉(zhuǎn)換研究[J]. 測(cè)繪與空間地理信息, 2006, 29(2):35-40.
[11] 劉小偉. GIS空間數(shù)據(jù)格式轉(zhuǎn)換技術(shù)與方法的研究[D]. 合肥:合肥工業(yè)大學(xué), 2009.
[12] 陶曉麗, 張志華, 張麗萍. 基于格網(wǎng)索引的點(diǎn)目標(biāo)捕捉算法[J]. 測(cè)繪與空間地理信息, 2015(10):200-202.
[13] 王軒. 地理信息共享的數(shù)據(jù)轉(zhuǎn)換技術(shù)與方法的研究[D]. 鄭州:信息工程大學(xué), 2004.
[14] 于雪芹. 基于GML的矢量空間數(shù)據(jù)轉(zhuǎn)換方法及應(yīng)用研究[D]. 武漢:武漢大學(xué), 2005.
[15] 朱進(jìn), 胡斌, 邵華, 等. 基于內(nèi)存數(shù)據(jù)庫(kù)Redis的輕量級(jí)GIS地理數(shù)據(jù)組織[J]. 地球信息科學(xué)學(xué)報(bào), 2014(2):165-172.
Design and Implementation of GeoPackage Format Checking Software
ZUO Yao1,2,WANG Shaohua1,2,3,ZHONG Ershun3,ZHONG Yang1,HUANG Kejia1,4,LIU Yongxuan5
(1. SuperMap Software Co.Ltd., Beijing 100015, China; 2. SuperMap GIS Technology Institute, Beijing 100015, China; 3. Institute of Geographic Sciences and Nature Resources Research, CAS, Beijing 100101, China; 4. Beihang University, Beijing 100191, China;5. Beijing Institute of Surveying and Mapping, Beijing 100038,China)
Modern society is in an era of information explosion, and digital information is growing at an unprecedented rate. Under poor network environment, geographic information application service system is faced with limited storage capacity. In addition, considering that geospatial data are stored in a variety of computer platforms, it is urgent to study and design a unified data storage standard to solve the inconsistency of spatial data format among the different GIS platforms. Therefore, this study is based on the GeoPackage (GPKG) data container storage standards and Qt5.2.0+VS2010. GeoPackage format checking software was designed to check the format of GeoPackage files, which provides help and support to the standardization of GIS data format. Specifically, the software quickly realized the core functions, optional features and registration optional functions, and can be able to output details of the inspection results, which could effectively solve the problem of inconsistent data format among the different GIS platform and GIS application and simplify the steps of data conversion.
GeoPackage format checking software; GeoPackage;SQLite;Qt
左堯,王少華,鐘耳順,等.基于Qt的空間數(shù)據(jù)存儲(chǔ)格式檢查軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪通報(bào),2017(4):108-111.
10.13474/j.cnki.11-2246.2017.0132.
2016-07-13;
2017-01-09
國(guó)家測(cè)繪公益項(xiàng)目(201512015);北京市科技專(zhuān)項(xiàng)(Z151100003615012;Z141101004414011);中國(guó)科學(xué)院國(guó)防科技創(chuàng)新基金項(xiàng)目(CXJ-14-M13);中國(guó)科學(xué)院重點(diǎn)部署項(xiàng)目(KZZD-EW-07-01-001);國(guó)家科技支撐計(jì)劃(2013BAC03B00);資源與環(huán)境信息系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室自主研究項(xiàng)目(088RAC00YA);北京市優(yōu)秀人才項(xiàng)目(201500002685XG242);全國(guó)博士后國(guó)際交流計(jì)劃(20150081);朝陽(yáng)區(qū)博士后基金
左 堯(1989—),男,碩士,主要研究方向?yàn)榈乩硇畔⑾到y(tǒng)軟件技術(shù)。E-mail:zuoyao@supermap.com
王少華
P208
A
0494-0911(2017)04-0108-04