国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種智能農(nóng)機(jī)載高光譜采集方法

      文檔序號(hào):6386248閱讀:606來源:國知局

      專利名稱::一種智能農(nóng)機(jī)載高光譜采集方法
      技術(shù)領(lǐng)域
      :本發(fā)明基于一種的智能農(nóng)機(jī)載高光譜采集方法,屬于基于GPS的高密度獲取農(nóng)田信息的技術(shù)方法,專用于精確農(nóng)業(yè)生產(chǎn)技術(shù)的動(dòng)態(tài)監(jiān)測。二、技術(shù)背景“精確農(nóng)業(yè)”是近年來國際上農(nóng)業(yè)科學(xué)研究的熱點(diǎn)領(lǐng)域,它是現(xiàn)有農(nóng)業(yè)生產(chǎn)措施與現(xiàn)代高新技術(shù)的有機(jī)結(jié)合,核心是地理信息系統(tǒng)、全球衛(wèi)星定位系統(tǒng)、遙感和計(jì)算機(jī)自動(dòng)控制系統(tǒng)。精確農(nóng)業(yè)就是通過地理信息系統(tǒng)、全球衛(wèi)星定位系統(tǒng)、遙感技術(shù)等自動(dòng)化控制技術(shù)的應(yīng)用,按照田間每一操作單元的具體條件,精細(xì)準(zhǔn)確地調(diào)整土壤和作物的各項(xiàng)管理措施,最大限度地優(yōu)化使用各項(xiàng)農(nóng)業(yè)投入,調(diào)動(dòng)土壤生產(chǎn)力,以最少的或最節(jié)省的投入達(dá)到同等收入或更高的收入,改善環(huán)境,高效地利用各類農(nóng)業(yè)資源,取得良好的經(jīng)濟(jì)效益和環(huán)境效益。精確農(nóng)業(yè)需要盡可能高密度的、全面的農(nóng)田信息作為依據(jù)。目前,遙感以其獨(dú)特的信息獲取優(yōu)勢正逐漸成為農(nóng)田信息獲取的主要手段。用遙感獲取土壤和植物參數(shù)已經(jīng)比較普遍,遙感數(shù)據(jù)是屬于面數(shù)據(jù),可覆蓋整個(gè)農(nóng)田,不象常規(guī)的采樣分析手段所獲取的只是點(diǎn)數(shù)據(jù)。高光譜遙感是遙感發(fā)展的一個(gè)重要趨勢,高光譜遙感以其高光譜分辨率特性所攜帶的豐富光譜信息為遙感應(yīng)用帶來了強(qiáng)大的活力。國內(nèi)外許多學(xué)者已經(jīng)涉足高光譜遙感在植被生物物理信息和生物化學(xué)信息提取方面的研究。在衛(wèi)星和航空遙感技術(shù)進(jìn)一步發(fā)展和成熟前,高光譜遙感正在被發(fā)展為高密度獲取農(nóng)田信息的技術(shù)手段。隨著高光譜遙感應(yīng)用的不斷深入,在“動(dòng)態(tài)監(jiān)測”越來越成為人們共識(shí)的情況下,發(fā)展高效率的快速遙感技術(shù)就成為必須考慮的問題。為此,利用高光譜儀光譜識(shí)別能力很強(qiáng)的同時(shí),快速實(shí)現(xiàn)光譜數(shù)據(jù)的同步“定位”,賦予三維坐標(biāo),形成“定性”、“定位”一體化快速遙感技術(shù)迫在眉睫?;贕PS的智能農(nóng)機(jī)載高光譜采集系統(tǒng)正是在這種背景下開展研究的。三、發(fā)明方案技術(shù)問題本發(fā)明的目的在于提供一種基于GPS的智能農(nóng)機(jī)載高光譜采集方法,能夠?qū)崟r(shí)獲取具有空間屬性的作物冠層光譜特征,同時(shí)在已知農(nóng)田信息的各圖層上定位,并獲取對應(yīng)點(diǎn)的屬性,如土壤養(yǎng)分信息等,計(jì)算出光譜植被指數(shù)NDVI等作物生長狀況一些重要指標(biāo),獲得一一對應(yīng)的地理定位信息、土壤屬性數(shù)據(jù)和光譜數(shù)據(jù),為實(shí)現(xiàn)精準(zhǔn)施肥等提供可靠的作物參數(shù)。技術(shù)方案本發(fā)明一種智能農(nóng)機(jī)載高光譜采集方法,包括用GPS確定農(nóng)機(jī)的位置,用傳感器實(shí)時(shí)獲得作物和農(nóng)田各種信息,用微型計(jì)算機(jī)記錄、分析信息,發(fā)送相應(yīng)的控制指令,從而驅(qū)動(dòng)農(nóng)機(jī)產(chǎn)生相應(yīng)的動(dòng)作,其特征在于1)采用差分GPS25-lvsOEM板定位,差分GPS25-lvsOEM板通過RS-232口或RS-232&amp;USB轉(zhuǎn)換器與微型計(jì)算機(jī)或筆記本電腦相連,在采集土壤樣品時(shí),利用GPS接收機(jī)在計(jì)算機(jī)柵格地圖內(nèi)定位,記錄采集點(diǎn)的準(zhǔn)確位置,樣品采集完后,在實(shí)驗(yàn)室對樣品進(jìn)行分析化驗(yàn),得到相應(yīng)的土壤屬性數(shù)據(jù),并添加到該柵格圖層中;2)利用拖拉機(jī)懸掛光譜儀,采用MSR16R型便攜式光譜儀實(shí)現(xiàn)作物冠層高光譜實(shí)時(shí)監(jiān)測,光譜儀通過RS-232或RS-232&amp;USB轉(zhuǎn)換器與微型計(jì)算機(jī)或筆記本電腦相連,利用VisualBasic6.0和pccomm.dll動(dòng)態(tài)鏈接庫,設(shè)計(jì)串行通訊程序,計(jì)算機(jī)從光譜儀中讀取采集到的作物冠層目標(biāo)光譜多波段信息,同時(shí)從GPS中讀取該光譜數(shù)據(jù)的空間時(shí)間信息,并完成相關(guān)數(shù)據(jù)的解析,軟件設(shè)計(jì)中采用事件觸發(fā)方式監(jiān)視計(jì)算機(jī)串口緩沖區(qū),當(dāng)緩沖區(qū)有數(shù)據(jù)時(shí),會(huì)自動(dòng)觸發(fā)該事件讀取數(shù)據(jù),接收光譜儀和GPS傳來的實(shí)時(shí)數(shù)據(jù),實(shí)時(shí)傳送設(shè)備控制指令。MSR16R便攜式光譜儀的原始數(shù)據(jù)按照CropScanINC提供的算式進(jìn)行轉(zhuǎn)換獲得作物冠頂光譜反射率R;3)利用MapObjectsOCX控件實(shí)現(xiàn)農(nóng)田地理信息系統(tǒng)GIS管理模塊用SQL語句查找相應(yīng)的地圖要素,將DGPS接受的位置信息投影到平面坐標(biāo)系統(tǒng)上,或圖層在不同投影和坐標(biāo)系之間相互轉(zhuǎn)換;利用MapObjects的Trackinglayer動(dòng)態(tài)顯示農(nóng)機(jī)具運(yùn)動(dòng)軌跡和各圖層上與定位點(diǎn)相對應(yīng)的點(diǎn)的屬性數(shù)據(jù);利用Maplay.AddRelate自動(dòng)完成具有定位信息的光譜數(shù)據(jù)表與圖層的關(guān)聯(lián);利用“GPS電子地圖坐標(biāo)轉(zhuǎn)換算法,把動(dòng)點(diǎn)坐標(biāo)從WGS-84坐標(biāo)系轉(zhuǎn)換到北京1954_GK坐標(biāo)下;利用MapObjects把圖層原始坐標(biāo)系轉(zhuǎn)換為WGS-84坐標(biāo)系,在外部數(shù)據(jù)庫與圖層關(guān)聯(lián)中,首先將GPS傳遞的定位信息在圖層中定位,并讀取FeatureId值,并把FeatureId值、轉(zhuǎn)換后的光譜數(shù)據(jù)和定位信息存儲(chǔ)到數(shù)據(jù)庫中,獲得一一對應(yīng)的地理定位信息、土壤屬性數(shù)據(jù)和光譜數(shù)據(jù)。有益效果本發(fā)明是精確農(nóng)業(yè)信息采集技術(shù)集成研究成果。目前,計(jì)算機(jī)與單獨(dú)高光譜儀或與單獨(dú)GPS相連比較普遍,但無法在廠商提供的通訊程序基礎(chǔ)上擴(kuò)展自己的應(yīng)用程序,為了滿足精準(zhǔn)農(nóng)業(yè)對光譜數(shù)據(jù)的特殊要求(具有地理屬性的光譜數(shù)據(jù))必須把這兩個(gè)設(shè)備同時(shí)和計(jì)算機(jī)相連,開發(fā)可以控制采樣頻率和串行傳輸速率等參數(shù)的通訊程序,以適應(yīng)光譜儀和不同的GPS,同時(shí)在此基礎(chǔ)上,開發(fā)基于GPS,GIS的農(nóng)機(jī)載高光譜采集系統(tǒng)軟件平臺(tái)。利用VisualBasic和MapObjects對GPS、GIS和MSR16R型便攜式光譜儀進(jìn)行有機(jī)集成,具有以下特點(diǎn)(1)系統(tǒng)通過集成GPS,能為采集到的光譜數(shù)據(jù)提供高精度的空間位置屬性,并錄入數(shù)據(jù)庫,實(shí)現(xiàn)光譜數(shù)據(jù)采集、定位、存儲(chǔ)一體化;(2)通過集成GIS,實(shí)現(xiàn)了具有空間屬性的光譜數(shù)據(jù)可視化管理和分析處理,同時(shí)能實(shí)時(shí)地顯示動(dòng)點(diǎn)軌跡;(3)實(shí)現(xiàn)了采樣田塊的柵格化;(4)可實(shí)時(shí)顯示各圖層對應(yīng)點(diǎn)地理屬性和通過光譜數(shù)據(jù)計(jì)算作物生理參數(shù)等功能。本發(fā)明可為今后實(shí)現(xiàn)精準(zhǔn)施肥,特別是氮肥的追施,提供及時(shí)、可靠的信息。四、說明書附1硬件系統(tǒng)結(jié)構(gòu)2軟件系統(tǒng)結(jié)構(gòu)五具體實(shí)施方式(一)系統(tǒng)硬件結(jié)構(gòu)在典型的體現(xiàn)精細(xì)農(nóng)業(yè)思想的自動(dòng)化農(nóng)機(jī)硬件系統(tǒng)中,一般體現(xiàn)實(shí)時(shí)性,用GPS確定農(nóng)機(jī)的位置,用傳感器實(shí)時(shí)獲得作物和農(nóng)田各種信息,用微型計(jì)算機(jī)記錄、分析位置信息、相應(yīng)傳感器的信息和其它已知的信息,根據(jù)分析結(jié)果,發(fā)送相應(yīng)的控制指令,從而驅(qū)動(dòng)農(nóng)機(jī)產(chǎn)生相應(yīng)的動(dòng)作。這就需要GPS、RS、GIS與ES緊密結(jié)合,并使整個(gè)系統(tǒng)具有移動(dòng)性、實(shí)時(shí)性。(見圖1)1拖拉機(jī)懸掛機(jī)構(gòu)該系統(tǒng)利用拖拉機(jī)懸掛農(nóng)機(jī)具的液壓懸掛升降機(jī)構(gòu),利用三節(jié)套管實(shí)現(xiàn)伸縮功能,長度為8米,利用液壓千斤頂實(shí)現(xiàn)升降功能,這樣不僅可使光譜儀隨農(nóng)機(jī)具移動(dòng),同時(shí)實(shí)現(xiàn)去除邊際效應(yīng)的作物監(jiān)測。為了保證光譜儀受光面與地面平行,我們在光譜儀懸掛機(jī)構(gòu)中采用了萬向頭、十字配重等平衡方式,使光譜儀在失去水平后能迅速回位,且可調(diào)節(jié)萬向頭的阻尼和限位彈片,減少大幅度擺動(dòng)。2DGPS系統(tǒng)GPS技術(shù)為土壤類型、土壤肥力特性、水分、作物生長發(fā)育狀況、病蟲草害及農(nóng)作物產(chǎn)量等田間信息采樣和決策方案的田間實(shí)施提供準(zhǔn)確的空間位置信息。在該系統(tǒng)中,全球定位系統(tǒng)采用廣泛用于精確農(nóng)業(yè)的GARMIN公司生產(chǎn)的差分GPS25-lvsOEM板,性能穩(wěn)定,運(yùn)行可靠;具有快速捕獲、快速重捕和極強(qiáng)的抗遮蔽能力,以及優(yōu)越的EMC、EMI電磁兼容能力,能夠很好的適應(yīng)復(fù)雜多變的應(yīng)用環(huán)境。其作用主要有三點(diǎn)(1)智能化農(nóng)業(yè)機(jī)械作業(yè)的動(dòng)態(tài)定位。(2)農(nóng)業(yè)信息采集樣點(diǎn)定位。即在農(nóng)田設(shè)置的數(shù)據(jù)采集點(diǎn)、人工數(shù)據(jù)采集點(diǎn)定位均需GPS定位數(shù)據(jù),以便形成信息層進(jìn)入GIS。(3)遙感信息GPS定位。即對遙感信息中的特征點(diǎn)用GPS采集定位數(shù)據(jù),以便于與GIS配準(zhǔn)。3RS系統(tǒng)地面遙感系統(tǒng)采用美國CROPSCINC生產(chǎn)的MSR16R型便攜式光譜儀實(shí)現(xiàn)作物冠層高光譜實(shí)時(shí)監(jiān)測。該儀器視場角為31度。該儀器的光譜分辨率已經(jīng)達(dá)到高光譜的光譜分辨率范圍,且基本覆蓋了大部分作物生物物理信息和生物化學(xué)信息敏感的波段(波段特征見表1)。其主要作用是監(jiān)測作物個(gè)體生長狀況、作物冠頂光譜,從而了解作物的養(yǎng)分狀況等生理生化參數(shù)。表1CropscanMSR16R波段的中心波長和帶寬波段Band460510560610660680710760中心波長(nm)461.3510.5561.6609.9659.1680.9711.8759.5帶寬(nm)8.38.18.510.010.811.39.29.8波段Band81087095011001220148015001650中心波長(nm)810.1871.6951.01101.91222.81481.11500.91669.0帶寬(nm)10.712.511.016.311.513.513.2195.04智能控制系統(tǒng)它是以微型計(jì)算機(jī)為核心,利用計(jì)算機(jī)串行通訊技術(shù)實(shí)時(shí)傳送設(shè)備控制指令,接收光譜儀和GPS傳來的實(shí)時(shí)數(shù)據(jù)等。系統(tǒng)軟件設(shè)計(jì)精細(xì)農(nóng)業(yè)的關(guān)鍵在于變量作業(yè),而變量作業(yè)需要有GPS、RS與GIS緊密結(jié)合。適用于農(nóng)業(yè)機(jī)械的GIS應(yīng)當(dāng)在具有通用的空間分析功能,同時(shí)還必須與數(shù)據(jù)采集系統(tǒng)、決策支持系統(tǒng)相結(jié)合,從而實(shí)現(xiàn)各硬件設(shè)備的有機(jī)集成。目前通用的GIS系統(tǒng),還不能同時(shí)滿足這些要求。因此,目前急需研究適用于精細(xì)農(nóng)業(yè)的GPS、GIS和RS集成技術(shù)和系統(tǒng)。我們采用集成二次開發(fā),以面向?qū)ο蟮目梢暬_發(fā)工具VisualBasic6.0為開發(fā)平臺(tái),利用GIS工具軟件MapObjects2.2實(shí)現(xiàn)GIS基本功能。既可以充分利用可視化軟件開發(fā)工具的高效方便的編程功能,實(shí)現(xiàn)各種專用的、復(fù)雜的分析方法,并充分利用GIS工具軟件完備的空間數(shù)據(jù)可視化分析處理功能,大大提高應(yīng)用系統(tǒng)的開發(fā)效率,使用面向?qū)ο蟮目梢暬浖_發(fā)出來的應(yīng)用程序具有良好的外觀、完善的功能、較好的可靠性、便于維護(hù)等優(yōu)點(diǎn)。該軟件系統(tǒng)包括5個(gè)模塊,如圖2所示。4.1串行通訊模塊硬件系統(tǒng)集成了MSR16R型便攜式光譜儀和GPS25-lvs差分GPS。這兩個(gè)設(shè)備通過兩個(gè)RS-232(或RS-232&amp;USB轉(zhuǎn)換器)與微型計(jì)算機(jī)(筆記本電腦)相連,計(jì)算機(jī)從光譜儀中讀取采集到的目標(biāo)(作物冠層)光譜多波段信息,同時(shí)從GPS中讀取該光譜數(shù)據(jù)的空間時(shí)間信息,并完成相關(guān)數(shù)據(jù)的解析。為了能夠準(zhǔn)確及時(shí)處理外設(shè)傳送到計(jì)算機(jī)串行端口的數(shù)據(jù),我們利用VisualBasic6.0和pccomm.dll動(dòng)態(tài)鏈接庫,并采用事件觸發(fā)方式監(jiān)視計(jì)算機(jī)串口緩沖區(qū),當(dāng)緩沖區(qū)有數(shù)據(jù)時(shí),會(huì)自動(dòng)觸發(fā)該事件讀取數(shù)據(jù)。一般的GPS接收機(jī)都提供了向計(jì)算機(jī)串口發(fā)送NMEA格式數(shù)據(jù)的功能。NMEA格式的數(shù)據(jù)是一系列變長的字符串,每一字符串以‘$’開頭,以O(shè)DOA結(jié)尾,字符串內(nèi)以‘,’分隔各個(gè)不同的數(shù)據(jù)項(xiàng)。為了同步GPS和光譜儀,在起動(dòng)光譜儀時(shí),利用GPS的‘$’字符啟動(dòng)光譜儀的A/D轉(zhuǎn)換,這樣有效地解決了GPS和光譜反射儀的同步問題。該模塊有兩種工作模式(1)手動(dòng)模式,按SPACE鍵接收一次數(shù)據(jù)。(2)自動(dòng)模式,每隔3秒接收一次數(shù)據(jù)。4.2MSR16R光譜數(shù)據(jù)轉(zhuǎn)換模塊MSR16R便攜式光譜儀的原始數(shù)據(jù)是各通道光敏元件的電壓值而不是作物冠頂光譜反射率,所以必須按照下面的算式進(jìn)行轉(zhuǎn)換,以滿足決策模塊的要求。(1)計(jì)算傳感器在實(shí)際溫度時(shí)的暗電平。(2)利用暗電平校正(3)利用溫度校正(4)利用校準(zhǔn)系數(shù)校正(5)利用太陽角的余弦校正UpmVreading=UpmVreading*COSINECOR(SUNANGLE)………………(5)(6)計(jì)算太陽角SUNANGLE=90-ATN([SIN(LA*RA)*SIN(DY*RA)+COS(LA*RA)*COS(DY*RA)*COS(HA*RA)]/[SQR(1-Z^2)*57.29578]其中GTGreenwichtimeHHHourMMMinuteGMTDIFFdifferenceinhoursfromyourtimezonetoGreenwichtimeLOLongitudeLALatitudeJDJulianDayRA0.745329E-02(7)計(jì)算光譜反射率PERCENTREFL=100*DnmVreading/UpmVreading………………(7)(8)利用白標(biāo)準(zhǔn)校準(zhǔn)因素校正PERCENTREFL=PERCENTREFL*2PTCF………………(8)上述公式由CropScanINC提供。4.3農(nóng)田GIS管理模塊地理信息系統(tǒng)(GIS)在精確農(nóng)業(yè)技術(shù)體系中的地位是舉足輕重的,它出現(xiàn)在從規(guī)劃、田間信息采集、信息處理與管理、信息分析,到田間決策方案實(shí)施的整個(gè)過程,這要?dú)w因于精確農(nóng)業(yè)實(shí)施對空間信息的依賴性。農(nóng)田信息具有多源性,具體表現(xiàn)在存儲(chǔ)格式多樣性、多尺度性、獲取方式多樣性,另外還包括系統(tǒng)或數(shù)據(jù)庫數(shù)據(jù)組織的復(fù)雜性。通過GIS平臺(tái),融合多源數(shù)據(jù)的基礎(chǔ)上建立農(nóng)田管理系統(tǒng)實(shí)現(xiàn)對多源、多時(shí)相農(nóng)田信息的有序管理和分析,這是精確農(nóng)業(yè)實(shí)施的基礎(chǔ),其作用表現(xiàn)在數(shù)據(jù)組織和集成管理、空間分析查詢、空間數(shù)據(jù)更新與綜合處理、可視化分析與表達(dá)。GIS為田間信息采集提供基礎(chǔ)信息,也為田間變量實(shí)施決策分析提供信息源。利用MapObjectsOCX控件實(shí)現(xiàn)(1)多圖層顯示;(2)對圖層進(jìn)行放大、縮小、移動(dòng)等操作;(3)計(jì)算選定的矢量數(shù)據(jù)的一些統(tǒng)計(jì)值;(4)在圖層上繪制點(diǎn)、線、橢圓、矩形、多邊形等圖形;(5)顯示和更新選定的矢量數(shù)據(jù)的屬性值;(6)用SQL語句查找相應(yīng)的地圖要素;(7)坐標(biāo)投影變換,將DGPS接受的位置信息投影到平面坐標(biāo)系統(tǒng)上,或圖層在不同投影和坐標(biāo)系之間相互轉(zhuǎn)換;(8)利用MapObjects的Trackinglayer動(dòng)態(tài)顯示農(nóng)機(jī)具運(yùn)動(dòng)軌跡和各圖層上與定位點(diǎn)相對應(yīng)的點(diǎn)的屬性數(shù)據(jù);(9)利用Maplay.AddRelate自動(dòng)完成具有定位信息的光譜數(shù)據(jù)表與圖層的關(guān)聯(lián)。在動(dòng)點(diǎn)定位導(dǎo)航中,由于從GPS得到的位置信息是WGS-84坐標(biāo)下的經(jīng)、緯度,我國的電子地圖常用北京1954坐標(biāo),采用高斯-克呂格投影。因此,在動(dòng)點(diǎn)定位導(dǎo)航前必須進(jìn)行坐標(biāo)投影變換。轉(zhuǎn)換方法(1)利用“GPS電子地圖坐標(biāo)轉(zhuǎn)換算法與實(shí)現(xiàn)”一文中的簡化算法,把動(dòng)點(diǎn)坐標(biāo)從WGS-84坐標(biāo)系轉(zhuǎn)換到北京1954_GK坐標(biāo)下。(2)利用MapObjects把圖層原始坐標(biāo)系轉(zhuǎn)換為WGS-84坐標(biāo)系。在外部數(shù)據(jù)庫與圖層關(guān)聯(lián)中,我們首先將GPS傳遞的定位信息在圖層中定位,并讀取FeatureId值,并把FeatureId值、轉(zhuǎn)換后的光譜數(shù)據(jù)和定位信息存儲(chǔ)到數(shù)據(jù)庫中,完成作業(yè)后,系統(tǒng)依據(jù)ID值完成圖層與數(shù)據(jù)庫的關(guān)聯(lián)。4.4農(nóng)田采樣?xùn)鸥窕K目前,一般農(nóng)田都不具備大比例尺圖,所以通過數(shù)字化來獲得農(nóng)田基礎(chǔ)信息地圖的方法不太適用;對于小面積區(qū)域利用GPS采點(diǎn)測繪農(nóng)田基本信息圖層則是一種相對成本較低、速度較快的方法。在采樣前,可以利用GPS獲得田塊邊界的點(diǎn),然后在圖層上生成多邊形,利用WGS_1984_UTM_Zone_50N[32650](以江蘇儀征為例),把多邊形投影到WGS_1984平面直角坐標(biāo)系上,生成采樣?xùn)鸥?,并給每個(gè)多邊形編號(hào),依照行列順序用MapObjects提供的Intersect語句把每個(gè)小矩形與生成的多邊形進(jìn)行相交運(yùn)算,并計(jì)算每個(gè)地塊周長、面積,當(dāng)面積小于柵格面積的四分之一時(shí)與同行相鄰的多邊形合并。在采集土壤樣品時(shí),利用GPS接收機(jī)在柵格內(nèi)進(jìn)行取樣,記錄采集點(diǎn)的準(zhǔn)確位置,樣品采集完后,根據(jù)具體要求可以在實(shí)驗(yàn)室對樣品進(jìn)行分析化驗(yàn),得到相應(yīng)的土壤屬性數(shù)據(jù),并添加到該圖層中,實(shí)現(xiàn)采樣點(diǎn)空間定位、屬性記錄和導(dǎo)航實(shí)施過程有機(jī)結(jié)合。4.5信息處理模塊光譜反射儀所測得光譜(波譜)是眾多地物吸收光譜和散射光譜的混合光譜,一般是以反射率表達(dá)。為了正確地解譯遙感數(shù)據(jù),從中提取目標(biāo)物的特征信息,并且減小背景的影響,人們構(gòu)造了多種植被指數(shù),也使用微分光譜技術(shù)。4.5.1微分光譜研究表明植物的反射光譜曲線具有顯著的特征,同一種植物的不同生長發(fā)育階段以及施肥條件的不同都會(huì)引起植物反射光譜曲線的變化。因此,可以利用植被光譜的這一特征,使用野外光譜儀在一定條件下測定它們對各種波段的一階微分反射光譜,來研究植物的生長狀況。一階微分光譜R&prime;(&lambda;)=R(&lambda;i+1)-R(&lambda;i-1)&lambda;i+1-&lambda;i-1]]>其中R為光譜反射率4.5.2歸一化植指數(shù)NDVINDVI與植株中的氮含量存在高度相關(guān)性,在分蘗盛期、孕穗期和抽穗期,通過光譜測定,用NDVI推算植株的氮含量效果較好,這為將來直接利用光譜來控制作物氮肥追施發(fā)揮重要作用。光譜植被指數(shù)NDVI=NIR-RNIR+R]]>其中R,NIR分別表示所取的紅光波段和近紅外光波段的光譜反射率。通過計(jì)算機(jī)運(yùn)行操作獲得具有地理屬性的土壤養(yǎng)分?jǐn)?shù)據(jù)N、P、K、微量元素等和具有地理屬性的光譜數(shù)據(jù)光譜反射率R、一階微分光譜、歸一化植指數(shù)NDVI等,從而指導(dǎo)施肥、播種、灌溉等變量機(jī)械作業(yè)。計(jì)算機(jī)與GPS和光譜儀串行通訊部分源程序<prelisting-type="program-listing"><![CDATA[Form1Option3(0).Value=FalseOption3(1).Value=FalsePrivateSubCheck1_Click()Command3.Visible=FalseIfCheck1.Value=1AndOption2(0).Value=TrueThensf=0dwxx.Visible=Truewm=0Elsepn=0dwxx.Visible=Falsecommand2.Visible=FalseEndIfEndSubOption1(0).Enabled=TrueOption1(1).Enabled=True″″″″″″″″″″″″″″″Option1(2).Enabled=True′結(jié)束按鈕Option2(0).Enabled=True′以sio_close(2)將COM2關(guān)閉Option2(1).Enabled=True′再使用End執(zhí)行結(jié)束系統(tǒng)Option3(0).Enabled=True″″″″″″″″″″″″″″″Option3(1).Enabled=TruePrivateSubCommand2_Click()UpDown1.Enabled=TrueTimer1.Enabled=FalseIfsm=2ThenTimer2.Enabled=FalsegbEndIfsio_close(pn)EndSubCommand4.Visible=FalseCommand1.Visible=TrueOption1(0).Value=FalsePrivateSubCommand3_Click()Option1(1).Value=FalseDimret%Option1(2).Value=Falseret=sio_open(pn)Option2(0).Value=FalseIfret<>SIO_OKThenOption2(1).Value=FalseMsgBox″打開通信端口錯(cuò)誤″,vbCritical+vbOKOnly,″系統(tǒng)警告″UpDown1.Enabled=Falsesio_close(pn)EndSubExitSubPrivateSubCommand4_Click()(接收gps,和光譜儀)EndIfIfbuf(0)36ThenExitSubIfPortSet()=FalseThenFori=0To128sio_close(pn)txtReceive.Text=txtReceive.Text+MsgBox″通信端口參數(shù)設(shè)置發(fā)生錯(cuò)誤″,Chr$(buf(i))vbCritical+vbOKOnly,″系統(tǒng)警告″NextExitSuba=j(luò)wd()EndIfText2.Text=j(luò)dret=sio_DTR(pn,0)Text3.Text=wdret=sio_RTS(pn,0)Text4.Text=ztIfwm=1ThenTemer2.Enabled=TrueIfsm=2ThenIfwm=2ThenTimer1.Enabled=Truedwxx=dwxx.TextCommand1.Visible=Falsetjjlcommand2.Visible=TrueEndIfIfwm=1ThenEndSubCommand4.Visible=TrueEndIf″″″″″″″″″″″″″″″Ifwm=2Then′窗體的加載事件Command4.Visible=False′執(zhí)行打開、設(shè)置等工作EndIf′并將DTR、RTS電位降低Command3.Visible=False″″″″″″″″″″″″″″″Option1(0).Enabled=FalseSubForm_Load()Option1(1).Enabled=Falsesf=1Option1(2).Enabled=FalseEndSubOption2(0).Enabled=FalseOption2(1).Enabled=False″″″″″″″″″″″″″″″Option3(0).Enabled=False′參數(shù)設(shè)置子程序Option3(1).Enabled=False′設(shè)置流量、速度、Parity、DataBut等項(xiàng)目″″″″″″″″″″″″″″″′接收按鈕PrivateFunctionPortSet()AsBoolean′以sio_Read函數(shù)讀取傳入的數(shù)據(jù)′參數(shù)設(shè)置子程序′再以返回值決定返回的字節(jié)數(shù),將其顯示到窗體上DimPortAsLong″″″″″″″″″″″″″″″DimmodeAsLongPrivateSubCommand1_Click()DimHwAsLong,SwAsLongEndDimretAsLongEndSubDimtoutAsLongPort=pn  mode=P_NONEOrBIT_8OrSTOP_1PrivateSubOption1_Click(IndexAsInteger)  Hw=0′沒有硬件流量控制IfOption1(0).ValueThenpn=1  Sw=0′沒有軟件流量控制IfOption1(1).ValueThenpn=2 PortSet=FalseIfOption1(2).ValueThenpn=3  ret=sio_ioctl(Port,B4800,mode)′設(shè)置Ifpn0Andwm<>0Andsm<>0Then  Ifret<>SIO_OKThenCommand3.Visible=True  MsgBox″設(shè)置時(shí)發(fā)生錯(cuò)誤″,vbCritical+EndSubvbOKOnly,″系統(tǒng)警告″  ExitFunction  EndIfPrivateSubOption2_Click(IndexAsInteger)  ret=sio_flowctrl(Port,HwOrSw)IfOption2(0).ValueThen′流量控制wm=1  Ifret<>SIO_OKThen′Command4.Visible=True  MsgBox″流量設(shè)置時(shí)發(fā)生錯(cuò)誤″,vbCritical+EndIfvbOKOnly,″系統(tǒng)警告″IfOption2(1).ValueThen  ExitFunctionwm=2  EndIf′Command4.Visible=False  PortSet=TrueEndIfEndFunctionIfpn<>0Andwm<>0Andsm<>0Then  Command3.Visible=True″″″″″″″″″″″″″″″IfCheck1.Value=1AndOption2(0).Value=TrueThendwxx.Visible=Truea=j(luò)wd()ElseText2.Text=j(luò)ddwxx.Visible=FalseText3.Text=wdEndIfText4.Text=ztEndSubIfzt=″0″Then  Forj=1To10  BeepPrivateSubOption3_Click(IndexAsInteger)NextIfOption3(0).ValueThensm=1EndIfIfOption3(1).ValueThensm=2cs=0Ifpn<>0Andwm<>0Andsm<>0ThenIfsm=2ThenCommand3.Visible=Truedwxx=dwxx.TextIfsm=2AndForm2.Visible=FalseThenForm2.ShowtjjlIfsm=1AndForm2.Visible=TrueThenUnloadForm2EndIfEndSubElse  ExitSub  EndIfPrivateSubTimer1_Timer()Fori=1To130  rlen=sio_read(pn,buf(0),1)′EndIf  Ifbuf(0)=36ThenExitForEndSub  Next  Fori=1To128  rlen=sio_read(pn,buf(i),1)PrivateSubTimer2_Timer()  NextiFori=1To130  Ifcs=sfThenrlen=sio_read(pn,buf(0),1)  Fori=0To128Ifbuf(0)=36ThenExitFor  txtReceive.Text=txtReceive.Text+NextChr$(buf(i))Fori=1To128  Nextrlen=sio_read(ph,buf(i),1)NextiPrivateSubtjjl()′向數(shù)據(jù)庫添加記錄EndSubgpsRec.AddNew  gpsRec.Fields(0)=Val(jd)  gpsRec.Fields(1)=Val(wd)″″″″″″″″″″″″″″″Ifdwxx=″″Thendwxx=″″′接收文本框Click事件gpsRec.Fields(2)=dwxx′使用按一下后會(huì)將接收的數(shù)據(jù)清空gpsRec.Update″″″″″″″″″″″″″″″dwxx=″″PrivateSubtxtReceive_Click()EndSubtxtReceive.Text=″″EndSub  PrivateSubgb()′關(guān)閉PrivateSubUpDown1_Change()gpsRec.Closesf=UpDown1.Valuedb.CloseEndSubEndSubPrivateFunctionjwd()AsSingleForm2jdt=″″PrivateSubCommand1_Click()jd=″″dkysjkFori=0To128UnloadMejdt=j(luò)dt+Chr$(buf(i))EndSubNextq=InStr(jdt,″$GPGGA″)jd=Mid$(jdt,q+14,9)PublicSubxjsjk()′新建數(shù)據(jù)庫wd=Mid$(jdt,q+26,10)CommonDialog1.ShowOpenzt=Mid$(jdt,q+39,1)newdatabasename=CommonDialog1.FileNameEndFunctionOnErrorGoToaa  Setws=DBEngine.Workspaces(0)  Setdb=ws.CreateDatabase(newdatabasename,dbLangChineseSimplified,dbVersion35)sjkdkbz=1′Setdb=OpenDatabase(newdatabasename,ture,F(xiàn)alse)ddEndSubSetnewtable=db.CreateTableDef(″gps″)Setnewfield=newtable.CreateField(″經(jīng)度″,dbDouble)PrivateSubCommand2_Click()newtable.Fields.AppendnewfieldxjsjkSetnewfield=newtable.CreateField(″緯度″,dbDouble)OnErrorGoToaa1newtable.Fields.AppendnewfieldSetws=DBEngine.Workspaces(0)Setnewfield=newtable.CreateField(″地物信息″,dbText,Setdb=OpenDatabase(newdatabasename)255)SetgpsRec=db.OpenRecordset(″gps″,newtable.Fields.AppendnewfielddbOpenDynaset)db.TableDefs.Appendnewtablesjkdkbz=0sjkdkbz=0GoTodd1GoToddaa1aasjkdkbz=1sjkdkbz=1dddd1UnloadMeCloseEndSubEndSubPublicSubdkysjk()′打開已有數(shù)據(jù)庫GlobalCommonDialog1.ShowOpen′*************************************************newdatabasename=CommonDialog1.FileName***********OnErrorGoToaa′ExGlobal.bas  Setws=DBEngine.Workspaces(0)′--Globalvariable&amp;Comportrecorddefinedfor  Setdb=OpenDatabase(newdatabasename)′exampleprogram.  SetgpsRec=db.OpenRecordset(″gps″,′dbOpenDynaset)′  sjkdkbz=0′1999/4/2TOMModifiedGoTodd′**********************************************aa***********OptionExplicitGlobalGstrBaudTable(0To19)AsString′通信參數(shù)結(jié)構(gòu)GlobalGstrParityTable(0To4)AsStringPublicTypeCOMMDATAGlobalGstrByteSizeTable(0To3)AsString  PortAsLongGlobalGstrStopBitsTable(0To1)AsString  BaudRateAsInteger′以下四項(xiàng)如PublicSubInitTable()9600,n,8,1,以常數(shù)表示GstrBaudTable(0)=″50″  ParityAsIntegerGstrBaudTable(1)=″75″  ByteSizeAsIntegerGstrBaudTable(2)=″110″  StopBitsAsIntegerGstrBaudTable(3)=″134″  ibaudrateAsInteger′以下四項(xiàng)如GstrBaudTable(4)=″150″9600,n,8,1,以整數(shù)表示GstrBaudTable(5)=″300″  iparityAsIntegerGstrBaudTable(6)=″600″  ibytesizeAsIntegerGstrBaudTable(7)=″1200″  istopbitsAsIntegerGstrBaudTable(8)=″1800″  HwAsInteger′硬件流量控制GstrBaudTable(9)=″2400″  SwAsInteger′軟件流量控制GstrBaudTable(10)=″4800″  DTRAsInteger′DTR線路狀態(tài)GstrBaudTable(11)=″7200″  RTSAsInteger′RTS線路狀態(tài)GstrBaudTable(12)=″9600″EndTypeGstrBaudTable(13)=″19200″  GstrBaudTable(14)=″38400″PublicGCommDataAsCOMMDATAGstrBaudTable(15)=″57600″PublicGhFormAsFormGstrBaudTable(16)=″115200″PublicGhExitAsBooleanGstrBaudTable(17)=″230400″ GstrBaudTable(18)=″460800″GlobalGBaudTable(0To19)AsIntegerGstrBaudTable(19)=″921600″GlobalGParityTable(0To4)AsIntegerGlobalGByteSizeTable(0To3)AsIntegerGstrParityTable(0)=″None″GlobalGStopBitsTable(0To1)AsIntegerGstrParityTable(1)=″Even″  GstrParityTable(2)=″Odd″GstrParityTable(3)=″Mark″GBaudTable(19)=B921600GstrParityTable(4)=″Space″GParityTable(0)=P_NONEGstrByteSizeTable(0)=″5″GParityTable(1)=P_EVENGstrByteSizeTable(1)=″6″GParityTable(2)=P_ODDGstrByteSizeTable(2)=″7″GParityTable(3)=P_MRKGstrByteSizeTable(3)=″8″GParityTable(4)=P_SPCGstrStopBitsTable(0)=″1″GByteSizeTable(0)=BIT_5GstrStopBitsTable(1)=″2″GByteSizeTable(1)=BIT_6  GByteSizeTable(2)=BIT_7GBaudTable(0)=B50GByteSizeTable(3)=BIT_8GBaudTable(1)=B75GBaudTable(2)=B110GStopBitsTable(0)=STOP_1GBaudTable(3)=B134GStopBitsTable(1)=STOP_2GBaudTable(4)=B150EndSubGBaudTable(5)=B300GBaudTable(6)=B600PublicSubRxIrq(ByValPortAsLong)GBaudTable(7)=B1200′接收的中斷子程序GBaudTable(8)=B1800DimrlenAsLongGBaudTable(9)=B2400Dimbuf(0To511)AsByteGBaudTable(10)=B4800GBaudTable(11)=B7200DoGBaudTable(12)=B9600rlen=sio_read(GCommData.Port,buf(0),512)GBaudTable(13)=B19200Ifrlen>0ThenGBaudTable(14)=B38400CallGhForm.ShowData(GhForm.Term,GBaudTable(15)=B57600buf,rlen)GBaudTable(16)=B115200ElseGBaudTable(17)=B230400Ifrlen=0ThenGBaudTable(18)=B460800ExitDoEndIfPublicsjkdkbzAsInteger′打開數(shù)據(jù)庫標(biāo)志  EndIf  LoopUntilGhExitEndSubMxtool  ′*********************************************Model**************  ′Mxtool.basPublicpnAsInteger′端口號(hào)′--ProcessPCommLibfunctionreturnvaluePublicsfAsInteger′采樣頻率′PublicwmAsInteger′工作方式′PublicsmAsInteger′存儲(chǔ)方式″1999/4/2TOMModified  ′*********************************************Publicrlen&amp;.i&amp;*************Publicbuf(0To511)AsByteOptionExplicitPublicjdtAsStringPublicjdAsStringPublicConstFORMAT_MESSAGE_FROM_SYSTEM=PublicwdtAsString&amp;H1000PublicwdAsStringPublicConstLANG_NEUTRAL=&amp;H0PublicztAsStringPublicConstSUBLANG_DEFAULT=&amp;H1PubliccsAsInteger′采樣次數(shù)PublicxshAsInteger′xianshihangDeclareFunctionGetLastErrorLib″kernel32″()AsLong  DeclareFunctionFormatMessageLib″kernel32″AliasGlobalwsAsWorkspace″FormatMessageA″_GlobaldbAsDatabase(ByValdwFlagsAsLong,lpSourceAsAny,ByValPublicnewdatabasenameAsStringdwMessageIdAsLong,_PublicnewtableAsTableDef,newfieldAsFieldByValdwLanguageIdAsLong,ByVallpBufferAsPublicgpsRecAsRecordsetString,_PublicdwxxAsStringByValnSizeAsLong,ArgumentsAsLong)AsLong PublicSubShowSysErr(titleAsString,syserrAsLong)DimlpMsgBufAsString*80buf=″啟動(dòng)硬件流量控制時(shí)不可控制DimlangAsIntegerRTS狀態(tài)″ CaseSIO_BADPARM  ′lang={MAKELANGID(LANG_NEUTRAL,buf=″參數(shù)錯(cuò)誤″SUBLANG_DEFAULT)}CaseSIO_BOARDNOTSUPPORT  lang=SUBLANG_DEFAULT*2^10+buf=″接口未支持此函數(shù)″LANG_NEUTRALCaseSIO_ABORT_WRITE  Callbuf=″用戶中斷寫出動(dòng)作″FormatMessage(FORMAT_MESSAGE_FROM_SYSTECaseSIO_WRITETIMEOUM,_buf=″輸出逾時(shí)″  0,syserr,lang,lpMsgBuf,80,0)CaseElse  CallMsgBox(lpMsgBuf,vbOKOnlyOrbuf=″不可預(yù)測的錯(cuò)誤″&amp;errcodevbExclamation,title)EndSelectEndSubCallMsgBox(buf,vbOKOnlyOr  vbExclamation,title)PublicSubMxShowError(titleAsString,errcodeAsElse′系統(tǒng)錯(cuò)誤的信息Long,syserrAsLong)CallShowSysErr(title,syserr)DimbufAsStringEndIf  EndSub  Iferrcode<>SIO_WIN32FAILThen  SelectCaseerrcodePccom  CaseSIO_BADPORT′*********************************************  buf=″通訊端口錯(cuò)誤或未打開″**********  CaseSIO_OUTCONTROL′PComm.bas  buf=″未支持此功能″′--PCommmoduleforVisualBasic(5.0above)  CaseSIO_NODATA′  buf=″未有數(shù)據(jù)被讀取″′Description  CaseSIO_OPENFAIL′WhenyouwanttodeveloponeVBapplication  buf=″打開錯(cuò)誤″withPComm,  CaseSIO_RTS_BY_HW′youshouldaddthismoduletoyourproject.′GlobalConstBIT_6=&amp;H1′GlobalConstBIT_7=&amp;H2′1999/4/2TOMModifiedGlobalConstBIT_8=&amp;H3′********************************************************GlobalConstSTOP_1=&amp;H0′Stop′BaudRateSettingbitsdefineGlobalConstB50=&amp;H0GlobalConstSTOP_2=&amp;H4GlobalConstB75=&amp;H1GlobalConstB110=&amp;H2GlobalConstP_EVEN=&amp;H18′ParityGlobalConstB134=&amp;H3defineGlobalConstB150=&amp;H4GlobalConstP_ODD=&amp;H8GlobalConstB300=&amp;H5GlobalConstP_SPC=&amp;H38GlobalConstB600=&amp;H6GlobalConstP_MRK=&amp;H28GlobalConstB1200=&amp;H7GlobalConstP_NONE=&amp;H0GlobalConstB1800=&amp;H8GlobalConstB2400=&amp;H9′ModemControlsettingGlobalConstB4800=&amp;HAGlobalConstC_DTR=&amp;H1GlobalConstB7200=&amp;HBGlobalConstC_RTS=&amp;H2GlobalConstB9600=&amp;HCGlobalConstB19200=&amp;HD′ModemLineStatusGlobalConstB38400=&amp;HEGlobalConstS_CTS=&amp;H1GlobalConstB57600=&amp;HFGlobalConstS_DSR=&amp;H2GlobalConstB115200=&amp;H10GlobalConstS_RI=&amp;H4GlobalConstB230400=&amp;H11GlobalConstS_CD=&amp;H8GlobalConstB460800=&amp;H12GlobalConstB921600=&amp;H13′Errorcode  GlobalConstSIO_OK=0′ModesettingGlobalConstSIO_BADPORT=-1′NosuchportGlobalConstBIT_5=&amp;H0′DataorportnotopenedbitsdefineGlobalConstSIO_OUTCONTROL=-2′Can′tcontrolboardGlobalConstSIOFT_FUNC=-4′FuncGlobalConstSIO_NODATA=-4′NodatatoreturnabortreadornobuffertowriteGlobalConstSIOFT_FOPEN=-5′CannotGlobalConstSIO_OPENFAIL=-5′NosuchportopenfilesorporthasopenedGlobalConstSIOFT_CANABORT=-6′YmodemGlobalConstSIO_RTS_BY_HW=-6′RTScan′tCANsignalabortsetbyH/WflowctrlGlobalConstSIOFT_PROTOCOL=-7′ProtocolGlobalConstSIO_BADPARM=-7′BadcheckingerrorabortparameterGlobalConstSIOFT_SKIP=-8′ZmodemGlobalConstSIO_WIN32FAIL=-8′Callwin32remoteskipthissendfilefunctionfail,pleasecallGlobalConstSIOFT_LACKRBUF=-9′Zmodem  ′Recv-Buffsizemust>=2KbytesGetLastErrortogettheerrorcodeGlobalConstSIOFT_WIN32FAIL=-10′OSfailGlobalConstSIO_BOARDNOTSUPPORT=-9′′BoarddoesnotsupportthisfunctionGetLastErrortogettheerrorcodeGlobalConstSIO_FAIL=-10′PCommGlobalConstSIOFT_BOARDNOTSUPPORT=-11functionrunresultfail′BoarddoesnotsupportthisfunctionGlobalConstSIO_ABORT_WRITE=-11′Writehasblocked,anduserabortwriteDeclareFunctionsio_openLib″PComm.dll″(ByValPortGlobalConstSIO_WRITETIMEOUT=-12′WriteAsLong)AsLongtimeouehashappenedDeclareFunctionsio_closeLib″PComm.dll″(ByValPort  AsLong)AsLong′FiletransfererrorcodeDeclareFunctionsio_ioctlLib″PComm.dll″(ByValPortGlobalConstSIOFT_OK=0AsLong,ByValbaudAsLong,ByValmodeAsLong)AsGlobalConstSIOFT_BADPORT=-1′NosuchLongportorportnotopenDeclareFunctionsio_flowetrlLib″PComm.dll″(ByValGlobalConstSIOFT_TIMEOUT=-2′ProtocolPortAsLong,ByValmodeAsLong)AsLongtimeoutDeclareFunctionsio_flushLib″PComm.dll″(ByValPortGlobalConstSIOFT_ABORT=-3′UserkeyAsLong,ByValfuncAsLong)AsLongabortDeclareFunctionsio_DTRLib″PComm.dll″(ByValPortAsLong,ByValmodeAsLong)AsLongPortAsLong)AsLongDeclareFunctionsio_RTSLib″PComm.dll″(ByValPortDeclareFunctionsio_iqueueLib″PComm.dll″(ByValAsLong,ByValmodeAsLong)AsLongPortAsLong)AsLongDeclareFunctionsio_lctrlLib″PComm.dll″(ByValPortDeclareFunctionsio_oqueueLib″PComm.dll″(ByValAsLong,ByValmodeAsLong)AsLongPortAsLong)AsLongDeclareFunctionsio_baudLib″PComm.dll″(ByValPortDeclareFunctionsio_Tx_holdLib″PComm.dll″(ByValAsLong,ByValspeedAsLong)AsLongPortAsLong)AsLongDeclareFunctionsio_getchLib″PComm.dll″(ByValPortDeclareFunctionsio_getbaudLib″PComm.dll″(ByValAsLong)AsLongPortAsLong)AsLongDeclareFunctionsio_readLib″PComm.dll″(ByValPortDeclareFunctionsio_getmodeLib″PComm.dll″(ByValAsLong,ByRefbufAsByte,ByVallengthAsLong)AsPortAsLong)AsLongLongDeclareFunctionsio_getflowLib″PComm.dll″(ByValDeclareFunctionsio_linputLib″PComm.dll″(ByValPortAsLong)AsLongPortAsLong,ByRefbufAsByte,ByVallengthAsLong,DeclareFunctionsio_data_statusLib″PComm.dll″ByValTermAsLong)AsLong(ByValPortAsLong)AsLongDeclareFunctionsio_putchLib″PComm.dll″(ByValPortDeclareFunctionsio_term_irqLib″PComm.dll″(ByValAsLong,ByValTermAsLong)AsLongPortAsLong,ByValfuncAsLong,ByValcodeAsByte)DeclareFunctionsio_putbLib″PComm.dll″AliasAsLong″sio_write″(ByValPortAsLong,ByRefbufAsByte,DeclareFunctionsio_cnt_irqLib″PComm.dll″(ByValByVallengthAsLong)AsLongPortAsLong,ByValfuncAsLong,ByValcountAsLong)DeclareFunctionsio_writeLib″PComm.dll″(ByValPortAsLongAsLong,ByRefbufAsByte,ByVallengthAsLong)AsDeclareFunctionsio_modem_irqLib″PComm.dll″Long(ByValPortAsLong,ByValfuncAsLong)AsLongDeclareFunctionsio_putb_xLib″PComm.dll″(ByValDeclareFunctionsio_break_irqLib″PComm.dll″(ByValPortAsLong,ByRefbufAsByte,ByVallengthAsLong,PortAsLong,ByValfuncAsLong)AsLongByValtickAsLong)AsLongDeclareFunctionsio_Tx_empty_irqLib″PComm.dll″DeclareFunctionsio_putb_x_exLib″PComm.dll″(ByValPortAsLong,ByValfuncAsLong)AsLong(ByValPortAsLong,ByRefbufAsByte,ByVallengthDeclareFunctionsio_breakLib″PComm.dll″(ByValPortAsLong,ByValtmsAsLong)AsLongAsLong,ByValtimeAsLong)AsLongDeclareFunctionsio_lstatusLib″PComm.dll″(ByValDeclareFunctionsio_viewLib″PComm.dll″(ByValPortAsLong,ByRefbufAsByte,ByVallengthAsLong)AsDeclareFunctionsio_FtXmodemCheckSumTxLibLong″PComm.dll″(_DeclareFunctionsio_TxLowWaterLib″PComm.dll″ByValPortAsLong,ByValfnameAsString,ByVal(ByValPortAsLong,ByValsizeAsLong)AsLongfuncAsLong,ByValkeyAsLong_DeclareFunctionsio_AbortWriteLib″PComm.dll″)AsLong(ByValPortAsLong)AsLongDeclareFunctionsio_AbortReadLib″PComm.dll″DeclareFunctionsio_FtXmodemCheckSumRxLib(ByValPortAsLong)AsLong″PComm.dll″(_DeclareFunctionsio_SetWriteTimeoutsLib″PComm.dll″ByValPortAsLong,ByValfnameAsString,ByVal(ByValPortAsLong,ByValtimeoutsAsLong)AsLongfuncAsLong,ByValkeyAsLong_DeclareFunctionsio_GetWriteTimeoutsLib)AsLong″PComm.dll″(ByValPortAsLong,ByRefTotalTimeoutsAsLong)AsLongDeclareFunctionsio_FtXmodemCRCTxLibDeclareFunctionsio_SetReadTimeoutsLib″PComm.dll″″PComm.dll″(_(ByValPortAsLong,ByValTotalTimeoutsAsLong,ByValPortAsLong,ByValfnameAsString,ByValByValIntervalTimeoutsAsLong)AsLongfuncAsLong,ByValkeyAsLong_DeclareFunctionsio_GetReadTimeoutsLib″PComm.dll″)AsLong(ByValPortAsLong,ByRefTotalTimeoutsAsLong,ByRefInterfalTimeoutsAsLong)AsLongDeclareFunctionsio_FtXmodemCRCRxLib  ″PComm.dll″(_DeclareFunctionsio_FtASCIITxLib″PComm.dll″(_ByValPortAsLong,ByValfnameAsString,ByVal  ByValPortAsLong,ByValfnameAsString,ByValfuncAsLong,ByValkeyAsLong_funcAsLong,ByValkeyAsLong_)AsLong)AsLong  DeclareFunctionsio_FtXmodemlKCRCTxLibDeclareFunctionsio_FtASCIIRxLib″PComm.dll″(_″PComm.dll″(_  ByValPortAsLong,ByValfnameAsString,ByValByValPortAsLong,ByValfnameAsString,ByValfuncAsLong,ByValkeyAsLong,ByValsecAsLong_funcAsLong,ByValkeyAsLong_)AsLong)AsLongDeclareFunctionsio_FtXmodemlKCRCRxLibByValPortAsLong,ByReffnameAsLong,ByVal″PComm.dll″(_fnoAsLong,ByValfuncAsLong,ByValkeyAsLong_  ByValPortAsLong,ByValfnameAsString,ByVal)AsLongfuncAsLong,ByValkeyAsLong_)AsLongDeclareFunctionsio_FtYmodemTxLib″PComm.dll″(_  ByValPortAsLong,ByValfnameAsString,ByValfuncAsLong,ByValkeyAsLong)AsLongDeclareFunctionsio_FtYmodemRxLib″PComm.dll″(_  ByValPortAsLong,ByReffnameAsLong,ByValfnoAsLong,ByValfuncAsLong,ByValkeyAsLong_)AsLongDeclareFunctionsio_FtZmodemTxLib″PComm.dll″(_  ByValPortAsLong,ByValfnameAsString,ByValfuncAsLong,ByValkeyAsLong_)AsLongDeclareFunctionsio_FtZmodemRxLib″PComm.dll″(_  ByValPortAsLong,ByReffnameAsLong,ByValfnoAsLong,ByValfuncAsLong,ByValkeyAsLong_)AsLongDeclareFunctionsio_FtKermitTxLib″PComm.dll″(_  ByValPortAsLong,ByValfnameAsString,ByValfuncAsLong,ByValkeyAsLong_)AsLongDeclareFunctionsio_FtKermitRxLib″PComm.dll″(_]]></pre>權(quán)利要求1.一種智能農(nóng)機(jī)載高光譜采集方法,包括用GPS確定農(nóng)機(jī)的位置,用傳感器實(shí)時(shí)獲得作物和農(nóng)田各種信息,用微型計(jì)算機(jī)記錄、分析信息,發(fā)送相應(yīng)的控制指令,其特征在于1)采用差分GPS25-lvsOEM板定位,差分GPS25-lvsOEM板通過RS-232口或RS-232&amp;USB轉(zhuǎn)換器與微型計(jì)算機(jī)或筆記本電腦相連,在采集土壤樣品時(shí),利用GPS接收機(jī)在計(jì)算機(jī)柵格地圖內(nèi)定位,記錄采集點(diǎn)的準(zhǔn)確位置,樣品采集完后,在實(shí)驗(yàn)室對樣品進(jìn)行分析化驗(yàn),得到相應(yīng)的土壤屬性數(shù)據(jù),并添加到該柵格圖層中;2)利用拖拉機(jī)懸掛光譜儀,采用MSR16R型便攜式光譜儀實(shí)現(xiàn)作物冠層高光譜實(shí)時(shí)監(jiān)測,光譜儀通過RS-232或RS-232&amp;USB轉(zhuǎn)換器與微型計(jì)算機(jī)或筆記本電腦相連,利用VisualBasic6.0和pccomm.dll動(dòng)態(tài)鏈接庫,設(shè)計(jì)串行通訊程序,計(jì)算機(jī)從光譜儀中讀取采集到的作物冠層目標(biāo)光譜多波段信息,同時(shí)從GPS中讀取該光譜數(shù)據(jù)的空間時(shí)間信息,并完成相關(guān)數(shù)據(jù)的解析,軟件設(shè)計(jì)中采用事件觸發(fā)方式監(jiān)視計(jì)算機(jī)串口緩沖區(qū),當(dāng)緩沖區(qū)有數(shù)據(jù)時(shí),會(huì)自動(dòng)觸發(fā)該事件讀取數(shù)據(jù),接收光譜儀和GPS傳來的實(shí)時(shí)數(shù)據(jù),實(shí)時(shí)傳送設(shè)備控制指令,MSR16R便攜式光譜儀的原始數(shù)據(jù)按照CropScanINC提供的算式進(jìn)行轉(zhuǎn)換獲得作物冠頂光譜反射率R;3)利用MapObjectsOCX控件實(shí)現(xiàn)農(nóng)田地理信息系統(tǒng)GIS管理模塊用SQL語句查找相應(yīng)的地圖要素,將DGPS接受的位置信息投影到平面坐標(biāo)系統(tǒng)上;實(shí)現(xiàn)圖層在不同投影和坐標(biāo)系之間相互轉(zhuǎn)換;利用MapObjects的Trackinglayer動(dòng)態(tài)顯示農(nóng)機(jī)具運(yùn)動(dòng)軌跡和各圖層上與定位點(diǎn)相對應(yīng)的點(diǎn)的屬性數(shù)據(jù);利用Maplay.AddRelate自動(dòng)完成具有定位信息的光譜數(shù)據(jù)表與圖層的關(guān)聯(lián);利用GPS電子地圖坐標(biāo)轉(zhuǎn)換算法,把動(dòng)點(diǎn)坐標(biāo)從WGS-84坐標(biāo)系轉(zhuǎn)換到北京1954_GK坐標(biāo)下;利用MapObjects把圖層原始坐標(biāo)系轉(zhuǎn)換為WGS-84坐標(biāo)系,在外部數(shù)據(jù)庫與圖層關(guān)聯(lián)中,首先將GPS傳遞的定位信息在圖層中定位,并讀取FeatureId值,并把FeatureId值、轉(zhuǎn)換后的光譜數(shù)據(jù)和定位信息存儲(chǔ)到數(shù)據(jù)庫中,獲得一一對應(yīng)的地理定位信息、土壤屬性數(shù)據(jù)和光譜數(shù)據(jù)。全文摘要本發(fā)明基于GPS的智能農(nóng)機(jī)載高光譜采集方法,屬于高密度獲取農(nóng)田信息的技術(shù)方法,專用于精確農(nóng)業(yè)生產(chǎn)技術(shù)的動(dòng)態(tài)監(jiān)測。本系統(tǒng)利用VisualBasic和MapObjects對GPS、GIS和RS進(jìn)行有機(jī)集成,一方面系統(tǒng)通過集成GPS,能為采集到的光譜數(shù)據(jù)提供高精度的空間位置屬性,實(shí)現(xiàn)光譜數(shù)據(jù)采集、定位和存儲(chǔ)一體化;另一方面通過集成GIS,實(shí)現(xiàn)了具有空間屬性的光譜數(shù)據(jù)可視化管理和分析處理,實(shí)時(shí)地顯示動(dòng)點(diǎn)軌跡、各圖層對應(yīng)點(diǎn)屬性,計(jì)算作物微分光譜和植被指數(shù)NDVI等功能,為專家系統(tǒng)和決策支持系統(tǒng)提供充足的信息。文檔編號(hào)G06F19/00GK1614392SQ20041000991公開日2005年5月11日申請日期2004年11月30日優(yōu)先權(quán)日2004年11月30日發(fā)明者潘劍君,李志偉,張佳寶,呂雄杰,陳坤杰申請人:南京農(nóng)業(yè)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1