利用遥感影像计算大蒜种植面积

news2024/12/23 20:21:57

大家对大蒜应该不陌生,近几年也经常以"蒜你狠"出现在大众视野。我国是世界大蒜的主要生产国、消费国和出口国,从事大蒜生产的蒜农达500万之多,大蒜产品也远销东南亚、东亚、中东、美洲、 欧洲等地区。大蒜的种植面积是大蒜市场行情的重要影响因素之一,利用遥感手段可以快速、直观的监测大蒜种植面积,本文介绍利用遥感影像量测大蒜种植面积的技术流程。

一、技术流程

             基于遥感技术监测大蒜种植面积的技术流程如下图所示:

图1.1基于遥感技术监测大蒜种植面积的技术流程图

(一)收集数据

      数据主要是遥感影像数据,其他的数据还可以包括矢量数据,土地利用分类数据、耕地数据等。

     遥感影像数据需要确定成像时间和空间分辨率,根据信息提取方法还需要考虑光谱分辨率。

  • 成像时间:根据大蒜生长周期,北方地区的蒜苗返青是在1月~4月份,选择这个时间段成像的影像数据比较合适。

  • 空间分辨率:由于大蒜的种植面积和范围不是很大,影像的空间分辨率至少15米。分辨率越高,越能识别大蒜。

  • 如果使用计算机自动分类方法,至少需要3个波段,并且包括红色和近红外波段。

 (二)数据处理

不同遥感图像需要采用不同处理流程,根据数据情况可以包括正射校正、图像配准、大气校正、图像融合、镶嵌与裁剪等。

(三)耕种信息提取

      耕种信息提取包括人工目视解译、计算机自动提取(监督分类、决策树、面向对象)等方法,如果有土地覆盖数据、耕地信息、实地观测等辅助信息可以提高提取精度。

(四)结果分析

      可以通过目视判读,或者利用验证样本对结果进行精度验证。通过统计结果得到种植面积等信息,如果有单产数据,可以粗略估算当年产量。

二、详细操作步骤

第一步:收集遥感数据

      山东省是我国最大的大蒜生产区,种植面积在 13. 3万公顷以上。以山东济宁市金乡县为中心,辐射成武、巨野、定陶、 单县、嘉祥、 鱼台、 微山等周边地区,形成我国最大的大蒜产区。

      这里选择选择免费的Landsat8遥感数据,分辨率为全色影像15米,覆盖金乡县及周边,包括2014年、2015年和2016年的影像,如下表所示:

数据

成像时间

LC81220362014080LGN00

2014年3月21日

LC81220362015019LGN00

2015年1月19日

LC81220362016070LGN00

2016年3月10日

注:同时也下载了LC81220362016038LGN00影像,通过目视对比,没有LC81220362016070LGN00影像更好区分大蒜。

       大蒜种植面积量测区域为山东济宁市金乡县。

第二步:Landsat8数据处理

         如下图为landsat8的处理步骤,由于三景landsat8成像时天气晴朗,后面的信息提取采用的是基于规则的面向对象提取方法,这里没有进行大气校正。如果成像天气有雾霾等因素影响,可以使用快速大气校正工具(QUick Atmospheric Correction——QUAC)进行大气校正,这样不同地物的NDVI差异较大,能提高分类精度。

图2.2 Landsat8数据处理

       下面以LC81220362016070LGN00数据处理为例、ENVI5.3.1中介绍整个处理步骤,其他版本类似,其他两个数据处理类似。

(1)打开LC81220362016070LGN00_MTL.txt和金乡县矢量文件。

(2)Landat8以RGB:swir1、NIR、Red组合显示。

(3)图层管理中,金乡县矢量图层上右键选择Zoom to Layer Extent,显示金乡县范围内的影像。

图2.3 显示金乡县范围内的影像。

