摘要:在土地調(diào)查中,遙感圖像存在同譜異物和同物異譜現(xiàn)象。文章以青島市不同區(qū)域為研究對象,對其地類進(jìn)行拍攝及區(qū)分紋理,制作地類圖冊,建立地類樣本庫。基于ArcGIS Engine技術(shù)、GIS組件技術(shù)開發(fā)應(yīng)用程序,以第三次全國土地調(diào)查為依托,文章構(gòu)建了一個地類樣本庫可視化管理系統(tǒng)。
關(guān)鍵詞:ArcGIS;地類樣本庫;管理;分析
中圖法分類號:TP315文獻(xiàn)標(biāo)識碼:A
Design and implementation of visual management system of land sample database based on land survey
LI Gang
(Hefei Surveying Mapping Design &Research Institute, Hefei 230001,China)
Abstract: In land survey, remote sensing images have the phenomenon of homogeneity and heterogeneity. This paper takes different areas of Qingdao as the research objects, takes pictures of the land types and distinguishes their textures, makes a land type atlas, and establishes a land type sample database. The developed software based on ArcGIS Engine technology and GIS component technology relys on the third national land survey, and the paper constructs a visual management system of land sample database.
Key words: ArcGIS, geographic sample base, management, analysis
1? 引言
遙感圖像存在同譜異物和同物異譜現(xiàn)象,嚴(yán)重影響了遙感影像的現(xiàn)場解譯與判讀[1]。在第三次全國土地調(diào)查的內(nèi)、外業(yè)工作過程中,由于工作人員對不同地類認(rèn)定的標(biāo)準(zhǔn)和尺度不同,因此對于同一遙感圖像紋理的現(xiàn)場解譯存在或多或少的偏差。根據(jù)各個區(qū)域的地類特征,對青島市各個地區(qū)的樣本地類圖斑進(jìn)行拍攝,對樣本數(shù)據(jù)入庫并建立地類樣本庫,我們開發(fā)了一個地類樣本庫可視化管理系統(tǒng),供第三次全國土地調(diào)查的內(nèi)、外業(yè)工作人員以及核查工作人員進(jìn)行集中學(xué)習(xí)與地類認(rèn)定培訓(xùn),以提高第三次全國土地調(diào)查的數(shù)據(jù)成果地類判讀質(zhì)量。
2? 系統(tǒng)技術(shù)及框架設(shè)計
2.1? 技術(shù)框架
2.1.1? 開發(fā)環(huán)境
系統(tǒng)以 C#語言和 Visual Studio 2012為開發(fā)環(huán)境。 C 語言和 C++語言派生出了 C#這種面向?qū)ο蟮?、簡易的、類型安全的和現(xiàn)代的編碼語言。C#語言具有與 Web 緊密結(jié)合、兼容性強(qiáng)和語法簡潔、便于開發(fā)等特點(diǎn);Microsoft Visual Studio (簡稱 VS)則是微軟推出的一系列產(chǎn)品。
2.1.2? 數(shù)據(jù)庫
系統(tǒng)采用 MySQL 數(shù)據(jù)庫存儲地類樣本數(shù)據(jù)以及遙感影像,采用地理空間數(shù)據(jù)庫(Geodatabase)存儲空間數(shù)據(jù)和對應(yīng)的屬性數(shù)據(jù)[2]。來自瑞典的 MySQL AB 公司研發(fā)了 MySQL 數(shù)據(jù)庫,其屬于 Oracle 的一個關(guān)系型數(shù)據(jù)庫[3] ;Geodatabase 則是一個使用常規(guī)關(guān)系數(shù)據(jù)庫技術(shù)來表示地理信息的數(shù)據(jù)模型,其支持在標(biāo)準(zhǔn)數(shù)據(jù)庫管理系統(tǒng)(DBMS)表中存儲和管理地理信息,主要通過要素類、數(shù)據(jù)集和對象類三種不同的形式進(jìn)行數(shù)據(jù)的保存。對象類是一種可以在地理數(shù)據(jù)庫中保存非空間數(shù)據(jù)的表。要素類和要素數(shù)據(jù)集不相關(guān)。當(dāng)要素類在保存拓?fù)湟貢r應(yīng)該保存于元素數(shù)據(jù)集中,目的是確保公共空間引用。
2.1.3? 開發(fā)平臺
.NET Framework 是微軟推出的一個編程平臺,也是一個完整的 Windows 組件,支持構(gòu)建、部署和運(yùn)行下一代應(yīng)用程序和 Web 服務(wù),提供了一個高效的、基于標(biāo)準(zhǔn)的、多語言的環(huán)境,將現(xiàn)有的應(yīng)用程序與下一代應(yīng)用程序和服務(wù)集成在一起,并支持 Internet 規(guī)模的應(yīng)用程序的快速部署和操作。
2.2? 數(shù)據(jù)庫設(shè)計
2.2.1? 數(shù)據(jù)庫平臺選取
數(shù)據(jù)庫是一個存儲數(shù)據(jù)的存儲庫,能夠根據(jù)數(shù)據(jù)的不同結(jié)構(gòu)組織來存儲和管理數(shù)據(jù)。基于文獻(xiàn)資料,在設(shè)計數(shù)據(jù)庫時有四種參考類型,即平面型、網(wǎng)絡(luò)型、層次型和關(guān)系型。
MySQL 數(shù)據(jù)庫就是關(guān)系型數(shù)據(jù)庫的代表,擁有體積小、總體成本低、開源等特點(diǎn),支持多種操作系統(tǒng),提供的接口支持多種語言連接操作。MySQL 數(shù)據(jù)庫擁有一個快速、穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以連續(xù)使用,而不用擔(dān)心它的穩(wěn)定性。同時,MySQL 數(shù)據(jù)庫提供了多樣性界面供用戶選擇,包括命令客戶機(jī)、瀏覽器和編程語言接口,如 C++,Java,PHP 和 Python。
2.2.2? 數(shù)據(jù)庫設(shè)計原則
數(shù)據(jù)庫在系統(tǒng)中占據(jù)核心地位,在設(shè)計數(shù)據(jù)庫時應(yīng)考慮系統(tǒng)的工作效率和穩(wěn)定性[4]。所以,為保證系統(tǒng)能夠良好運(yùn)行,在設(shè)計數(shù)據(jù)庫時應(yīng)該遵循下列原則。
(1)命名規(guī)范:為使系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫,因此各種對象命名長度不超過30個字符,同時字段名稱應(yīng)該有實際意義,便于工作人員理解與編程。
(2)數(shù)據(jù)的一致性和完整性:在設(shè)計系統(tǒng)時,應(yīng)保持?jǐn)?shù)據(jù)的完整性和一致性,即數(shù)據(jù)的主屬性不能是空值。但是,為了增加系統(tǒng)的反應(yīng)時間,應(yīng)使數(shù)據(jù)有合理的冗余。
(3)擴(kuò)展性:某些數(shù)據(jù)表有可能會隨著系統(tǒng)的升級而發(fā)生改變,在設(shè)計數(shù)據(jù)庫的過程中應(yīng)該充分考慮這一因素。
2.2.3? 數(shù)據(jù)表設(shè)計
依據(jù)實際需求,平臺設(shè)計了地類數(shù)據(jù)表、坐標(biāo)數(shù)據(jù)表、人員信息表(包括數(shù)據(jù)采集人員、平臺管理人員)等,具體如下:(1)地類數(shù)據(jù)表,包括地類名稱信息、地類編碼信息等;(2)坐標(biāo)數(shù)據(jù)表,包括坐標(biāo)數(shù)據(jù)、點(diǎn)位 id、地類編碼等。
2.3? 關(guān)鍵技術(shù)
2.3.1?? ArcGIS Objects SDK for .NET
ArcGIS Objects 是 ESRI 公司 ArcGIS 系列產(chǎn)品的開發(fā)平臺,基于 Microsoft COM 技術(shù)而構(gòu)建,面向的是 GIS 開發(fā)人員。ArcGIS Objects 具有很強(qiáng)的開放性和可擴(kuò)展性。開放性體現(xiàn)在開發(fā)環(huán)境的選擇方面, ArcGIS Objects 可以在 VBA,VB 和.NET 等多種支持 COM 標(biāo)準(zhǔn)的語言工具中進(jìn)行開發(fā);可擴(kuò)展性是指對 ArcGIS Objects 組件沒有提供的功能進(jìn)行補(bǔ)充。
2.3.2? 數(shù)據(jù)訪問技術(shù)
可以使用各種數(shù)據(jù)訪問方法或技術(shù)使客戶機(jī)能夠訪問服務(wù)器和 ADO.NET 。它提供了一系列方法來支持對數(shù)據(jù)源的訪問,并可以讓 OLEDB 和 XML 等不保密的數(shù)據(jù)源進(jìn)行一致訪問,數(shù)據(jù)客戶機(jī)應(yīng)用程序可以使用ADO.NET 連接、查詢、添加、刪除和更新相關(guān)數(shù)據(jù)。
2.4? 平臺結(jié)構(gòu)
平臺采用 C/S 架構(gòu);后臺采用主流的 MySQL 關(guān)系型數(shù)據(jù)庫完成數(shù)據(jù)的存儲工作;前端以 C# Windows 應(yīng)用程序為客戶端。平臺的架構(gòu)體系主要分為三層,即數(shù)據(jù)層、服務(wù)層和應(yīng)用層。
(1)數(shù)據(jù)層由地類數(shù)據(jù)庫和空間數(shù)據(jù)庫構(gòu)成,是軟件系統(tǒng)的數(shù)據(jù)基礎(chǔ),為平臺提供地類樣本數(shù)據(jù)和空間位置數(shù)據(jù)。
(2)服務(wù)層負(fù)責(zé)處理桌面端的地圖服務(wù)請求、數(shù)據(jù)修改請求和空間分析請求,從數(shù)據(jù)層中讀取數(shù)據(jù)并進(jìn)行相關(guān)地圖操作,執(zhí)行空間分析,并將結(jié)果呈現(xiàn)在用戶界面。服務(wù)層主要由地圖服務(wù)、坐標(biāo)轉(zhuǎn)換、空間查詢、空間分析、數(shù)據(jù)輸入輸出組成。
(3)應(yīng)用層是系統(tǒng)與用戶進(jìn)行交互的紐帶,也是平臺的入口。根據(jù)用戶需求,主要提供遙感影像操作、地類查詢、實地照片查看等功能。
2.5? 平臺功能模塊
系統(tǒng)功能包括空間數(shù)據(jù)的瀏覽、地類查詢和實地照片顯示;GIS 的基本功能包括:地圖放大、縮小等。功能模塊如圖1 所示。
2.5.1? 數(shù)據(jù)管理模塊
(1)數(shù)據(jù)導(dǎo)入:支持 shape 文件、遙感影像、excel 表格和照片的導(dǎo)入。
(3)地類查詢:支持對各種地類的查詢、顯示實地照片以及遙感影像上有該地類的矢量邊界。
(5)圖層管理:支持圖層控制,可以進(jìn)行圖層開關(guān)、圖層疊加、顯示順序調(diào)整等操作。
2.5.2? 數(shù)據(jù)可視化模塊
(1)顯示矢量和影像數(shù)據(jù):支持顯示Mxd文檔里的地圖和影像以及導(dǎo)入的圖層和影像。
(2)顯示實地拍攝照片。
2.5.3?? GIS 基本功能模塊
系統(tǒng)的基本功能包括地圖的測量功能、圖層的顯示功能、屬性的查詢功能等。地圖的常規(guī)操作功能包括對遙感影像的放大、縮小、移動、復(fù)位、更新等。查詢功能即通過地類目錄樹對各種地類進(jìn)行查詢。測量功能可以對所顯示的地類圖斑的面積、長度等進(jìn)行測量。
3? 系統(tǒng)實現(xiàn)
3.1? 平臺研發(fā)與集成
3.1.1? 平臺研發(fā)流程
在進(jìn)行系統(tǒng)開發(fā)時常用到的兩種方法為生命周期法和快速原型法。其中,生命周期法是指按照生命周期原理來開展開發(fā)工作。在使用生命周期法開展開發(fā)工作時,每一個階段的開發(fā)任務(wù)和目標(biāo)都是提前確定的。在開發(fā)系統(tǒng)時要遵循一定的順序和標(biāo)準(zhǔn),用戶不參與系統(tǒng)的開發(fā)和實現(xiàn)過程。快速原型法建立在生命周期法之上,是生命周期法結(jié)構(gòu)化的結(jié)果。其主要原理是:首先,建立一個原型來反映客戶的各種不同需求,客戶據(jù)此能夠看到系統(tǒng)全貌,可以更加直觀地對系統(tǒng)做出評價,進(jìn)而獲得更加客觀、全面的修改意見,最后搭建出全新的系統(tǒng)供用戶使用。平臺研發(fā)流程如圖2 所示。
3.1.2? 平臺集成
運(yùn)用 C#語言進(jìn)行編程,在 Visual Studio 2012軟件中的 Windows 窗體應(yīng)用程序進(jìn)行實際的開發(fā)工作。將 GIS 組件、數(shù)據(jù)管理模塊、數(shù)據(jù)可視化模塊、GIS 基本操作功能模塊等集成到一個框架下,并以此框架為基礎(chǔ)實現(xiàn)與 MySQL 數(shù)據(jù)庫的互聯(lián),最終構(gòu)建了地類樣本庫可視化管理系統(tǒng)。
3.2? 界面設(shè)計
3.2.1? 界面設(shè)計規(guī)范
要保證界面整體結(jié)構(gòu)合理,能夠簡單地調(diào)整地圖窗口的尺寸并以最大頁窗口顯示地圖。藍(lán)色和白色的結(jié)合象征著和平、安全、技術(shù)和舒適。導(dǎo)航主題的顏色是黑色,具有突出重心、突出平衡的作用。在界面設(shè)計和操作中,我們不僅注重美觀和實用性,更重視產(chǎn)品的基本技術(shù)標(biāo)準(zhǔn)。接口左側(cè)為數(shù)據(jù)目錄樹,右側(cè)為功能目錄,分辨率高。工具條在菜單條下方,菜單條包括地圖的基本操作功能。簡單而美麗的圖標(biāo)充分體現(xiàn)設(shè)計師注重每一處細(xì)節(jié)。界面簡單、實用并且美麗。在系統(tǒng)界面中,頁面左側(cè)是基本的 map 工具條,并且使用方便。地圖顯示在頁面的中間,完整且美觀。把地圖放大地顯示即可使操作變得方便。系統(tǒng)界面如圖3 所示。
3.2.2? 美學(xué)設(shè)計
系統(tǒng)界面要求操作方便,界面層各功能模塊的功能完整、組織合理。在系統(tǒng)結(jié)構(gòu)上不僅具備一般 GIS 軟件系統(tǒng)的布局特點(diǎn),同時在系統(tǒng)結(jié)構(gòu)分布上采用“左?右 (功能模塊?地圖窗口)、“上?中?下 (系統(tǒng)標(biāo)題、地圖工具條、可視化頁面)窗口全屏顯示的方式,處處從用戶操作便捷的角度考慮,以使本軟件可以得到大力推廣和廣泛使用。系統(tǒng)的主體使用綠色,象征著理性、平和、純潔、干凈,可以體現(xiàn)出清晰、純潔的主旨。
3.2.3? 界面資源設(shè)計
界面資源包括圖標(biāo)資源、圖像資源和界面組件。在地理信息系統(tǒng)中,通常利用在各種地圖上圖標(biāo),如放大、縮小、移動等圖標(biāo)。工具欄上的圖標(biāo)包括層信息打開、追加、放大、縮小、移動、全圖顯示、刷新、全畫面放大、全畫面縮小、左移和右移等。
3.3? 系統(tǒng)功能演示
3.3.1? 數(shù)據(jù)的顯示與控制
數(shù)據(jù)的顯示與控制可以實現(xiàn)數(shù)據(jù)的加載功能,并對加載出的數(shù)據(jù)進(jìn)行操作與控制。在本系統(tǒng)中,打開系統(tǒng)主界面即可顯示樣本照片,可以通過選擇工具欄中的“ Add? Data ”按鈕,添加數(shù)據(jù)對話框,可以對 Shapefiles ,Geodatabase ,Raster,Server Data,Layer files 等數(shù)據(jù)進(jìn)行加載。操作界面如圖4 所示。
地圖控制基于圖形數(shù)據(jù),包括地圖縮放、地圖全圖顯示、漫游、空間定位、地圖刷新等 GIS 功能。在本系統(tǒng)中,可以在工具欄直接調(diào)用 ArcGIS Engine 組件庫的工具實現(xiàn)地圖控制。系統(tǒng)工具欄如圖5 所示。
可以通過菜單欄的測量模塊對圖斑面積和長度等進(jìn)行測量,如圖6 所示。
3.3.2? 數(shù)據(jù)可視化模塊
利用樣本數(shù)據(jù)可視化模塊可以對各種地類進(jìn)行查詢,系統(tǒng)界面左側(cè)為一級地類和二級地類目錄樹,用戶可以根據(jù)自己的需求進(jìn)行查詢,查詢后在右側(cè)可視化窗口顯示該地類圖斑實地照片,并可以進(jìn)行“下一張”“上一張”“旋轉(zhuǎn)”等操作。樣本可視化界面如圖 7所示。
利用影像數(shù)據(jù)可視化模塊,可以在點(diǎn)擊完目錄樹中的圖斑后,根據(jù)坐標(biāo)數(shù)據(jù)在影像上的定位獲取該坐標(biāo)位置,供用戶查看該地類圖斑的遙感影像紋理。影像可視化界面如圖8 所示。
數(shù)據(jù)可視化模塊將實地照片與遙感影像完美地結(jié)合起來,供用戶對各種地類進(jìn)行查詢和學(xué)習(xí)。
3.4? 平臺測試
對平臺進(jìn)行測試的目的是驗證用戶提出的需求是否都已得到滿足,如果沒有滿足用戶需求,就要找出平臺存在的問題,從而獲得解決問題的方法,最后加以解決,使平臺更加完善。
3.4.1? 測試種類
在軟件開發(fā)階段,可以將測試分為以下幾個類別:(1)單元測試,又稱模塊測試,針對源代碼實現(xiàn)的每一個最小單元進(jìn)行正確性檢測,檢查每一個最小單元是否實現(xiàn)了設(shè)計的功能;(2)確認(rèn)測試,目的是測試軟件的功能與需求分析中的要求是否一致;(3)系統(tǒng)測試,當(dāng)確認(rèn)測試完成后,要對整個系統(tǒng)進(jìn)行測試,目的是確定系統(tǒng)是否滿足需求規(guī)范的定義。通過測試來找出與需求規(guī)范不同的部分,然后找到更加完善的解決方法。? 3.4.2? 測試結(jié)果
在開發(fā)平臺的過程中,每開發(fā)一個小模塊都要進(jìn)行平臺單元測試,目的是了驗證平臺每個模塊的功能是否實現(xiàn)。當(dāng)所有小模塊完成測試,要將它們組合起來共同進(jìn)行測試,查看相應(yīng)功能是否實現(xiàn),如導(dǎo)入數(shù)據(jù)的功能,包括選擇數(shù)據(jù)的格式、導(dǎo)入數(shù)據(jù);當(dāng)一個功能完成開發(fā),就要從該功能入手,驗證系統(tǒng)是否實現(xiàn)了該功能,對該功能進(jìn)行確認(rèn)測試。最后,當(dāng)系統(tǒng)設(shè)計總體完成,要進(jìn)行系統(tǒng)測試,要根據(jù)需求分析中提出的每項要求進(jìn)行檢測,找出與需求分析不符合的地方,并進(jìn)行解決,最終實現(xiàn)系統(tǒng)的完美運(yùn)行。
4? 總結(jié)
本文基于 ArcGIS Engine 技術(shù)、GIS 組件技術(shù)開發(fā)的應(yīng)用程序,以第三次全國土地調(diào)查為依托,構(gòu)建了地類樣本庫可視化管理系統(tǒng)。本文從地類樣本管理的現(xiàn)狀出發(fā),針對相關(guān)問題進(jìn)行研究,成果如下:(1) 研究組件式 GIS 開發(fā)原理。利用 ArcGIS Engine 軟件設(shè)計與開發(fā)地類樣本庫可視化管理系統(tǒng),實現(xiàn)系統(tǒng)的基本功能。(2)系統(tǒng)能夠?qū)崿F(xiàn)對各種地類的查詢;建立了目錄樹,將相應(yīng)一級類、二級類展示出來,供用戶查詢;能夠根據(jù)用戶查詢請求,給出相應(yīng)地類的遙感影像圖片和現(xiàn)場照片;能定位影像所在位置,并給出該地類在影像上的邊界范圍。
參考文獻(xiàn):
[1] TD/T 1015?2018,地類樣本圖斑拍攝方法[ S].北京:自然資源部,2018.
[2] 劉明德,林杰斌.數(shù)據(jù)庫設(shè)計與 Oracle 數(shù)據(jù)庫應(yīng)用教程[M].北京:清華大學(xué)出版社,2006.
[3] 譚俊.數(shù)據(jù)庫審計系統(tǒng)中 MySQL 協(xié)議的研究與解析[M].北京:中國人民大學(xué)出版社,2005.
[4] 齊明松,趙志剛,王莉.基于 ArcGIS Engine 的地名地址數(shù)據(jù)庫的實現(xiàn)[ J].測繪與空間地理信息,2013,36(9):108?110+113.
作者簡介:
李剛(1993—) ,碩士,研究方向:地理信息系統(tǒng)軟件開發(fā)與利用。