安徽師范大學 涂征洋
眾所周知,我們國家正處于高速發展階段,但是城市化不是社會發展的唯一目的,在基本全面進入小康社會的這個時代,如何提高城市管理能力變得更加重要。傳統的城市管理模式已經不再適用,移動信息的高速發展造就了未來的世界是信息化的世界,管理模式也會變成信息化的主導方式,且公眾參與管理的意識在逐漸加深,參與信息化的管理模式是未來的城市管理系統的必然趨勢[1]。公眾參與就是指不同身份的人士和團體共同思考討論協調對策,強調所有的人或者團體都是社會的主人公,從而普遍提高公眾的素質,這是城市功能變化的必然要求。在我國的城市管理方面,公眾參與方面已經獲得一定的進展。公眾參與系統在一些一線二線城市上率先做出了嘗試,公眾通過一些公眾共同參與的軟件可以在決策批準后進行參與管理。但是仍有許多的不足之處,比如,公眾參與的規模不大,是因為沒有設計廣泛范圍的系統;再者,公眾參與的積極性不高,很多人嫌麻煩并沒有主動參與的意識[2]。
城市管理系統通常是采用了3S技術(遙感技術RS、地理信息系統技術GIS、全球衛星定位系統技術GNSS),以計算機網絡為基礎來建立的[3]。同時隨著網絡技術的發展,手機和移動通訊設備也在逐漸變成互聯網的終端,可以通過這些設備訪問網絡服務器并進行數據交互,使得功能越來越豐富[4]。
本文系統針對當下數字城市的發展,該軟件是由移動客戶端以及服務器端組成的,通過互聯網的交互功能將移動設備與服務器連接并發送定位信息,讓城市管理結合3S技術,使普通大眾都參與到城市管理中。最后將所發現的城市管理問題上報給有關部門,使上報的事件更具有時效性,讓城市管理工作能夠讓人人參與,使其成為做城市真正的主人。
隨著科技的發展,應用型GIS逐漸變得越發重要。如何針對不同的軟件要求,來進行相應的軟件開發這個問題也在逐漸變成開發的首要問題。目前來說主要的GIS開發方式有:單純的GIS二次開發、跨平臺的GIS集成開發以及組件式GIS開發[5]。
單純的二次開發是借助于ArcGIS提供的軟件開發工具進行開發,各樣的GIS軟件提供了大量的針對各個平臺的軟件開發包,如以.NET為平臺的ArcEngine,ESRI公司開發的AE可以提供以C#語言為基礎的各種開發工具,用戶通過此軟件可以開發適用于各個方向的GIS軟件,但其同樣有著一些缺陷,比如開發界面過于普通,并且與其他軟件的互動較差。跨平臺的GIS集成開發一般是用軟件開發工具開發客戶端軟件,以動態數據和服務器的交互獲取地理空間數據與分布式計算。作為現階段軟件技術開發主流之一的組件式開發,其基本思想是以控件的形式代替GIS的各個功能模塊,每個GIS控件和其他非GIS控件之間可以用可視化的軟件開發工具集成起來,形成一種專注于某一方面的GIS軟件,就像搭積木一樣,根據需要將需要的模塊像積木一樣搭建起來[6]。
基于Android的公眾參與城市管理系統是建立在VS、AS等平臺上的一個跨平臺的GIS上報查詢系統。
1.移動端平臺
Android是由美國Google公司與OHA(Open Handset Alliance)領導開發的一個基于Linux的自由開源代碼的移動操作系統。雖然,理論上可以在其基礎上開發基于多種程序語言的應用程序,但是,Android將Java作為其官方的編程語言,其絕大部分程序和框架都是基于Java編寫的。Android系統的架構一般是由應用程序層、應用程序框架層、中間件層和Linux內核層組成[7]。迄今市面上最流行的兩種開發集成工具為Eclipse ADT(Android Development Tools) 和Android Studio。
本文軟件選擇的Android Studio是Google公司推出的一個Android集成開發工具,基于IntelliJ IDEA.并研究,類似EclipseADT。相比Eclipse ADT來說具有更高的集成性,將Android編程簡化。并且解決了一個多分辨率的問題,使用戶可以在不同的分辨率設備上調整各自的分辨率。其最大的改變就是Beta測試功能。它提供的測試可以讓開發者方便試運行,大大提高開發周期。
2.服務器平臺
Visual Studio 2013是微軟在開發者大會上發布的及其程序組件庫.NET 4.5.1的一種開發平臺,VS2013給開發者提供了多種強大的工具和服務,可以幫助創造新式應用程序或者將現有的應用程序轉換成新式的應用程序。在本軟件中使用VS2013開發服務器,以便Android客戶端可以通過訪問服務器來訪問電腦中的數據庫。在本軟件中使用的Visual Studio 2013開發用于客戶端訪問的動態網頁和一般處理程序,來處理后臺運行的一些操作。
3.SQL server 2008
SQL Server系列軟件是微軟公司推出的關系型數據庫管理系統。SQL Server2008版本可以將各種數據結構的文檔數據直接存儲到數據庫中,可以對數據進行增刪改等操作。同時SQL Server 2008允許使用Microsoft.NET和Visual Studio開發的自定義程序中的使用數據。SQL2008可以減少管理數據的成本,以及控制發送信息的資源。
1.網絡信息服務
互聯網信息服務(Inter Information Server)是由微軟公司提供的基于運行Microsoft Windows的互聯網基本服務。IIS的設計目的是建立一套集成的服務器服務,在本系統中用于支持HTTP傳輸協議,通過配給服務器站點,使得服務器能在局域網以及互聯網中使用,并集成一套服務。公眾參與的城市管理系統采用了面向服務的架構(SOA)的思想,通過局域網和互聯網可以實現面向Android的客戶端平臺向網絡服務發送請求[8]。
2.地圖服務選擇
百度地圖Android API是為開發者提供的一套基于百度地圖服務的應用接口,包括各種語言和各種地圖GIS功能的工具與服務,適用于PC端、Android端、IOS端等多種設備。百度地圖Android SDK是一套基于Android4.0及以上版本的API。開發者可以設計一個基于百度地圖SDK和Android的移動GIS應用,簡化了百度地圖的二次開發。百度地圖對外宣稱免費使用,接口可以無次數限制使用。但是在使用前需要在官網上選擇自己需要的功能,并將自己軟件的SHA1輸入獲取百度地圖Android SDK,從而申請秘鑰(ak)。
整個系統由客戶端和服務端組成。客戶端是基于Android系統的應用程序,其邏輯代碼由Java和xml語言完成開發,主要用于上傳事件的參數填寫,以及查詢已上傳事件。服務端基于visual studio 2013平臺中html/java script/css和ashx(一般處理程序)/aspx完成開發,在本系統中服務器由IIS7網絡信息服務器提供服務,由SQL server 2008提供數據庫服務,對App端的接口是由ashx中使用的HttpUrlConnection提供,服務器主要用于對Android客戶端所訪問的網絡服務進行處理,并連接數據庫。如圖1。