(4)在Toolbox中,打开/Image Sharpening/NNDiffuse Pan Sharpening工具,

  • Input Low Resolution Raster:选择多光谱图像,在选择文件对话框中,单击Spatial Subset,在打开的缩微图上,单击第二个按钮"Use View Extent",以当前视图范围作为融合的空间子区。

  • Input Higth Resolution Raster:选择全色波段图像。

  • 其他参数默认。

     (5)选择输出路径和文件名。

(6)单击OK执行处理。

注:由于整景Landsat8范围较大,金乡县只占其中一小部分,使用Spatial Subset选择空间子区,可以减少运算量和文件大小。

图2.4 使用Spatial Subset选择空间子区

(7)在Toolbox中,打开/Regions of Interest/Subset Data from ROIs工具。

(8)在文件对话框中选择前面融合结果。在Spatial Subset via ROI Parameters面板中,设置Mask pixels outside of ROI?:Yes。

(9)设置输出路径和文件名。

(10)单击OK执行处理。

图2.5 Spatial Subset via ROI Parameters面板

最后得到金乡县15米的Landat8影像数据。

第三步:耕种信息提取

       如下图为大蒜耕种信息提取流程,使用面向对象信息提取方法。

(1)以RGB:swir1、NIR、Red组合显示上一步裁剪结果。该地区的冬天农作物主要为冬小麦和大蒜,在影像上的颜色比较好区分,如下图所示。

图2.6 面向对象提取大蒜种植面积流程图

(2)在Toolbox中,打开/Feature Extraction/Rule Based Feature Extraction Workflow工具。打开工作流的面板,选择待分类的影像(上一步裁剪结果)。

(3)切换到Custom Bands面板,有两个自定义波段,包括归一化植被指数或者波段比值,勾选Normalized Difference,自动选择band4和band5计算NDVI。单击Next。

图2.7 选择对话框

(4)在Object Creation面板中,设置分割阈值和合并阈值,勾选Preview预览分割和合并效果,通过目视判断,设置:

  • 分割阈值(Scale Level):20

  • 合并阈值(Merge Level):0

注:由于分割边缘是绿色,可在图层列表上右键选择Change RGB Bands…设置RGB:NIR、Red、Gree

(5)其他参数默认,单击Next。

(6)在Rule-based Classification面板中,点击

按钮,新建一个类别,在右侧Class properties下修改好类别的相应属性。在默认的属性Spectral Mean上单击,激活属性,右边出现属性选择面板,如下图所示。选择Spectral,Band下面选择Normalized Difference。在第一步自定义波段中选择的波段是红色和近红外波段,所以在此计算的是NDVI。通过拖动滑条或者手动输入确定阈值。勾选Preview可以预览不同阈值的提取结果。下面我们通过选择样本统计的方法获取分类阈值。

图2.8 Rule-based Classification面板

A、在图层管理器上,Region Mean右键打开View Metadata,复制Dataset的文件路径。

B、重新启动一个ENVI,打开前面复制的路径,同时打开金乡县15米的Landat8融合影像数据。

C、参考landsat15米融合结果影像,目视选择一部分大蒜区域的ROI,在图层管理器的ROI上右键选择Statistics,统计ROI对应的Normalized Difference值范围(Band8)。

注:ROI可以任意加载在多光谱影像或者Region Mean数据上。

(7)将上一步统计得到的阈值输入Normalized Difference属性中,勾选Preview预览提取结果,如果不合适,选择更多的ROI进行统计。

(8)单击Next按钮,在Export面板中,只选择Export Raster栅格输出。

同样的方法提取2015和2014年大蒜种植面积。

三、结果分析

       如下为提取三年的大蒜种植空间分布图。

图3.1 三年大蒜种植区遥感量测结果

       对栅格分类图进行统计,得到三年的种植面积量测结果如下表所示。

年份

影像数据

遥感量测结果

省农业厅网站公布结果(来源:金乡大蒜专业批发市场信息中心)

2014

2014年3月21日

75.2万亩

62.30万亩

2015

2015年1月19日

69.28万亩

53.6万亩

2016

