徐威杰,白玨瑩,周 立,史建青,張 瑞
(1.中國礦業大學,江蘇 徐州 221116;2.淮海工學院,江蘇 連云港 222005;3.長江大學,湖北 武漢 430100)
基于WebGIS的水產養殖信息管理系統設計與開發
徐威杰1,白玨瑩1,周 立2,史建青2,張 瑞3
(1.中國礦業大學,江蘇 徐州 221116;2.淮海工學院,江蘇 連云港 222005;3.長江大學,湖北 武漢 430100)
為了進一步提高水產養殖信息化、可視化和標準化水平,使水產養殖管理更加直觀與便捷,在B/S架構下,設計了一 種數據分布式存儲的基于WebGIS的水產養殖信息管理系統。在Visual Studio 2012開發環境中,采用C#、HTML和Javascript編程語言,利用ArcGIS Server、Ajax和ADO.NET技術,結合Geodatabase和SQL Server數據庫進行系統設計與開發。該系統主要面向水產養殖管理部門和生產單位,通過TCP/IP通信協議和設置用戶權限建立信息安全機制,實現了水產養殖信息的數據管理、瀏覽查詢、統計分析和報表制作等功能,具有廣闊的應用前景,對水產養殖業的發展具有重要意義。
WebGIS;ASP.NET;水產養殖信息管理系統;B/S;安全機制

Web Service是當今信息領域應用最廣泛的信息服務技術之一[1]。隨著物聯網、大數據、云計算等先進技術的發展和應用,水產養殖行業遇到了新的發展機遇,目前,開展了許多將地理空間信息技術應用到水產養殖行業中的研究。2011年,楊寧生[2]等研發了B/S與C/ S相結合的基于組件式WebGIS的對蝦養殖管理信息平臺;2012年,周瓊[3]利用VB語言,結合MapX控件研究了基于GIS的太湖漁業資源管理信息系統;2013 年,索榮遙[4]等利用GeoServer、OpenLayers和J2EE等技術設計實現了水產資源信息服務系統;2015 年,年雁云[5]等利用ArcGIS Server和GP服務的漁業分析模型設計了基于WebGIS的渤海漁業服務系統。
GIS技術在水產養殖中的應用日漸深入,應用技術和目的各有不同[6-10],但在對水產養殖種類、生產管理用房、機械設施裝備等基本信息的可視化統計分析方面尚有不足。本文在ASP.NET技術繼承傳統GIS技術優勢的基礎上,利用WebGIS理論和技術設計開發了基于WebGIS的水產養殖信息管理系統,為水產養殖管理部門提供了有效的時空決策信息支持。
1.1 系統體系結構
根據系統設計的科學性、完整性、先進性和安全性等原則,邏輯上將系統體系結構分為數據層、業務邏輯層和表示層(圖1)。數據層是整個系統的“血液”,貫穿前后,包括各種空間數據和業務數據,其中基礎地理數據庫和湖泊塘口空間數據庫采用分布式存儲,前者存儲在政府規劃管理部門的服務器上,通過網絡直接調用該部門已有的基礎地理數據,后者存儲在水產養殖管理部門的服務器上,是水產養殖的專題數據。分布存儲可減少空間數據的冗余度,增加數據的安全性,實現各政府部門間的數據共享。業務邏輯層是整個系統的基礎支撐和運轉引擎,通過Internet、Intranet兩種網絡模式提供各種服務組件來訪問數據層和響應客戶端瀏覽器發出的各種請求,服務器上的組件主要包括互聯網信息服務組件(IIS)、ASP.NET組件、ADO.NET數據訪問組件、ArcGIS地圖訪問和地圖服務組件等。表示層是用戶通過前端瀏覽器與后臺服務器進行交互操作的場所,負責發出請求和接收響應,實現地圖服務和業務操作。

