当前位置: 首页 > 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…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...