2016年3月10日

75.77万亩

      遥感量测的结果跟网络公布的结果有较大的差别,但是从其他参考信息:"中华财险山东分公司相关负责人表示,该公司引入卫星遥感,全程监测金乡大蒜长势动态情况。遥感显示,2015年金乡大蒜种植面积69.01万亩"。公布的结果与本次遥感量测的结果相接近。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1621716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DRF: 序列化器、View、APIView、GenericAPIView、Mixin、ViewSet、ModelViewSet的源码解析

前言:还没有整理,后续有时间再整理,目前只是个人思路,文章较乱。 注意路径匹配的“/” 我们的url里面加了“/”,但是用apifox等非浏览器的工具发起请求时没有加“/”,而且还不是get请求,那么这…

el-popover放在el-table中点击无反应问题

我们想在table中给btn加弹框但是 el-popover点击按钮没有任何反应思考:通过插槽去添加这个组件el-popover的id是否绑定了一个值解决思路&#xff1a;给每个el-popover都加上单独的id 效果 &#xff1a; 代码 给每个组件都绑定ref <template slot-scope"scope"&g…

组合预测 | Matlab实现LSTM-XGBoost长短期记忆网络组合极限梯度提升树多输入单输出回归预测

组合预测 | Matlab实现LSTM-XGBoost长短期记忆网络组合极限梯度提升树多输入单输出回归预测 目录 组合预测 | Matlab实现LSTM-XGBoost长短期记忆网络组合极限梯度提升树多输入单输出回归预测效果一览基本描述模型描述代码实现参考资料效果一览 基本描述 组合预测 | Matlab实现L…

【性能测试】ChaosTesting(混沌测试)ChaosBlade(混沌实验工具)(四)-k8s容器混沌实验

5. 创建 kubernetes 相关的实验场景 5.0 blade create k8s 5.0.1 介绍 创建 kubernetes 相关的实验场景&#xff0c;除了使用 blade 命令创建场景外&#xff0c;还可以将实验使用 yaml 文件描述&#xff0c;使用 kubectl 命令执行。目前支持的实验场景如下&#xff1a; [bl…

【VueUse】重新定义状态管理在 Vue 中的体验

在 Vue 生态系统中&#xff0c;状态管理一直是开发者们关注的焦点之一。而随着 VueUse 的出现&#xff0c;我们迎来了一种全新的方式来处理状态管理&#xff0c;它让我们能够以更简单、更灵活的方式来管理应用程序的状态。 在本文中我们将深入探讨 VueUse 中与状态管理相关的内…

成功解决ImportError: cannot import name ‘builder‘ from ‘google.protobuf.internal

成功解决ImportError: cannot import name builder from google.protobuf.internal 目录 解决问题 解决思路 解决方法 解决问题 ImportError: cannot import name builder from google.protobuf.internal 解决思路 导入错误:无法从“google.protobuf.internal”导入名称“…

Vscode配置C/C++编程环境@配置C和CPP的运行和调试环境@配置过程的相关问题@中文文件名乱码@build和debug方案组合配置

文章目录 abstractgcc/g文档和用法常见用例 目录.vscode中的相关文件说明tasks.jsonlaunch.jsonc_cpp_properties.json IDE或编辑器配置vscode配置相关指令和快捷键默认task配置和取消默认 配置文件C/C共用一组tasks.json/launch.json文件?关于注释内容示例&#x1f47a;tasks…

【linux】进程地址被占用

在强制关闭一个udp程序后&#xff0c;重启该程序报错&#xff1a; bind error: Address already in use 查找并关闭占用端口的进程&#xff1a; 首先&#xff0c;确定哪个进程占用了目标端口。在Linux系统中&#xff0c;可以使用以下命令&#xff1a; netstat -tulnp | grep …

TensorFlow进阶二(高阶操作)

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

Flutter 上架如何解决 ITMS-91053 问题

