荊旭全, 蔡德楠, 丁文翰, 徐劍波
(華南農業大學資源環境學院,廣東廣州 510642)
從傳統農業轉變到智慧農業,我國農業信息化的步伐未曾止步[1-3]。農業數據由于具有來源廣泛、類型多樣、結構復雜等特點,更需要大數據技術支持[3-5]。農業大數據是智慧農業發展的關鍵所在。測土配方數據成果形式多樣、數據量龐大,其數據規模給數據存儲、管理及分析帶來巨大的挑戰。通過運用大數據技術對上述測土配方大數據進行處理與分析,實現基于數據驅動的科學決策[6-10],對獲得可靠專業的決策結果具有重要的促進作用。在精準施肥應用中結合大數據技術和網絡地理信息系統(web geographic information system,簡稱WebGIS)技術,開發一套基于精準施肥的大數據系統及相應的信息服務平臺,能夠有效解決精準施肥大數據成果充分應用及信息不對稱等問題,深入挖掘施肥價值,為精準施肥科學決策提供新的決策工具和思路[11-17],大數據手段的運用對促進廣東省農業發展具有重要意義[18-21]。
通過對數據進行預處理以及批量標準化調整,利用ArcMap 10.2軟件對廣東省施肥大數據(耕地質量評價單元、地類圖斑、行政區劃等)進行定制化(整飾、配色、出圖),生成各縣域測土配方圖件及整個廣東省的全圖數據,通過ArcSDE建立數據集并導入SQL Server空間數據庫中,進而發布Web地圖服務(web map service,簡稱WMS),以供終端訪問。同時建立大數據分布式集群服務器平臺,利用數據庫導入工具,將SQL Server數據庫中的數據導入到Hadoop平臺中[22-23],使用Hadoop平臺對數據進行分析運算。通過Intellij IDEA開發平臺,配置應用程序編程接口(application programming interface,簡稱API),將所有系統集成開發打包,并上線至生產服務器,部署至Tomcat服務器,用戶通過互聯網地址或二維碼形式等渠道訪問該系統。
在深入研究已有先進成熟技術的基礎上,參考并借鑒先進的大數據架構和WebGIS的設計思想與理念,深入了解廣東省施肥大數據系統建設的需求,根據已知的系統數據源,提出一套可行性建庫方案,建立廣東省施肥大數據庫及數據倉庫,采用前后端分離的RESTful設計架構與分布式集群架構,建立元數據管理系統,從而實現施肥大數據的空間數據和非空間數據的一體化管理。在數據需求與數據流分析的基礎上,采用自頂向下的設計模式對系統框架進行設計,整合多元數據資源,建立廣東省施肥大數據標準體系(包括全省96個農業縣土地利用數據、土壤養分數據、主要作物農田分布體系以及主要作物施肥指標體系和精準化作物施肥模型等)。在設計上保證數據便于維護、可更新、安全加密、海量及跨平臺資源共享。
該系統主要功能建設包括施肥決策支持子系統、大數據管理子系統、專家答疑服務子系統、知識庫管理子系統、用戶管理子系統、施肥數據可視化子系統及輔助子系統,以數據驅動的方式聯動系統功能建設,進而保證系統使用的高效與快捷(圖1)。
通過對系統的目標用戶與系統功能需求進行分析,并經過充分調研發現,系統的目標用戶主要分為3類:第1類用戶為整體文化水平較低,施肥觀念滯后,獲取施肥服務有效手段匱乏的種植大戶或農場主;第2類用戶為具備一定農業服務技能,但基層農技推廣效率不高的基層農技人員和農業專家等;第3類用戶為與農民緊密聯系的肥料生產企業和農資店等農業服務商。針對目標用戶的特性,研究設計一套針對多種類型用戶可高效運行的大數據平臺,指導農業種植生產和科學施肥,以達到增產增優、減少農業污染等目的。
綜合對目標用戶行為特征的分析,并結合當前廣東省測土配方施肥技術推廣和地域特色等實際情況,分析確定本研究系統平臺的功能需求。精準施肥大數據系統主要借助現有成熟的大數據技術優勢,通過對數據進行處理、清洗、轉換與存儲,建立統一標準的海量數據庫及數據倉庫,并基于Hadoop架構實現海量數據的存儲、分析與應用,發揮地域特色,解決施肥大數據管理與應用難題,為農戶提供快速科學施肥決策服務。主要功能需求包括農業大數據需求、精準施肥指導服務需求、農業技術推廣需求等。
系統設計包括系統的總體用例設計與系統的總體結構設計。按照數據統一性和安全性、高效性和易用性、可維護性和擴展性原則進行設計。
2.2.1 系統的總體用例設計 根據“2.1”節的需求分析和調研分析,本系統主要涉及到以下用例:大數據分析與管理、精準施肥決策、農業知識庫管理、專家在線咨詢、系統用戶管理等(圖2)。
2.2.2 系統的總體結構設計 針對精準施肥核心環節,建立精準施肥大數據系統及相應的信息服務平臺,集成大數據管理與應用、精準施肥決策、農技推廣、施肥數據可視化等功能應用。利用大數據技術、WebGIS技術等現代信息技術在農業生產中的應用,收集并整合相關資源,將農戶、農業技術人員、種植專家、政府各級農業相關人員統一接入到服務系統內,幫助農戶學習農業技術,通過測土配方技術實現精確定位施肥,從而減少盲目施肥和過度施肥所帶來的農業污染和農業資源浪費。相關技術人員通過大數據分析,挖掘出其中的數據價值,為農戶提供相關農業指導性意見(圖3)。


