馮瓊瑛 陳粵超 張家善 楊 鋒 張瑜斌
1(廣東海洋大學實驗教學部 廣東 湛江 524088)2(廣東湛江紅樹林國家級自然保護區管理局 廣東 湛江 524000)3(湛江財貿中等專業學校 廣東 湛江 524042)4(湛江市海洋與漁業環境測站 廣東 湛江 524039)5(廣東海洋大學海洋資源與環境監測中心 廣東 湛江 524088)
?
紅樹林濕地鳥類查詢與鑒別系統的設計與實現
馮瓊瑛1陳粵超2張家善3楊鋒4張瑜斌5*
1(廣東海洋大學實驗教學部廣東 湛江 524088)2(廣東湛江紅樹林國家級自然保護區管理局廣東 湛江 524000)3(湛江財貿中等專業學校廣東 湛江 524042)4(湛江市海洋與漁業環境測站廣東 湛江 524039)5(廣東海洋大學海洋資源與環境監測中心廣東 湛江 524088)
針對中國紅樹林濕地現有21目72科195屬445種鳥類資源,采用B/S結構,結合MSSQL數據庫、ASP.NET、Web技術和專家系統理論,設計和開發紅樹林濕地鳥類查詢與鑒別系統。并就系統瀏覽、查詢和鑒別功能的實現,給出具體的解決方案;同時,利用51ditu API成功實現了電子地圖與.NET的交互,使用戶能快捷方便地對觀鳥記錄進行添加和維護。實踐證明,系統性能良好,功能實用方便。隨著系統的完善和應用,對加強紅樹林濕地鳥類管理、保護紅樹林濕地鳥類資源、保護沿海生態環境有著積極的意義。
紅樹林濕地鳥類MSSQL數據庫Web技術專家系統二叉樹電子地圖
鳥是大自然的精靈,鳥是人類的朋友。鳥類不僅帶給人們享受,還在保持生物多樣性、維護生態平衡方面發揮著重要作用。作為主要棲息地之一的紅樹林濕地蘊含了豐富的鳥類資源。據《中國紅樹林區鳥類》一書記載,中國紅樹林濕地現有鳥類21目72科195屬445種,分別占全國鳥類24目101科429屬1332種的83%、71%和33%[1,2]。為了方便用戶瀏覽、查詢和鑒別紅樹林濕地鳥類,積累鳥類原始觀測數據,設計和開發了紅樹林濕地鳥類查詢和鑒別系統。
1.1系統目標
以中國紅樹林區鳥類名錄為依據,專家系統理論為核心,結合Web技術和數據庫技術,在查閱了眾多鳥類學論著[3-6]和鳥類相關網站的基礎上,建立紅樹林濕地鳥類查詢與鑒別系統,實現紅樹林濕地鳥類的快速瀏覽查詢和鑒別,以及觀鳥記錄地圖管理功能。
1.2系統架構
系統采用三層B/S架構(如圖1所示),以MSSQL Server 2005 數據庫作為后臺數據管理系統,實現紅樹林濕地鳥類資源和鑒別知識庫的管理。開發平臺采用.NET Framework,有效地降低了系統對客戶機的要求, 避免了在客戶機上分發應用程序與版本控制的困難[7]。并在.NET 架構下引入AJAX,引入AJAX后,將系統分為含有AJAX引擎的表現層、業務邏輯層和數據層。AJAX 和.NET 平臺的結合優化了系統的結構設計,減少了用戶交互過程中的等待時間,彌補ASP.NET 在客戶端顯示上的不足,提高了系統的資源利用率和響應速度。

圖1 系統體系結構
1.3系統功能設計
按照系統對功能的需求,將功能模塊分為客戶端和后臺管理兩大部分。其中客戶端設計七大功能模塊,包括注冊登錄模塊、鳥類知識模塊、瀏覽模塊、查詢模塊、鑒別模塊、觀測記錄管理和用戶中心模塊。后臺管理分為四大功能模塊,包括系統管理、用戶管理、鳥類知識管理、紅樹林鳥類管理。各模塊下設若干子模塊,如圖2所示。

