当前位置: 首页 > news >正文

【精读文献】Scientific data|2017-2021年中国10米玉米农田变化制图

论文名称:Mapping annual 10-m maize cropland changes in China during 2017–2021

第一作者及通讯作者:Xingang Li, Ying Qu

第一作者单位及通讯作者单位:北京师范大学地理学部

文章发表期刊:Scientific data》(中科院2区期刊|最新影响因子:9.8)

期刊平均审稿周期:16周

1.文章摘要

        在过去几年中,中国的玉米产量占世界玉米产量的近五分之一。绘制中国玉米农田分布图对确保全球粮食安全至关重要。尽管如此,中国仍有10米玉米农田地图无法获取,这限制了可持续农业的推广。在本文中,我们收集了大量样本,利用基于机器学习的分类框架,制作了2017年至2021年中国每年10米的玉米农田地图。为了克服植物的时间变化,该框架以Sentinel-2序列图像为输入,利用深度神经网络和随机森林作为分类器,以特定区域的方式绘制玉米地图。总体精度(OA)在0.87-0.95之间,估算的玉米种植面积与统计年鉴记录高度吻合(R²在0.83-0.95之间)。据我们所知,这是中国首份年度10米玉米地图,在很大程度上促进了以小农为主的中国农业可持续发展。 

2.研究背景及意义

        在过去的几年里,中国贡献了世界上近五分之一的玉米生产。绘制中国玉米农田分布对于确保全球粮食安全至关重要。尽管如此,仍然没有中国10米玉米农田地图,这限制了可持续农业的推进。了解中国玉米种植模式对于促进农业管理和确保粮食安全具有重要意义。

3.研究方法

3.1 研究区域

        本研究将中国的玉米种植区根据当地气候和耕作方式划分为北方、黄淮海、西南、西北和南方五个区域。根据《中国统计年鉴23-27》,这五个研究区覆盖了中国玉米种植面积的99.9%以上,如图1所示。

图片

图1|在中国收集的样本概况。不同的纹理背景代表不同的农业生态区,分为北方、西北、西南、黄淮海和南方。(a-e)分别表示样品在华北、黄淮海、西南、甘肃和新疆的分布。

3.2 玉米制图过程

        中国的农业景观主要由小农农田决定,农田的大小在很大程度上取决于农业生态和经济环境。在小规模农田中,很难根据从具有混合像素的 10 米空间分辨率图像中提取的纹理特征来识别作物类型。因此,本研究使用Sentinel-2 (S2)图像的时间序列数据作为分类模型的输入来提取分层时间表示。该框架的概述如图2所示,它包括以下四个主要步骤,即图像预处理、样本收集、分类和后处理。

图片

图2 本研究的玉米制图框架概述

        (1)图像预处理步骤包括波段选择(为了减少图像的光谱冗余,提高本文方法的效率,计算玉米样本上不同光谱的Pearson相关系数,去除相关性大于0.98的波段,如图3所示)、去云、多时相图像合成和样本的可视化插值(为了恢复被云覆盖的区域,使用每30天间隔的中位数合成了S2图像。然后,通过使用前一个月和后一个月的图像进行线性插值来填充缺失的像素)。

图片

图3|S2影像各波段的Pearson相关分析

        (2)第二步,本研究从2017 - 2021年五个玉米种植区收集了79255个地面真值标签。

图片

表1|样本在华北地区的分布 字母(a)为华北玉米种植区,希腊数字表示不同的样本采集方法。

图片

表2|样品在其他玉米种植区的分布,从(b)到(e)分别代表黄淮海、西南、甘肃省和新疆省的玉米种植区。

        (3)第三步是模型选择和地图生成,针对不同的区域选择不同的机器学习模型,得到多年玉米种植分布产品。为了防止过拟合,对于有足够样本的种植区(a),本研究提出了一种基于深度学习的模型来识别植物。对于样本有限的其他区域(b、c、d、e区)的植物,采用特定区域的随机森林模型进行植物分类。所提出的基于深度学习的玉米制图方法流程图如图4所示。网络体系结构主要包括两个模块,即特征提取和分类模块。