大數據精準施肥系統存儲著海量數據,數據作為系統最核心的部分,是系統正常運行的先要條件。數據庫是數據管理的中心,其設計的好壞將直接影響系統的可用性和穩定性。按照規范化、可擴展性、開放性與安全性、穩定性等原則對數據庫進行設計。系統數據構成與分類如下:(1)土壤養分數據,包括全省96個農業縣的農田分布數據、2千多萬個地塊數據、50萬條土壤采樣化驗數據以及200萬多項土壤指標數據(包括氮含量、磷含量、鉀含量、有機質含量、pH值以及鐵、硫、硅、錳、銅、硼、鋅、鉬等中微量元素含量)。(2)土地利用數據,包括全省96個農業縣的耕地地力評價單元數據、耕地土壤類型數據、行政區劃以及線狀地物、地類圖斑數據,此外還包括座落名稱、地貌類型、地面坡度、田面坡度、坡向、常年降水量、通常地下水量、地類編碼、圖斑面積、評價分級等指標數據。(3)施肥指標體系數據,包括豆角、瓜果、柑橘橙、花生、苦瓜、糖蔗、龍眼、荔枝、馬鈴薯、茄果、水稻、果蔗、甜玉米、香蕉、葉菜、柚子等16種廣東省主要地域特色作物施肥指標。(4)作物庫和配方庫數據(包括每個農業縣的主要作物分布數據,包括糧食作物、蔬菜、水果、瓜類等作物生長期推薦施肥品種、數量、方法、配方肥配比、施用方法等)。(5)農業知識庫數據,包括種植管理、栽培技術、病蟲害防治、良種繁育、土壤改良等圖文數據及多媒體數據。(6)專家答疑服務數據,包括專家與用戶之間互動交流記錄等圖文數據以及用戶最近詢問專家記錄、匹配推薦專家等數據。(7)專家及用戶數據,包括專家姓名、頭像、性別、職稱、擅長領域、手機號碼、專家答疑次數、工作單位等數據以及用戶注冊數據。(8)系統日志數據,包括用戶行為收集數據、系統運行訪問數據、性能數據、錯誤日志等。
2.3.1 空間數據庫的設計 精準施肥空間數據庫的原始數據為耕地地力評價成果更新數據,比例尺為1 ∶50 000,坐標系為北京54坐標系,包括各縣域耕地地力評價單元數據、各縣域耕地土壤調查采樣點分布數據(每年更新的歷史數據)、各縣域耕地土壤類型數據、各縣域耕地土壤養分數據等專題地理數據以及地類圖斑、線狀地物、行政區界線、行政區等基礎地理數據。
空間數據庫作為地理信息系統在計算機物理存儲介質上存儲的與應用相關的地理空間數據的總和,一般以一系列相互關聯的特定結構文件的形式組織在存儲介質之上,存儲著空間數據(以點、線、面為同一類型同一時段的空間描述對象的分層、分組織儲存的實體)和屬性數據(如人口面積)。數據庫具有數據量龐大、高可訪問性、空間數據模型復雜、屬性數據和空間數據聯合管理、時空多尺度性等特點,支持空間查詢和空間分析等方法,在GIS領域中發揮著最基礎和最核心的作用。
通過數據預處理、數據更新和插值、構建數據庫與發布專題地圖、構建分析數據庫對精準施肥空間數據進行標準化處理。
2.3.2 配方施肥模型庫構建 精準施肥大數據系統的核心是施肥模型的構建。模型庫由一些評價和預測模型組成,是按照已確立的各種特性因子,并結合肥料學、土壤學、植物營養學等知識和專家經驗建立的模型。施肥模型主要是在指定區域和作物種類(包括設定目標產量)已選定的情況下,通過對施肥量和施肥配比及時期的運籌,得出最優的施肥配比和施肥方案。目前,該系統已有的作物配方施肥模型包括豆角、瓜果、柑橘橙、花生、苦瓜、糖蔗、龍眼、荔枝、馬鈴薯、茄果、水稻、果蔗、甜玉米、香蕉、葉菜、柚子等,本研究以此為基礎搭建施肥配方服務接口。
以水稻為例,水稻的施肥推薦模型須要根據不同區域采用不同的回歸模型,同時還應考慮各個地區籽粒養分吸收量的不同,以及不同地區肥料利用率的不同。首先根據土壤養分計算出相對產量,其次根據目標產量和地力提供產量計算得出肥料須提供產量,再次考慮籽粒養分吸收量和肥料利用率,最終求出該地區該目標產量下的水稻養分推薦施肥量,表1為水稻養分推薦施氮量模型。