圖2 系統功能設計
1.4系統流程設計
系統流程設計如圖3所示。游客輸入系統網址,進入主頁,可以直接瀏覽鳥類知識、紅樹林濕地鳥類各階元信息,或進行鳥類查詢、鳥類鑒別,也可以注冊成為本站會員。會員除了享有游客的權利外,還可以添加觀鳥記錄、發布文章、發表評論、發送站內短信等。管理員直接進入后臺管理模塊,進行系統設置、會員管理、紅樹林系統管理,或上傳圖片、審核用戶添加的觀鳥記錄等操作。

圖3 系統流程設計
根據系統需求,建立紅樹林濕地鳥類資源和鑒別數據庫。再按分類階元,在該數據庫中建立目表、科表、屬表、種表、鳥類鑒別特征表、二叉檢索編碼表、觀鳥記錄和電子地圖以及管理員表、用戶表、用戶組表、站內短信表、評論表等。各表字段分別設置如下,各表之間通過種ID、屬ID、科ID和目ID建立表間關系。
目表:目ID、目中文名、目中文拼音、描述、生物學特征、鑒別特征、分類與分布、圖片、備注等。
科表:科ID、科中文名、科中文拼音名、科拉丁名、目ID、描述、鑒別特征、圖片、備注等。
屬表:屬ID、屬中文名、屬中文拼音名、科ID、描述、鑒別特征、圖片、備注。
種表:種ID、種中文名、種中文拼音名、種拉丁名、種英文名、屬ID、國內分布、紅樹林區分布情況、紅樹林區居留類型、受威脅狀況、保護級別、保護狀況、描述、生境、食性、繁殖、叫聲、鑒別特征、圖片、備注等。
觀鳥記錄和電子地圖:記錄號ID、種ID、種名、經度、緯度、觀測日期時間、描述、圖片、添加用戶、添加時間、更新用戶、更新時間、是否通過審核、備注等。
鳥類鑒別特征表:種ID、種中文名、種拉丁名、形狀、體長、姿態、飛行類型、頭、虹膜、喙、翼或翅、尾、足、羽色、鳴叫、行為習性、棲息地、季節、備注等。
二叉檢索編碼表:序號、編碼、描述、目ID、科ID、屬ID、科ID、備注。
系統采用SQL Server 2005構建物理數據庫,并建立功能強大的后臺管理模塊,方便管理員對數據庫進行維護或備份。同時,為保證系統良好的可移植性,將程序用到的所有連接字符串信息統一存放于config.web配置文檔中,并在程序中對該文檔配置進行調用來實現數據庫連接。當系統需要進行移植時只修改config.web配置文檔中的相應數據信息即可實現數據庫連接的轉移。
3.1B/S結構
系統采用B/S結構,在該結構中,主要事務邏輯在服務器端實現,極少部分事務邏輯在瀏覽器端實現,大大簡化了客戶端電腦負荷,減輕了系統維護與升級的成本。
3.2ASP.NET和ASP.NET AJAX
系統采用Visual Studio.NET 2008開發,同時引入AJAX技術實現客戶端的異步請求操作,解決服務器負擔和整頁刷新帶來的白屏問題[8]。當管理員對紅樹林濕地鳥類某些階元進行修改后,用戶在請求更新網頁時,將部分更新修改后的信息,不需要刷新整個頁面,減少了用戶的等待時間,提高系統響應速度。
3.3jQuery
系統在瀏覽和查詢模塊主要用到了jQuery技術。jQuery是一套簡潔、快速、靈活的JavaScript腳本庫,同時兼容CSS3和各種瀏覽器,使用戶能更方便地處理HTML、documents、events,實現動畫效果,并為網站提供AJAX交互。
其中,應用jquery.prettyPhoto.js進行圖片顯示,達到類似QQ相冊的展示效果,而且圖片多時可以在頁面上只加載設置的部分圖片,不用一次加載所有圖片。同時,應用jquery.uploadify.v2.1.0.min.js實現圖片無刷新上傳,上傳時顯示進度條,而且能在頁面中顯示已上傳的文件,也可以即時刪除圖片。在設計鳥類瀏覽和鳥類查詢時,使用了rtree.js,rtree.js在層數不多時使用非常簡單,效果很好。鳥類鑒別模塊用到無限樹功能,選擇了jquery.simple.tree.js,可以異步加載子樹,而且體積小、兼容性好。
4.1瀏覽功能的實現
鳥類信息瀏覽采用樹形目錄方式,左側顯示目科屬種名稱,可單擊展開,右側顯示單擊后對應階元的詳細信息。
4.2查詢功能的實現
鳥類查詢主要用SQL結構化查詢語言實現,查詢結果顯示時利用了jQuery技術??梢园粗形拿⒗∶?、中文拼音名、鑒別特征、叫聲等進行精確或模糊查詢,查詢結果以目錄樹的方式顯示,點擊左側的分類階元名稱可在右側查看詳細信息。圖4為輸入中文鳥名“鷺”的模糊查詢結果,右側為點擊草鷺時的顯示情況。