图片

图4|在玉米制图框架中提出的深度学习模型。“+” 和“x”分别表示逐点加法和乘法。

        (4)最后一步是后处理,通过半径为10m的圆形核多数滤波器去除斑点点,并用更粗分辨率的玉米图对玉米图进行掩膜处理。

4.研究结果

4.1 数据记录

        本研究生成了2017-2021年中国玉米种植区5张10米玉米农田图。数据记录在figshare中共享,这是一个用于发布研究数据的在线开放存取存储库。由于10米分辨率产品比较大,按照行政区划代码(adcode)进行了分离保存。该数据集由145个文件组成。文件的命名格式为'[adcode]_[year].tif ' 。

4.2 方法验证

        本研究从两个方面对生成的玉米图进行评价,即:(1)测试数据集的总体分类精度;(2)基于本文方法估算的玉米种植面积与统计年鉴中记录的玉米种植面积的一致性。

        (1)对于每个玉米种植区,采用验证集中OA最高的模型对测试集中的标签进行预测。不同区域的测试集大小分别为7266(a)、1024(b)、910(c)、500(d)和532(e)。使用四个矩阵,包括用户精度、生产者精度、总体精度和kappa系数,来评估生成地图的精度。深度学习模型和随机森林模型的评价结果如表3所示。可以观察到,5个区域的OAs在0.83-0.95之间变化。

图片

表3|各玉米产区模型性能总结。

        由于训练和测试样本不是在同一年获得的,因此由于物候变化,拟议框架的性能可能在不同年份有所不同。为了验证所提出框架的稳健性,在拥有多年样本的区域(a)进行了实验。如表4所示,本研究从2017年、2018年、2019年中选取两年,其中一年的样本作为训练数据,另一年的样本作为测试数据验证模型的性能。预测的精度略有下降(平均总体精度为0.85),但仍保持了较好的精度,证明了所提出框架的可行性。

图片

表4|使用不同年份的训练和测试数据集进行分类的准确性。

        (2)为了进一步评价所提出的框架,将年度玉米分布图得出的玉米种植面积与2017 - 2021年统计年鉴记录的玉米种植面积进行了比较。特别地,本研究将年度地图在GEE平台上重新投影为WGS 1984 Albers for North-ern Asia (EPSG: 102025),以确保面积单位与年鉴一致。如图5所示,平均决定系数(R²)为0.91,2020年最高为0.95。这些发现表明本研究的产品与统计年鉴记录一致。2017 - 2021年玉米地图的空间细节如图6所示。可以观察到,中国南部和西北部省份的准确性较差,因为这些省份的样本点数量较少。在样本点较多的东北和黄淮海地区,精度较高。这表明不确定性的程度主要是由样本点的数量引起的,这是数据驱动模型的局限性。在未来,其研究计划通过结合数据驱动模型和机制驱动模型来改进该方法。

图片

图5|2017年、2018年、2019年、2020年和2021年省级统计数据的玉米年图估算玉米种植面积。

图片

图6 2017 - 2021年玉米地图空间细节。

5.文章相关代码和数据链接

5.1 代码链接

https://github.com/lixinang/ChinaMaizeCls

5.2 数据链接

https://doi.org/10.6084/m9.figshare .22689751.v17

6.文章引用

Li, X., Qu, Y., Geng, H. et al. Mapping annual 10-m maize cropland changes in China during 2017–2021. Sci Data 10, 765 (2023). https://doi.org/10.1038/s41597-023-02665-3

相关文章:

【精读文献】Scientific data|2017-2021年中国10米玉米农田变化制图

论文名称:Mapping annual 10-m maize cropland changes in China during 2017–2021 第一作者及通讯作者:Xingang Li, Ying Qu 第一作者单位及通讯作者单位:北京师范大学地理学部 文章发表期刊:《Scientific data》&#xff08…...

高光谱图像修复笔记

目录 RetinexFormer 也有MST-plus-plus代码,分辨率可以调 MST-plus-plus github地址: WACV2023 DSTrans RetinexFormer GitHub - caiyuanhao1998/Retinexformer: "Retinexformer: One-stage Retinex-based Transformer for Low-light Image E…...