圖1 水產養殖信息管理系統體系結構
1.2 關鍵技術
1.2.1 ArcGIS API for Javascript
WebGIS是一個交互式、分布式、動態的和跨平臺的地理信息網絡服務系統,其核心是將TCP/IP協議和HTTP標準嵌入GIS中,使地理信息透過OGC標準和W3C的界面互相溝通、存取,憑借良好的互操作性達成以往需要龐大數據量才能實現的功能,用戶可通過網絡上的任一節點使用WebGIS中的地理空間數據和服務[11]。ArcGIS API for Javascript是基于Dojo架構和REST網絡服務風格實現的程序開發接口,可以訪問ArcGIS Server提供的各類服務。其中,Dojo是一 個Javascript實現的開源DHTML工具包,可提高Web頁面的動態性、可用性和交互性,具有很強的可擴展性,極大程度上屏蔽了瀏覽器之間的差異。一個完整的ArcGIS服務器站點架構包括數據服務器、GIS服務器、Web服務器、使用ArcGIS Server服務的各種終端以及服務管理員與服務發布者;而ArcGIS Server站點只有Web服務器、Web Adaptor、GIS服務器和數據服務器4部分。通過ArcGIS API for Javascript可實現根據自己的空間數據開發交互式地圖、在ArcGIS在線提供的地圖上添加自己的數據、搜索GIS數據的某些屬性特征以及地址匹配等功能[11]。
1.2.2 ASP.NET
ASP.NET是微軟公司推出的新一代建立動態Web應用程序的新技術,是.NET Framework的重要組成部分,可用C#、JScript.NET、Visual Basic.NET等與.NET Framework兼容的開發語言編寫程序。它不僅具有豐富的內置對象和Web網頁控件,能提高程序開發效率;還具有ASP.NET Ajax異步通信技術、ADO. NET數據庫操作技術和LINQ數據訪問技術等多種動態頁面開發的核心技術,能提高用戶界面(UI)的交互性和美觀性以及對數據檢索、處理、更新的效率[12]。
2.1 數據分析及建庫
該系統采用的數據主要包括空間數據和業務數據,其中空間數據包括通過外業采集和內業數字化的湖泊和塘口矢量分布圖,以及通過網絡調用的城市規劃部門的基礎地理數據,包括電子地圖和高清影像圖兩類;業務數據主要包括養殖戶基本信息、湖泊和塘口養殖信息、生產管理用房、養殖機械設備、用戶信息以及后期通過統計分析生成的文檔數據。養殖戶基本信息包括所在鄉鎮名、所在村名、姓名、性別、身份證號碼、手機號碼等;湖泊和塘口養殖信息包括養殖戶姓名、養殖種類和品種、所在鄉鎮名、所在村名、養殖水面面積、養殖土地面積和養殖占地面積等;生產管理用房包括生產用房與管理用房的數量與面積;養殖機械設備包括微孔增氧機、葉輪式增氧機、水車式增氧機、自動投餌機和水泵的數量及功率;用戶信息主要包括用戶登錄名和登錄密碼,以及其他信息;文檔數據主要包括歷年數據統計和各種報表文檔。
根據數據庫構建的標準化、規范化、實用性和安全性原則,在構建數據庫前需對數據進行多種處理,如塘口編號按照省-市-縣(區)-鄉鎮-村莊順序進行統一編碼;養殖種類和品種需進行科學詳細劃分;專題矢量圖的投影帶和坐標系需與基礎地理數據保持一致;數據格式和精度準確設計等。為了提高數據運算和傳輸效率,該系統將空間數據和業務數據分開存儲,分別存儲于ArcGIS的面向對象數據庫Geodatabase和關系型數據庫SQL Server,且系統對所有數據的存儲、運算均在服務器上進行,通過網絡傳輸結果。
2.2 系統總體設計
水產養殖信息管理系統主要由處理業務數據的管理信息系統(MIS)和提供地圖服務的WebGIS兩個子系統組成;功能模塊包括數據管理模塊、瀏覽查詢模塊、統計分析模塊和報表制作模塊,具體功能如圖2所示。

圖2 功能模塊設計與功能實現
數據管理模塊實現數據的存儲、更新、刪除、導出等操作,并對歷年的水產養殖數據進行統計入庫,對比分析水產養殖歷年變化情況。瀏覽查詢模塊和統計分析模塊在瀏覽器端可實現圖層數據的放大、縮小、平移等基本操作,主要包括基于矢量圖層和基于業務數據兩部分。基于矢量圖層的瀏覽查詢可根據塘口編號、所在鄉鎮和村莊、養殖戶名字等查詢條件快速定位湖泊或塘口的空間位置,閃亮突出顯示。基于矢量圖層的統計分析可在矢量圖層上,根據所在鄉鎮和村莊、養殖種類和品種、生產管理用房、機械設施裝備等統計分析條件對水產養殖信息進行空間統計分析。報表制作模塊位于MIS子系統上,是為水產養殖管理部門開發設計的,以生成和網絡公布水產養殖信息的各種報表。
2.3 安全機制
水產養殖信息管理系統涉及重要的基礎地理數據、湖泊和養殖塘口信息以及養殖戶個人信息,主要通過用戶權限設置和Internet/Intranet網絡模式來建立信息安全機制。在系統登錄界面需要輸入用戶名和密碼,不同的用戶級別所擁有的系統使用權限不同,如最高級別用戶可刪除、修改、新增數據并制作報表,而普通用戶只能查詢瀏覽相關數據,不能操作更改數據。同時,通過Internet/Intranet設置TCP/IP通信協議使得只有在政務內網環境中才能調用基礎地理數據和水產養殖專題數據,而在外網中不可調用。
3.1 系統開發
該系統的開發環境如表1所示。