圖1 系統框架圖
移動客戶端就是基于Android開發的一個基于定位上傳和查詢功能的GIS軟件,其主要功能模塊圖如圖2。

圖2 客戶端功能模塊圖
1.服務器設計
該系統中服務器的建立是基于IIS7.0與一般處理程序和動態網頁等建立的,用于接受處理訪問傳輸的數據以及返回所需要的值。
該服務器中總共有兩個訪問頁面,一個用于處理圖片文件信息,另一個用于處理各種字符信息并與數據庫連接。訪問各種字符信息的服務如圖3。

圖3 服務器功能設計圖
2.數據庫設計
數據庫的建立分為兩個,一個是存儲賬戶的數據庫,另一個是用于存儲處理上報事件的。
(1)存儲賬戶信息的數據庫如表1。

表1 賬戶數據庫表
(2)存儲處理上報事件的數據庫如表2。

表2 事件數據庫表格
首先進入軟件,在這里我們注冊一個賬戶名叫tzy123,密碼為123456,如圖4(a);登錄,如圖4(b);然后就打開我們的主界面,如圖4(c);查詢賬戶信息,如圖4(d)。
當我們需要上傳一個路面被損壞的事件時,選擇上傳相應的類型,如圖5(a);填寫各類參數,如圖5(b)。

圖4 登錄信息展示圖

圖5 上報事件圖
我們可以查詢剛剛上傳的信息包括以往的所有人上傳的事件,如圖6(a);同時也可以查詢我們這個賬戶的歷史上傳記錄,如圖6(b)。點擊可以查看我們上傳的事件的詳細信息,如圖6(c),可以在里面看到我們上傳的照片以及定位。

圖6 事件查詢圖
查看最新的城市管理信息,如圖7。

圖7 相關信息圖
本文主要是針對當下城市管理部門的發展需求,從而設計了公眾參與城市管理系統,該系統包括以便捷的移動設備作為上報信息的客戶端,以及接受客戶端訪問的服務器,從宏觀以及微觀的角度,敘述了客戶端以及服務器的各個組成部分。首先介紹了該系統的意義與需求分析,隨后介紹了開發平臺以及使用的軟件開發工具包,最后介紹該系統的框架以及具體功能代碼。該系統方便了公眾人員能在移動的環境下隨時將突發的城市管理問題上報給相關部門,以及查詢周圍的城市管理問題,也可以實時了解周邊環境的交通、旅游以及市容信息。公眾參與城市管理系統是通過網絡服務進行上報事件的一個GIS系統,選取的百度地圖接口也能更好地展現地理位置,在實際操作的時候會發現,可通過網絡服務能夠及時地上傳所需要的事件的信息。相比傳統的通過城管去巡邏管理城市,擁有更加方便、時效的特點,相信能給數字城市的城市管理方面一些幫助。