表1 水稻養分推薦施氮量模型
2.3.3 系統功能模塊設計 依據系統的分析和設計,本系統的總體功能模塊設計見圖4。針對不同類型的用戶進行拆分,其中,數據統計分析模塊和業務更新部分僅面向管理員用戶類型開放。

該系統平臺用戶主要分成農戶、專業人員、農業部門管理員等3類。農業部門管理員通過PC端進入用戶管理模塊后,可以查看各類用戶列表及詳情,并可根據統一模板批量導入專家數據,對專家用戶信息進行編輯和刪除,添加用戶,查看用戶列表。農戶和專業人員在移動端網頁入口進入、注冊或登錄訪問。
3.2.1 測土配方施肥系統 通過對(市—區—村)逐級進行選擇,向服務器發送請求獲得所選村的地圖服務,然后進入所選村的地圖;在地圖上進行操作,將地圖中心點放在綠色的地塊上,與后臺交互獲取土壤養分數據,彈出Callout窗體,點擊該窗體,進入測土配方參數設置。地圖顯示功能時序見圖5。除顯示該地塊必要土壤養分元素外,用戶可設置不同的作物及目標產量。設置完畢,點擊確定,發送請求至服務器,服務器通過計算相應的縣域配方模型獲得施肥建議卡,并將施肥建議卡以網頁的形式顯示到用戶界面。該施肥建議卡可通過微信、QQ、微博等形式實現分享。生成配肥方案時序見圖6。

