王小雷,于 超
(克拉瑪依天地圖有限公司,新疆 克拉瑪依 834000)
我國(guó)城鎮(zhèn)地籍管理信息系統(tǒng)開(kāi)始比較早,到目前為止許多城市已經(jīng)建立城鎮(zhèn)地籍管理信息系統(tǒng),并被大量的應(yīng)用于城鎮(zhèn)土地資源數(shù)據(jù)的存儲(chǔ)與管理,為城市的建設(shè)和發(fā)展提供了基礎(chǔ)數(shù)據(jù)。同時(shí),我國(guó)農(nóng)村地籍管理信息系統(tǒng)的建設(shè)隨著最新國(guó)土資源調(diào)查工作的部署,“數(shù)字國(guó)土工程”以及“第三次全國(guó)國(guó)土調(diào)查”等工程項(xiàng)目的部署和實(shí)施,已經(jīng)在全國(guó)大范圍開(kāi)展起來(lái)。城鎮(zhèn)地籍管理信息系統(tǒng)作為國(guó)土地籍管理信息化建設(shè)工作最重要的軟件系統(tǒng),主要應(yīng)用于地籍管理現(xiàn)狀數(shù)據(jù)的采集、處理、管理和應(yīng)用[1]。
移動(dòng)平臺(tái)應(yīng)用開(kāi)發(fā)是現(xiàn)代軟件和互聯(lián)網(wǎng)領(lǐng)域最前沿技術(shù),目前移動(dòng)平臺(tái)只應(yīng)用在智能手機(jī)、平板電腦。 Android平臺(tái)自2009年以來(lái)發(fā)展勢(shì)頭迅猛,在全球智能手機(jī)市場(chǎng)中所占份額一路猛增,到目前為止Android平臺(tái)市場(chǎng)占有率達(dá)到百分之八十以上[2]。Android系統(tǒng)在智能手機(jī)上才能得到最大的發(fā)揮。隨著智能手機(jī)軟件系統(tǒng)和手機(jī)開(kāi)源技術(shù)的飛速發(fā)展,移動(dòng)平臺(tái)的硬件處理能力越來(lái)越強(qiáng)大,早已具備了相當(dāng)?shù)奶幚砗痛鎯?chǔ)能力。在Android環(huán)境的支持下,利用Arcgis Runtime SDK for android開(kāi)發(fā)包,對(duì)基于移動(dòng)平臺(tái)的地籍管理信息系統(tǒng)做了簡(jiǎn)要的描述,進(jìn)行功能設(shè)計(jì)并實(shí)現(xiàn)了一系列簡(jiǎn)單的功能[3]。
系統(tǒng)的整體設(shè)計(jì)是詳盡的調(diào)查類似于該鎮(zhèn)這樣一個(gè)小型的地域的地籍管理的相關(guān)組織機(jī)構(gòu)、下設(shè)的部門(mén)及具體處理對(duì)象,進(jìn)行目標(biāo)分析、數(shù)據(jù)分析、業(yè)務(wù)功能分析和運(yùn)行環(huán)境分析,通過(guò)一系列的分析處理,得到地籍管理信息系統(tǒng)的目標(biāo)和功能模型。
1.1.1 系統(tǒng)目標(biāo)
基于Android平臺(tái)的地籍管理系統(tǒng)的目標(biāo)是:為地籍管理部門(mén)提供圖文并茂的地籍信息管理平臺(tái),方便系統(tǒng)管理員及時(shí)更新土地變更信息,方便用戶進(jìn)行地籍要素等信息的查詢。
1.1.2 系統(tǒng)數(shù)據(jù)需求
系統(tǒng)的原有數(shù)據(jù)是“該城市該鎮(zhèn)地籍?dāng)?shù)據(jù)”,是該城市地理信息院提供,格式為Shp類型。通過(guò)折線和區(qū)域的方式記錄了該城市該鎮(zhèn)的各個(gè)村的邊界、面積等屬性信息和空間信息。
1.1.3 系統(tǒng)軟硬件環(huán)境
本系統(tǒng)選擇Andoid系統(tǒng)作為操作系統(tǒng)環(huán)境,硬件平臺(tái)相應(yīng)選擇智能手機(jī)。該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android上的應(yīng)用程序可以通過(guò)標(biāo)準(zhǔn)API訪問(wèn)核心移動(dòng)設(shè)備功能[4]。
1.2.1 運(yùn)行框架
系統(tǒng)運(yùn)行于移動(dòng)平臺(tái)上,操作系統(tǒng)為智能手機(jī)的Android系統(tǒng),通過(guò)ArcGIS Server系列軟件的處理得到用戶所需的地圖數(shù)據(jù),用戶通過(guò)觸屏點(diǎn)擊或輸入的形式實(shí)現(xiàn)功能操作,系統(tǒng)運(yùn)行框架如圖1所示。
圖1 基于Android平臺(tái)的地籍管理系統(tǒng)的運(yùn)行框架
1.2.2 數(shù)據(jù)流圖
數(shù)據(jù)流圖的頂層圖如圖2所示。
圖2 基于Android平臺(tái)的地籍管理系統(tǒng)的數(shù)據(jù)頂層圖
數(shù)據(jù)流圖的第一層圖情況如下,見(jiàn)圖3所示。將整個(gè)系統(tǒng)分為10個(gè)模塊。系統(tǒng)管理員和用戶要憑借身份和登錄密碼才能進(jìn)入系統(tǒng)。用戶不能執(zhí)行系統(tǒng)管理模塊的相關(guān)操作,而系統(tǒng)管理員能進(jìn)行系統(tǒng)管理模塊的所有操作,可根據(jù)數(shù)據(jù)的不同類型和要求建立數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作管理與維護(hù),還可輸入、編輯數(shù)據(jù),實(shí)現(xiàn)對(duì)地籍信息更新。
1.2.3 系統(tǒng)設(shè)計(jì)原則
系統(tǒng)設(shè)計(jì)原則包括實(shí)用性和先進(jìn)性原則;統(tǒng)一性與通用性原則;可維護(hù)性原則;易用性原則;可擴(kuò)展性原則;經(jīng)濟(jì)性原則。
GIS的開(kāi)發(fā)中,任何時(shí)候都少不了地圖操作,本系統(tǒng)就提供了一個(gè)多功能性的組件MapView,它是本系統(tǒng)的核心組成構(gòu)件[5],通過(guò)MapView可以表示出地圖服務(wù)的數(shù)據(jù),并且在MapView中定義了大量的屬性、方法和事件,用戶可以通過(guò)MapView操作設(shè)備的屏幕,默認(rèn)MapView可以響應(yīng)用戶的各類操作, 其功能分布圖如圖3所示。
圖3 MapView組件
建立“基于Android平臺(tái)的地籍管理系統(tǒng)”根據(jù)其功能需求分為10個(gè)模塊:圖層數(shù)據(jù)模塊、地圖事件模塊、空間要素可視化模塊、查詢搜索模塊、幾何計(jì)算模塊、定位模塊、在線編輯模塊 、地理處理模塊、系統(tǒng)管理模塊、幫助模塊[6-7]。
2.1.1 圖層數(shù)據(jù)模塊
圖層就是按某種屬性對(duì)數(shù)據(jù)分為若干文件,通過(guò)它可將各種類型的數(shù)據(jù)進(jìn)行加載顯示,但圖層需要添加到MapView對(duì)象中才能夠使用。在本系統(tǒng)中有許多種圖層,不同圖層有不同的作用,圖層的繼承關(guān)系圖如圖4所示[8]。
圖4 圖層Layer的繼承關(guān)系
2.1.2 地圖事件模塊
手機(jī)的觸屏功能使得本系統(tǒng)為MapView提供了多個(gè)事件監(jiān)聽(tīng)器,通過(guò)這些監(jiān)聽(tīng)器用戶可以只用觸屏操作就能實(shí)現(xiàn)地圖的一些簡(jiǎn)單功能,其接口類型如表1所示。
表1 MapView事件監(jiān)聽(tīng)器
用戶界面設(shè)計(jì)是操作設(shè)備屏幕產(chǎn)品的重要組成部分。界面設(shè)計(jì)集實(shí)用、易用、美觀于一體,并有不同學(xué)科共同參與的工程,用戶界面設(shè)計(jì)的三大原則是:用戶控制界面的靈活性;界面設(shè)置簡(jiǎn)單易用,便于用戶記憶界面;界面跳轉(zhuǎn)前后的一致性。
在Arcgis API for Android插件和Android系統(tǒng)中自帶的Arcgis開(kāi)發(fā)的相關(guān)的庫(kù)支持下,根據(jù)系統(tǒng)功能的設(shè)計(jì),按照地籍?dāng)?shù)據(jù)在移動(dòng)平臺(tái)的部署方案,選擇智能手機(jī)作為開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)了基于移動(dòng)平臺(tái)的該城市該鎮(zhèn)地籍管理信息系統(tǒng)的部分功能。其中,包括在智能手機(jī)平臺(tái)上實(shí)行單用戶登陸,加載矢量數(shù)據(jù)進(jìn)行地籍圖的簡(jiǎn)單操作,放大、縮小、空間數(shù)據(jù)和屬性數(shù)據(jù)的查詢等等功能,界面使用可返回式操作,還可實(shí)現(xiàn)導(dǎo)航功能。
手機(jī)或平板電腦屏幕中的每個(gè)界面就是一個(gè)Activity,所以Activity可以作為Android當(dāng)中最基本的模塊之一,一個(gè)Android應(yīng)用程序可認(rèn)為就是由很多個(gè)Activity的交流互動(dòng)組成的,不同的Activity之間可以進(jìn)行相互跳轉(zhuǎn)。本系統(tǒng)的應(yīng)用界面主要有用戶登錄界面、圖層屬性查詢界面、地圖瀏覽界面、圖層控制界面等,其中,在模擬器上顯示的用戶登錄界面如圖5所示。
圖5 系統(tǒng)的用戶登陸界面
要想瀏覽地圖,首先得載入地圖,將 .Shp 數(shù)據(jù)類型的文件通過(guò) ArcMap 轉(zhuǎn)化成.mxd 格式,存入模擬器的 sdcard 中,在編譯器中進(jìn)行代碼的編寫(xiě),通過(guò)MapView組件呈現(xiàn)地圖服務(wù)的數(shù)據(jù)從而載入地圖,實(shí)現(xiàn)代碼如下:
mapview=new ytMapView(this.getBaseContext());
mapview=(ytMapView)findViewById(R.id.mapView1);
mapview.MapPath="/mnt/sdcard/cangshu/";//數(shù)據(jù)存儲(chǔ)路徑
mapview.MapName ="cangshu.mxd";
載入數(shù)據(jù)后用戶要進(jìn)行地圖的瀏覽,所以通過(guò)MapView可以操作設(shè)備的觸摸屏,還得建立OnClick監(jiān)聽(tīng)事件,來(lái)實(shí)現(xiàn)地圖的放大、縮小功能,主要實(shí)現(xiàn)代碼如下:
zoomControls = (ZoomControls) findViewById(R.id.zoomControls1);
zoomControls.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View v) {
if(mapview!=null){
mapview.setCurrentCommand(CommandType.ZoomIn);//放大地圖
}
}
});
其中,地圖的放大、縮小、平移分別如圖6、圖7、圖8所示。
圖6 地圖的放大
圖7 地圖的縮小
圖8 地圖的平移
菜單是用戶界面中最常見(jiàn)的元素之一,使用非常頻繁,在Android中,菜單被分為如下三種,上下文菜單、選項(xiàng)菜單和子菜單。本系統(tǒng)在制作Menu的時(shí)候設(shè)置了兩排,每排四個(gè)選項(xiàng),在添加完第一排的菜單時(shí),將“添加分組”來(lái)實(shí)現(xiàn)兩排超過(guò)六項(xiàng)的菜單欄功能,即MENU_ADD_GROUP,運(yùn)行結(jié)果如圖9所示。
圖9 彈出菜單
該模塊通過(guò)Spinner 控件列出查詢內(nèi)容,即圖層名稱、字段名稱和字段值,通過(guò)指定查詢層,設(shè)置查詢參數(shù)來(lái)使用戶實(shí)現(xiàn)查詢相關(guān)的信息功能。圖層控制對(duì)話框的實(shí)現(xiàn)是采用Dialog 樣式給出數(shù)據(jù)中所有圖層的列表,用戶可通過(guò)復(fù)選框選出想要打開(kāi)的圖層,并進(jìn)行相應(yīng)的操作,圖層控制對(duì)話框?qū)崿F(xiàn)代碼見(jiàn)附錄。
客戶端要素既要顯示業(yè)務(wù)數(shù)據(jù),也要負(fù)責(zé)和用戶的交互。用戶可在編輯的圖層上面進(jìn)行點(diǎn)、線、面的繪制,來(lái)實(shí)現(xiàn)對(duì)地圖的編輯功能。實(shí)現(xiàn)要素編輯功能是事件“nDragPointerMove”。如果在事件中畫(huà)線,首先要在屏幕上捕捉到一點(diǎn),之后放入“startPoint”這個(gè)對(duì)象[9],并新建一個(gè)PolyLine對(duì)象。之后只要在屏幕上移動(dòng)下一點(diǎn),此時(shí)就要這個(gè)事件中調(diào)用lineTo 方法對(duì)這個(gè)PolyLine對(duì)象進(jìn)行繪制。在每一步完成之后,用戶結(jié)束繪制,程序調(diào)用“onDragPointerUp”事件監(jiān)聽(tīng)[10],實(shí)現(xiàn)Graphic對(duì)象構(gòu)造完成。
在結(jié)合地籍信息化建設(shè)和嵌入式二次開(kāi)發(fā)的技術(shù)后,對(duì)地籍管理信息系統(tǒng)進(jìn)行了深入的研究,對(duì)建立地籍管理數(shù)據(jù)庫(kù)進(jìn)行了具體的描述,最后實(shí)現(xiàn)Android系統(tǒng)的二次開(kāi)發(fā)技術(shù),并實(shí)現(xiàn)了簡(jiǎn)單的基于移動(dòng)平臺(tái)的地籍管理信息系統(tǒng)的功能。地籍管理信息系統(tǒng)的研究和智能手機(jī)的開(kāi)發(fā)都有了很大的進(jìn)步,但是將二者結(jié)合起來(lái)卻尚未發(fā)展起來(lái)。將地籍管理信息系統(tǒng)移植到智能手機(jī)中,攜帶方面,操作簡(jiǎn)單,而且可長(zhǎng)時(shí)間工作?;谝苿?dòng)平臺(tái)的地籍管理信息系統(tǒng)成本較低,易于推廣,方便應(yīng)用,可為加快地籍信息化建設(shè)、全面提高地籍管理水平服務(wù)。