表1 水產養殖信息管理系統開發環境
3.2 主要功能實現
以昆山市水產養殖信息建立相應的空間數據庫和業務數據庫,在表1的系統開發環境下進行系統設計與開發,系統界面如圖3所示。其中,圖3a、3b為系統的WebGIS子系統界面,主要實現關于圖層的一些查詢瀏覽、統計分析功能。瀏覽器左側的藍色區域為按照鄉鎮-村名、養殖種類-養殖品種、塘口編號、養殖戶姓名等進行查詢統計的基本條件;“圖層查詢”命令按鈕下方為查詢統計的類別,分為養殖面積、機械設施裝備、生產管理用房3種,每個類別中又包含多個不同的下級類別;地圖視圖中可實現圖層的放大、縮小、平移等基本操作。在地圖視圖右上角可根據用戶自身需要實現背景底圖為電子地圖或高清影像圖的切換功能。圖3c為常規MIS子系統(昆山市漁業生產基本信息)界面,頁面的上半部分為水產養殖基本信息查詢統計的條件選擇區,下半部分表格為基本信息查詢統計的顯示列表。頁面中間有“新增”、“修改”、“刪除”、“管理”、“導入”、“導出”、“報告”、“歷史數據”、“切換地圖”等命令按鈕,每個按鈕可進入相應功能的Web頁面進行操作,由于篇幅有限,其頁面設計和功能實現在此不予展示和贅述。
通過系統統計功能可知,昆山市有高新區、開發區、巴城鎮等11個鎮區,139個村莊;具有常規魚類、蝦蟹類、觀賞魚類等10個水產養殖種類,40個養殖品種;涉及養殖戶3 600多個,養殖塘口數超過10 000 個,養殖占地面積超過6 666.6 hm2;生產管理用房超過20 萬 m2,各種機械設施裝備達17 000臺。水產養殖管理部門可根據需求調節各種養殖資源的分布狀況,實現水產養殖資源的科學化配置。

圖3 水產養殖信息管理系統展示
本文從水產養殖的實際需求出發,設計了水產養殖信息管理系統的體系結構,分析了相關數據并建庫;通過總體設計確定了系統的功能模塊,設計開發了WebGIS圖層子系統和MIS業務子系統,并將二者集成構建新型的水產養殖信息管理系統。結果表明,運用WebGIS有效提高了水產養殖業的信息化和可視化水平,提供了基于圖層的查詢瀏覽和統計分析功能,為實現水產養殖中的生產管理和資源配置優化提供了重要的決策支持。
[1] 李德仁,龔健雅,邵振峰.從數字地球到智慧地球[J].武漢大學學報(信息科學版),2010(2):127-132
[2] 楊寧生,鄧祥征,葛常水,等.對蝦養殖管理信息平臺設計與開發[J].上海海洋大學學報,2011(4):624-630
[3] 周瓊.基于GIS的太湖魚業資源管理信息系統的開發與研究[D].南京:南京農業大學,2012:7-9
[4] 索榮遙,陳榮國,張碩.基于WebGIS的水產資源信息服務系統設計與實現[J].測繪與空間地理信息,2013(12):160-162 [5] 年雁云,翟世常,薛晨光.基于WebGIS的渤海漁業服務系統設計與開發[J].遙感技術與應用,2015(2):391-398
[6] 吳建華.基于ArcGIS與ASP.NET的流域水質監測系統開發研究[J].測繪與空間地理信息,2014(10):1-4
[7] 孫恒.基于ASP.NET和WebGIS的校園信息管理系統開發及應用[D].上海: 華東師范大學,2010:3-4
[8] 孫義鵬,婁靖宇,程俊,等.基于WebGIS的大連市飲用水源環境保護信息管理系統[J].測繪與空間地理信息,2012(增刊1):48-49
[9] 曹順仙,王國聘,于建華,等.基于不同池塘養殖模式的WebGIS水環境綜合管理體系研究[J].生態經濟,2013(10):102-106
[10] 胡金有,王靖杰,張小栓,等.水產養殖信息化關鍵技術研究現狀與趨勢[J].農業機械學報,2015,46(7):251-263
[11] 劉光,曾敬文,曾慶豐.WebGIS從基礎到開發實踐[M].北京:清華大學出版社,2015:1-26
[12] 明日科技.ASP.NET從入門到精通[M].北京:清華大學出版社,2013:3-8
P208
B
1672-4623(2017)05-0051-03
10.3969/j.issn.1672-4623.2017.0051.6
徐威杰,碩士研究生,研究方向為海洋地理信息可視化。
2016-08-04。
項目來源:國家海洋公益性行業科研專項資助項目(201105004);江蘇省科技支撐計劃資助項目(BE2010125)。