GPS定位原理及应用分析

一.定位原理 1.卫星定位(GPS,北斗导航) ①.硬件构成(24颗卫星,可构建一套导航系统) 为何是24颗卫星? 可以做到全球覆盖,同一地点地球上空可观测到4颗卫星。 …...

Java面试篇9——并发编程

并发编程知识梳理 提示,此仅为面试,若想对线程有跟完整了解,请点击这里 提示:直接翻到最后面看面试真题,上面的为详解 面试考点 文档说明 在文档中对所有的面试题都进行了难易程度和出现频率的等级说明 星数越多代表…...

[RK3399 Linux] 使用busybox 1.36.1制作rootfs

一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …...

JavaScript入门--循环

JavaScript入门--循环 一、for循环二、for in语句三、break语句四、continue语句五、while循环六、do-while语句一、for循环 先来看一个循环案例: for (i = 0; i < 5; i++) {...

【Delphi 爬虫库 1】GET和POST方法

文章目录 1.最简单的Get方法实现2.可自定义请求头、自定义Cookie的Get方法实现3.提取响应协议头4.Post方法实现单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时&#xff0c;可以选择自己烹饪食物、外出就餐&#xff0c;或者订外卖一样。在编程中&#…...

[leetcode] 快乐数 E

:::details 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…...

Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库

今天推荐一个可以快速开发 ChatGPT UI 界面的组件库&#xff0c;质量很高&#xff0c;拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库&#xff0c;和我之前推荐的很多通用型的 UI 组件库不同&#xff0c;Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…...

Java常用类 -- Random类

该类实例用于生成伪随机数的流 伪随机数&#xff1a;通过算法算出来的数&#xff0c;是假的随机数 &#xff08;一&#xff09;具体使用 public static void main(String[] args) { ​Random r new Random(); ​System.out.println("随机出int类型的数据" r.nextIn…...

Docker安装Kong网关

文章目录 一、kong是什么?二、搭建步骤1.搭建PostgreSQL2.搭建Kong网关2.1、制作镜像2.2、数据库初始化2.3、启动Kong网关一、kong是什么? Github地址:https://github.com/Kong/kong Kong是一个可扩展、开源的云原生API网关,可以在分布式环境中管理、监控和安全地发布API…...

spispispi

SPI C.. & C.. logic是SPI的控制逻辑&#xff0c;芯片内部进行地址锁存、数据读写等操作&#xff0c;都是由控制逻辑自动完成。控制逻辑的左边是SPI的通信引脚&#xff0c;这些引脚和主控芯片相连&#xff0c;主控芯片通过SPI协议&#xff0c;把指令和数据发送给控制逻辑&a…...

MySQL——创建和插入

一、插入数据 INSERT 使用建议; 在任何情况下建议列出列名&#xff0c;在 VALUES 中插入值时&#xff0c;注意值和列的意义对应关系 values 指定的值顺序非常重要&#xff0c;决定了值是否被保存到正确的列中 在指定了列名的情况下&#xff0c;你可以仅对需要插入的列给到…...

【BUG】element-ui表格中使用video标签,数据翻页,video中的视频仍然显示第一页的视频,没有重新加载

BUG描述 遇到一个问题&#xff0c;使用element-ui构建的管理端后台&#xff0c;表格里面每一行都有一个video标签&#xff0c;里面有视频&#xff0c;当我翻页了以后&#xff0c;视频不会重新加载&#xff0c;仍然显示的是第一页的视频&#xff0c;代码如下&#xff1a; <e…...

【JavaSE】你真的了解内部类吗?

前言 本篇会详细讲解内部类的四种形式&#xff0c;让你掌握内部类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …...

Vue3(二):报错调试,vue3响应式原理、computed和watch,ref,props,接口

一、准备工作调试 跟着张天禹老师看前几集的时候可能会遇到如下问题&#xff1a; 1.下载插件&#xff1a;Vue Language Features (Volar)或者直接下载vue-offical 2.npm run serve时运行时出现错误&#xff1a;Error: vitejs/plugin-vue requires vue (&#xff1e;3.2.13) …...

前端console用法分享

console对于前端人员来讲肯定都不陌生&#xff0c;相信大部分开发者都会使用console来进行调试&#xff0c;但它能做的绝不仅限于调试。 最常见的控制台方法 作为开发者&#xff0c;最常用的 console 方法如下&#xff1a; 控制台打印结果&#xff1a; 今天我分享的是一些 co…...

Matlab|电价型负荷需求响应(考虑电价变化)

程序复现来源于《计及需求响应消纳风电的电-热综合能源系统经济调度 》第四章内容。 一、原理 需求响应的基本原理是需求侧根据电力市场价格和电网要求改变其负荷需求以 获取一定的利益回报。其中 PDR 可通过直观的电价变化信号引导用户调节用电方式&#xff0c; 从而达到优…...

PySide QWebChannel实现Python与JS双向通信的前后端分离桌面应用

文章目录 一、前言二、实现方法1.前端部分2.后端部分3.依赖文件三、运行结果一、前言 以往开发桌面应用通常都是页面接口一起写,这样开发周期比较长,且页面样式不灵活,如果能把页面交给前端写的话,就可前后端并行开发桌面应用了,并且css语言灵活好用样式丰富。下面介绍一…...

清明三天,用Python赚了4万?

每年4月&#xff0c;是Python圈子里接私活的旺季&#xff0c;特别是在节假日这种数据暴增的时间段&#xff0c;爬虫采集、逆向破解类的私活订单会集中爆发&#xff0c;量大价高。几乎所有的圈内人都在趁着旺季接私活。 正好&#xff0c;我昨天就做了一单爬虫逆向私活&#xff…...

【C/C++笔试练习】read函数、虚拟存储、用户态、线程特点、缺页处理、调度算法、进程优先级、锁的使用、创建进程、不用加减乘除做加法、三角形

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;read函数&#xff08;2&#xff09;虚拟存储&#xff08;3&#xff09;用户态&#xff08;4&#xff09;线程特点&#xff08;5&#xff09;缺页处理&#xff08;6&#xff09;调度算法&#xff08;7&#xff09;进程优先…...

设计模式(021)行为型之访问者模式

访问者模式是一种行为型设计模式&#xff0c;它可以在不修改现有代码结构的情况下&#xff0c;为复杂的对象结构添加新的操作。该模式将数据结构和数据操作进行分离&#xff0c;使得数据结构可以独立于操作进行变化&#xff0c;同时也可以在不改变操作的前提下增加新的操作。 在…...

Linux中磁盘的分区,格式化,挂载和文件系统的修复

一.分区工具 1.分区工具介绍 fdisk 2t及以下分区 推荐 (分完区不保存不生效&#xff0c;有反悔的可能) gdisk 全支持 推荐 parted 全支持 不推荐 ( 即时生效&#xff0c;分完立即生效) 2.fdisk 分区,查看磁盘 格式:fdisk -l [磁盘设备] fdisk -l 查看…...

Android retrofit

目录 一.简介 二.基本使用 三.注解 四.转换器 五.适配器 六.文件上传与下载 一.简介 A type-safe HTTP client for Android and Java。封装了OkHttp&#xff0c;也是由Square公司贡献的一个处理网络请求的开源项目。 square/retrofit: A type-safe HTTP client for Andr…...

【C++风云录】五款 C++ 库的探索与应用:物联网、嵌入式与数据处理

提升你的C技能&#xff1a;五个关键库的使用与指南 前言 在今天的数字化世界里&#xff0c;C 作为一种强大且快速的编程语言&#xff0c;在各类复杂系统和应用的开发中扮演着重要角色。然而&#xff0c;单凭语言本身的能力&#xff0c;我们往往无法实现所有的功能需求&#x…...

Qt_30道常见面试题及答案

1. 简述 Qt 是什么&#xff1f; 答&#xff1a;Qt 是一个跨平台的应用程序开发框架&#xff0c;它提供了一系列的工具和库&#xff0c;用于开发图形用户界面&#xff08;GUI&#xff09;应用程序。 2. Qt 有哪些主要模块&#xff1f; 答&#xff1a;Qt 的主要模块包括 Qt Co…...

【vue】v-model 双向数据绑定

:value&#xff1a;单向数据绑定v-model&#xff1a;双向数据绑定 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…...

C#创建磁性窗体的方法:创建特殊窗体

目录 一、磁性窗体 二、磁性窗体的实现方法 (1)无标题窗体的移动 (2)Left属性 (3)Top属性 二、设计一个磁性窗体的实例 &#xff08;1&#xff09;资源管理器Resources.Designer.cs设计 &#xff08;2&#xff09;公共类Frm_Play.cs &#xff08;3&#xff09;主窗体 …...

Gateway 基本配置指南:构建高效的网络接入网关

简介&#xff1a; Gateway 是一个常用的网络接入网关&#xff0c;它可以帮助组织实现安全、可靠和高性能的网络连接。本文将介绍 Gateway 的基本配置&#xff0c;帮助读者了解如何正确配置和部署一个高效的 Gateway 网关。 1.网络拓扑规划&#xff1a; 在配置 Gateway 前&#…...

自定义类型: 结构体 (详解)

本文索引 一. 结构体类型的声明1. 结构体的声明和初始化2. 结构体的特殊声明3. 结构体的自引用 二. 结构体内存对齐1. 对齐规则2. 为啥存在对齐?3. 修改默认对齐值 三. 结构体传参四. 结构体实现位段1. 什么是位段?2. 位段的内存分配3. 位段的应用4. 位段的注意事项 ​ 前言:…...

新疆建设云网站报备/河南百度关键词优化排名软件

数据库连接池DBUtils是Python的一个用于实现数据库连接池的模块。安装进官网下载https://pypi.org/project/DBUtils/1.2/&#xff0c;然后安装&#xff1a;连接池有两种方式(1)模式一为每个线程创建连接&#xff0c;线程即使调用了close方法&#xff0c;也不会关闭&#xff0c;…...

网站论坛页怎么做/seo网站关键词快速排名

文章目录Numpy学习目标4.1 Numpy优势学习目标4.1.1 Numpy介绍4.1.2 ndarray介绍4.1.3 ndarray与Python原生list运算效率对比4.1.4 ndarray的优势4.1.4.1内存块风橙4.1.4.2 ndarray支持并行化运算&#xff08;向量化运算&#xff09;4.1.4.3效率远高于纯Python代码4.1.5小结4.2 …...

桂林网站制作公司/百度搜索引擎投放

在使用MyEclipse时候&#xff0c;右击“new”&#xff0c;选择”Servlet”就可以在项目中新建出servlet文件&#xff0c;相应地在工作空间目录以及tomcat文件夹中创建了对应.java和.class文件。然而通过脱离IDE环境&#xff0c;手动操作创建并运行servlet程序&#xff0c;会对原…...

一流的苏州网站建设/sem竞价是什么意思

最近本人也就遇到了这样的事情。星期一一上班&#xff0c;老板把我叫到办公室&#xff0c;给了我一张光盘&#xff0c;然后告诉我里面是一个MSSQL的数据库备份文件&#xff0c;让我给还原一下&#xff0c;最后还特别嘱咐我&#xff0c;这个数据文件特别重要&#xff0c;让我想尽…...

asp做的网站/怎么申请网站空间

非静态内部类&#xff1a; 成员内部类&#xff0c; 局部内部类、 匿名内部类。 会有对外部类的引用。这样内部类中耗时操作在用户频繁退出重启APP相关Activity时很容易导致内存泄漏。一、匿名内部类&#xff1a;Runnable1、泄漏版new Thread(new Runnable() { Overr…...

有哪些做课件的网站/新闻今日头条最新消息

论文地址&#xff1a;https://arxiv.org/pdf/1612.00593.pdf 摘要 点云是一种重要的几何数据结构。由于其无序性&#xff0c;大部分研究把这种数据转换成了有序的3D体素网格或者图片集合。然而&#xff0c;这会使数据不必要地大量增加&#xff0c;并导致问题。在本文中&#x…...