圖4 模糊查詢
4.3鑒別功能的實現
本系統設計了三種鑒別方式,分別是至目科、至屬種,或在已知目科的情況下進行屬種鑒別。當完全不知待鑒別的鳥類所屬目科或屬種時,可直接點擊展開條件進行至目科或屬種的鑒別;當已知待鑒別的鳥類所屬目科名而需要進一步確定屬種時,可先輸入所屬目科名,直接從該目科后開始鑒別。
鳥類目科檢索表是鳥類分類檢索的主要工具。系統依據鳥類目科檢索表與二叉樹的結構相似性,將該表轉換為鳥類目科檢索二叉樹,并依據該樹設計鳥類鑒別編碼表。表字段設置包括序號、編碼、描述、目名、科名、種名、備注等,并與數據庫中目、科、種表相應字段建立關系。同時為了提高屬種鑒別效率,系統引入了B+樹和判定樹學習,結合專家系統理論、產生式規則實現了鳥類目科至屬種的鑒別。該模塊的詳細設計見《專家系統在紅樹林濕地鳥類鑒別中的設計與實現》[9]。圖5所示為鸛形目鷺科草鷺的鑒別過程。

圖5 鳥類鑒別過程
4.4觀鳥記錄添加與管理
地圖API可讓第三方網站通過API編程方式調用地圖服務網站數據庫中的信息和功能[10]。為了記錄鳥類分布信息和觀測信息,積累原始觀測資料,系統設計了觀鳥記錄模塊。該模塊采用51ditu API開發,51ditu API提供地圖接口、導航接口和查詢接口三大類功能接口,可以訪問在線數據庫,實現基本地圖操作、搜索和導航等功能[11]。能方便地將用戶的觀鳥記錄添加到電子地圖上,并保存在網站數據庫,成功實現了電子地圖與.NET的交互。注冊用戶可以方便地將自己的觀鳥記錄加入到網站數據庫中(如圖6所示),并經過管理員審核后即可實時顯示。

圖6 觀鳥記錄添加
管理員從后臺登錄后,可以對用戶添加的觀鳥記錄進行審核和編輯(如圖7所示),也可以直接添加或編輯觀鳥信息。