3.2.2 現場決策施肥 現場決策的流程與測土配方施肥基本一致,只是該流程第1階段并不須要通過訪問地圖來獲得土壤養分數據。只須開啟手機端全球定位系統(golbal positioning system,簡稱GPS),獲得當前的經緯度坐標,調用服務接口,經坐標系轉換以及Query查詢,并設置范圍與容差,即可獲得該坐標下的土壤養分數據。然后再選擇作物,得到施肥建議卡。
3.2.3 配方模型更新 作物模型與目標產量的設置通過服務器獲得更新,調用SharedPreferencesUtil工具類以離線的方式存儲至手機端。以定期更新的形式獲得最新數據表。配方施肥模型的計算方案由后臺進行更新。
在移動端部分,用戶點擊“知識庫”模塊,進入知識庫,可以查看農作物品種、農業技術、農資信息等相關圖文內容,為科學農業生產提供知識支撐,通過閱讀、瀏覽、學習提升用戶知識水平。點擊搜索框,可以選擇知識庫分類以及搜索相關的關鍵詞。
數據分析模塊包括大數據可視化分析、用戶行為分析和信息統計分析。該模塊功能面向管理員級別,由后臺管理系統提供服務,方便管理員進行決策分析,為后續工作提供指導基礎。

3.4.1 大數據可視化分析 空間數據可視化是大數據可視化的重要構成部分。該模塊結合GIS大數據與Hadoop技術,搭建Hadoop大數據分析平臺,利用GIS Tools for Hadoop工具將施肥大數據轉化為JSON數據并導入到Hadoop平臺中,提交到MapReduce程序中,經空間分析運算將分析結果轉化為要素類顯示至地圖中,可有效節省運算時間,解決單機執行效率有限問題。另外,開發了1套基于Python自動化數據處理工具的系統,對原始數據進行標準化處理(統一字段、檢查坐標系、統一屬性值)后,批量導出廣東省范圍的土壤數據和底圖數據,導入至空間數據庫,并發布地圖切片服務。
該模塊以市、縣為單元維度,對大數據進行實時更新統計分析,如對縣域維度的土壤數據平均值、最大值、最小值進行統計分析等??蓪祿幚斫Y果以報表形式導出用于查閱(圖7)。

3.4.2 用戶行為分析 移動端設計各類行為埋點,如施肥建議卡生成次數、閱讀單個文章次數、點擊單個Activity次數以及訪問時間、用戶評論互動指標等,根據這些行為埋點分析用戶行為,獲得相關的反饋,進而優化App核心功能(圖8)。
3.4.3 信息統計分析 該模塊用于記錄核心業務的信息統計內容,包括用戶數統計、農業知識庫數量統計、專家答疑內容統計、生成施肥建議卡次數統計以及用戶主動提供反饋的信息內容(如用戶建議和投訴信息等)。另外,統計生成建議卡作物地域分布情況及滿意度評價。


目前大數據應用在用戶推薦、流量統計、系統架構等領域取得了巨大進步,然而其他具體垂直領域的大數據應用仍處于摸索階段。本研究對精準施肥大數據系統進行分析、設計與開發,基本實現系統的核心功能,并對系統進行推廣應用,彌補了精準施肥大數據領域應用上的空缺,其技術具有一定的先進性和借鑒作用;同時進一步提升了精準施肥管理及決策水平,且具有專業化、精準化、區域化、可維護性和應用范圍廣等特點。首先,充分利用精準施肥大數據及相應的大數據技術,建立標準統一的精準施肥海量數據庫、數據倉庫及元數據管理系統,可為精準施肥提供新的決策方案和途徑。其次,結合大數據技術和WebGIS技術,采用前后端分離的RESTful設計架構與分布式集群架構,開發1套基于精準施肥大數據系統以及相應信息服務的應用平臺,為農戶提供精準施肥決策指導(圖9)及農技推廣服務,進而逐漸改變農戶傳統種植觀念,提高農戶知識水平,達到農作物增產增收、減少環境污染等效果。最后,系統先后于廣東省各地(如開平市、羅定市等)進行推廣應用,推廣效果顯著,并被評為“粵治-治理能力現代化”2016—2017年優秀案例。