最近&#xff0c;我的 Flutter App 发布到 TestFlight 后&#xff0c;就会收到一封邮件&#xff1a;The uploaded build for YOUR APP has one or more issues. 上面的邮件主要是说&#xff0c;我的 App 缺少了调用 API 的声明&#xff0c;以前从来没看到过&#xff0c;上网一查…

Python构建学生信息管理系统:构建RESTful API - 学生信息管理系统的后端逻辑

在之前的博客里&#xff0c;我们已经完成了项目初始化&#xff0c;在本篇博客中&#xff0c;我们将深入探讨如何使用Flask框架实现学生信息管理系统的后端逻辑&#xff0c;特别是通过RESTful API来实现学生信息的增删改查&#xff08;CRUD&#xff09;操作。 Flask RESTful AP…

传染病模型SIR及其变体(python版本)

文章目录 传染病模型及其变体1. SI模型1.1代码2. SIS模型2.1 代码3. 基本再生数 basic reproductive number4. SIR模型4.1 代码5. SEIR模型5.1 代码6. SEIJR模型6.1 代码7. SEIJRD模型7.1 代码传染病模型及其变体 1. SI模型 在该模型里面,群体中只有两种人:易感者和感染者。…

数据可视化-ECharts Html项目实战(14)

在之前的文章中&#xff0c;我们深入学习ECharts鼠标左键触发。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 数据可视化-ECharts Html项目实战&#xff08;…

Open-Sora:开源版的Sora

项目简介 本项目希望通过开源社区的力量复现Sora&#xff0c;由北大-兔展AIGC联合实验室共同发起&#xff0c;当前我们资源有限仅搭建了基础架构&#xff0c;无法进行完整训练&#xff0c;希望通过开源社区逐步增加模块并筹集资源进行训练&#xff0c;当前版本离目标差距巨大&…

java多功能手机

随着科技的发展&#xff0c;手机的使用已经普及到每个家庭甚至个人&#xff0c;手机的属性越来越强大&#xff0c;功能也越来越多&#xff0c;因此人们在生活中越来越依赖于手机。 任务要求&#xff0c;使用所学知识编写一个手机属性及功能分析程序设计&#xff0c;测试各个手机…

国产POL8903 LVDS转MIPI带旋转功能方案介绍

一、芯片简介 1、系统 高性能 MIPS 32bit CPU 内核&#xff1a; 高性能 DSP 内核图像处理单元 16KB指令 Cache 16KB数据 Cache 96KB片上 SRAM 内嵌DDR3控制器 2、 LVDS 输入 支持1或者2通道 LVDS 输入 支持最大1920x108060Hz输入 兼容 VESA 和 JEIDA 格式 通道内5条…

「ChatGPT」掀起新一轮AI热潮!超越GPT-4 Turbo,商汤日日新大升级!

目录 拳打 GPT-4 Turbo &#xff0c;脚踢 DALLE 3 端侧大模型&#xff0c;唯快不破 AI 应用落地需要一个即插即用的大模型超市 并不存在 AI 这个行业&#xff0c;只有 AI行业&#xff0c;强调 AI 需要与传统产业合作&#xff0c;这种关系是结合与赋能&#xff0c;而不是颠覆…

设计模式-状态模式在Java中的使用示例-信用卡业务系统

场景 在软件系统中&#xff0c;有些对象也像水一样具有多种状态&#xff0c;这些状态在某些情况下能够相互转换&#xff0c;而且对象在不同的状态下也将具有不同的行为。 为了更好地对这些具有多种状态的对象进行设计&#xff0c;我们可以使用一种被称之为状态模式的设计模式…

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD 请…

【注解和反射】获取类运行时结构

继上一篇博客【注解和反射】类加载器-CSDN博客 目录 七、获取类运行时结构 测试 getFields()和getDeclaredFields() getMethods()和getDeclaredMethods() 七、获取类运行时结构 获取类运行时结构通常指的是在Java等面向对象编程语言中&#xff0c;使用反射&#xff08;Ref…