圖7 觀鳥記錄后臺管理
4.5輔助功能的實現
系統還建立了鳥類知識模塊和用戶中心,以方便用戶了解鳥類知識和進行交流。普通用戶可以直接瀏覽鳥類知識,了解紅樹林鳥類研究領域的最新動態,會員還可以添加鳥類知識或發表評論。也可通過用戶中心,進行收發短信、發布文章、發表評論、修改密碼、修改資料等操作。
4.6后臺管理功能實現
系統設計了強大的后臺管理功能,管理員可直接登錄進入后臺管理模塊。除定期對數據庫進行維護外,還可以進行系統設置、用戶管理、用戶組管理、鳥類知識及評論管理,以及對紅樹林濕地鳥類信息模塊的管理,包括:添加、編輯、刪除鳥類各階元信息;添加或編輯鳥類鑒別編碼、審核用戶注冊資料、回答用戶提問;審核或編輯觀鳥記錄、上傳圖片等。以上功能模塊的有機結合,使得系統具有較強的實用性和專業性。
系統的創新性:系統數據庫收錄了數十萬字的文字信息和上千張圖片,包含了中國紅樹林濕地鳥類21目72科195屬445種各階元的詳細信息。目前,國內還沒有專門針對中國紅樹林濕地鳥類的查詢系統。同時,利用51ditu API 成功實現了電子地圖與.NET的交互,使用戶能方便地對觀鳥記錄進行添加和管理。此外,利用產生式規則與二叉樹結構的相似性,設計開發了鳥類鑒別模塊,實現了鳥類目科至屬種的鑒別。目前,系統目科鑒別功能已全部實現,屬種鑒別功能尚在完善中。
系統特色:系統采用B/S結構,界面美觀,人機交互友好。AJAX技術的使用使系統具有更快的響應速度。同時,提供了強大的后臺管理功能,使管理員能快捷方便地對系統進行管理維護。
系統的不足:系統不能實現圖像或聲音的鑒別,只能通過對鳥類特征的文字描述進行引導式鑒別或檢索符合條件的記錄。
本系統開發的難點在于鳥類鑒別專家知識庫的建設,為了保證鳥類資源和知識庫的專業性、準確性和實用性,特別邀請紅樹林濕地鳥類學專家對知識庫進行審核。目前,系統瀏覽、查詢、目科鑒別和觀鳥地圖功能已全部完成,屬種鑒別功能仍在完善中。隨著系統的完善和應用,對保護紅樹林濕地鳥類資源、保護沿海生態環境,將有著積極的意義。
[1] 周放,王穎,鄒發生,等.中國紅樹林區鳥類[M].北京:科學出版社,2010.
[2] 鄭光美.中國鳥類分類與分布名錄[M].北京:科學出版社,2005.
[3] 鄭光美,張詞祖.中國野鳥[M].北京:中國林業出版社,2002.
[4] 約翰·馬敬能,卡倫·菲利普斯,何芬奇.中國鳥類野外手冊[M].長沙:湖南教育出版社,2000.
[5] 王元青.探索書系—鳥類[M].沈陽:遼寧教育出版社,2001.
[6] 郭冬生.常見鳥類野外識別手冊[M].重慶:重慶大學出版社,2007.
[7] 李正希,胡方霞,陳發吉,等.ASP.NET案例開發[M].北京:中國水利水電出版社,2005.
[8] 仰燕蘭,金曉雪,葉樺.ASP.NET AJAX框架研究及其在Web開發中的應用[J].計算機應用與軟件,2011,28(6):195-198.
[9] 馮瓊瑛,張家善,陳粵超,等.專家系統在紅樹林濕地鳥類鑒別中的設計與實現[J].廣東海洋大學學報,2014,34(1):78-82.
[10] 王紅崧,周海晏.基于百度地圖API的旅游地理信息系統開發[J].現代計算機:專業版,2012(23):60-63.
[11] 景昕蒂,王方雄.大連市旅游電子地圖的設計與開發[J].地理空間信息,2011,9(1):128-130.
DESIGN AND IMPLEMENTATION OF MANGROVE WETLAND BIRDS QUERY AND IDENTIFICATION SYSTEM
Feng Qiongying1Chen Yuechao2Zhang Jiashan3Yang Feng4Zhang Yubin5*
1(Experimental Teaching Administration Department,Guangdong Ocean University,Zhanjiang 524088,Guangdong,China)2(GuangdongZhanjiangMangroveNationalNatureReserveAdministration,Zhanjiang524000,Guangdong,China)3(ZhanjiangFinanceandTradeSecondarySpecializedSchool,Zhanjiang524042,Guangdong,China)4(ZhanjiangOceanandFisheryEnvironmentalMonitoringStation,Zhanjiang524039,Guangdong,China)5(MonitoringCenterforMarineResourcesandEnvironments,GuangdongOceanUniversity,Zhanjiang524088,Guangdong,China)
Existing birds resources found in mangrove wetlands in China add up to 21 orders, 72 families, 195 genera and 445 species. In this regard, based on B/S structure and the combination of MSSQL database, ASP.NET, Web technology and expert system theory, we designed and developed a query and identification system for mangrove wetland birds and put forward the specific solution on the realisation of system browse, query and identification functions. Meanwhile, with the help of 51 ditu API, we successfully realised the interaction between electronic maps and .NET, thus the users can add and maintain their records of the observed birds conveniently. Practice has proved that the system designed here has a good performance and is very functional. With gradual perfection and application, the system will have positive meaning in protecting the resources of mangrove wetland birds and coastal ecological environment.
Mangrove wetland birdsMSSQL databaseWeb technologyExpert systemBinary treeElectronic map
2015-03-08。國家海洋公益性行業科研專項(20130 5021);廣東省教育廳科技創新項目(2013KJCX0095)。馮瓊瑛,實驗師,主研領域:數據庫及GIS應用。陳粵超,高工。張家善,講師。楊鋒,高工。張瑜斌,教授。
TP3
A
10.3969/j.issn.1000-386x.2016.09.015