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

news2024/11/26 12:30:53

论文名称: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

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

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

相关文章

hot100 -- 链表(中)

不要觉得力扣核心代码模式麻烦,它确实比不上ACM模式舒服,可以自己处理输入输出 只是你对 链表 和 return 的理解不到位 👂 ▶ 屿前世 (163.com) 👂 ▶ see you tomorrow (163.com) 目录 🎂两数相加 🚩删…

android不同版本(支持>10)获取当前连接的wifi名称

1、AndroidManifest.xml 配置权限 <uses-permission android:name"android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name"android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name&q…

Rust腐蚀服务器清档多教程

Rust腐蚀服务器清档多教程 大家好我是艾西&#xff0c;一个做服务器租用的网络架构师。上期教了大家怎么搭建服务器以及安装插件等那么随着大家自己架设服或是玩耍的时间肯定会有小伙伴想要去新增开区数量或是把原本的服务器进行一些调整等&#xff0c;那么今天主要聊的就是怎…

Cohere Command R+:企业级可扩展大模型

Command R 是一种最先进的 RAG 优化模型&#xff0c;旨在处理企业级工作负载&#xff0c;并首先在 Microsoft Azure 上提供 今天&#xff0c;我们推出了 Command R&#xff0c;这是我们最强大、可扩展的大型语言模型 &#xff08;LLM&#xff09;&#xff0c;专为在实际企业用…

tailwindcss在manoca在线编辑智能感知

推荐一下monaco-tailwindcss库&#xff0c;它实现在monaco-editor网页在线编辑器中对tailwindcss的智能感知提示&#xff0c;在利用tailwindcss实现html效果布局。非常的方便。 生成CSS

Maven POM元素解析(二)

一、parent <parent>元素包含定位此项目将从中继承的父项目所需的信息。注意&#xff1a;此元素的子元素不是插值的&#xff0c;必须作为文字值给定。 ElementTypeDescriptiongroupIdString要从中继承的父项目的组id。artifactIdString要从中继承的父项目的项目id。ver…

python零基础入门笔记【源源老师】

1. print() 输出 &#xff08;1&#xff09;认识英文单词 print: 输出&#xff08;2&#xff09;print() 的作用 print()&#xff1a;用于在控制台上输出你想要的内容。 &#xff08;3&#xff09;代码演示 举例1&#xff1a; 【注意&#xff1a;】用双引号包裹的&#xff0…

java创建线程池的方法

简介 线程池是一种用于管理和重用线程的机制&#xff0c;它可以有效地管理线程的创建和销毁&#xff0c;减少线程创建和销毁的开销&#xff0c;并且能够控制并发线程数量&#xff0c;避免资源耗尽和系统过载。Java 提供了java.util.concurrent 包来支持线程池的实现。 1.Threa…

java(网络编程)

什么是网络编程? 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信、网游对战、金融证券、国际贸易、邮件、等等 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输 Java中可以使用ja…

Qt | 事件第二节

Qt | 事件第一节书接上回 四、事件的接受和忽略 1、事件可以被接受或忽略,被接受的事件不会再传递给其他对象,被忽略的事件会被传递给其他对象处理,或者该事件被丢弃(即没有对象处理该事件) 2、使用 QEvent::accept()函数表示接受一个事件,使用 QEvent::ignore()函数表示…

fork()的一道面试题

前言&#xff1a;题源 #include <stdio.h> #include <sys/types.h> #include <unistd.h> #include <sys/wait.h> int main(void) {int i;for(i0; i<2; i){fork();printf("-");}wait(NULL);wait(NULL);return 0; }知道一点fork()这个系统…

移动硬盘盒支持PD充电:优势解析与实际应用探讨

随着科技的飞速发展&#xff0c;数据存储和传输的需求日益增长&#xff0c;移动硬盘盒作为便携式存储设备的重要载体&#xff0c;其功能和性能也在不断提升。近年来&#xff0c;越来越多的移动硬盘盒开始支持PD&#xff08;Power Delivery&#xff09;充电技术&#xff0c;这一…

【云计算】云数据中心网络(四):IPv6 网关

云数据中心网络&#xff08;四&#xff09;&#xff1a;IPv6 网关 1.什么是 IPv6 网关2.IPv6 网关设计思路3.IPv6 网关的主要应用场景3.1 IPv6 私网通信3.2 IPv6 互联网通信3.3 IPv6 互联网通信&#xff08;仅主动访问&#xff09; 1.什么是 IPv6 网关 2017 年&#xff0c;中国…

WordPress 多站点切换域名完整指南:详细步骤和注意事项

因为公司的需要&#xff0c;需要对 WordPress 多站点进行域名切换, 一开始我也找了相关的方案和教程&#xff0c;但是很可惜&#xff0c;国内这一块网上的资料几乎为0&#xff0c;所以我把实现的过程写了一篇文章分享出来&#xff0c;为后来的人铺路。 开始之前&#xff0c;先…

Linux三剑客之awk篇

目录 1、awk 1.1、awk参数 1.2、awk变量 1.3、awk分割符 1.3.1、FS 1.3.2、OFS 1.3.3、RS 1.3.4、ORS 1.3.5、NF 1.3.6、NR 1.3.7、FNR 1.3.8、FILENAME 1.3.9、ARGC与ARGV 1.4、自定义变量 1.5、printf格式化输出 1、awk 作用&#xff1a;具有强大的文本格式化…

软考 - 系统架构设计师 - 嵌入式真题

问题 1&#xff1a; &#xff08;1&#xff09;.HTML 静态化&#xff1a;可以实现对系统经常访问的页面进行静态化以提高系统访问的效率&#xff0c;但系统页面通常需要数据库中的用户信息和用户选择来动态显示&#xff0c;因此不适合采用。 HTML 静态化&#xff1a; 将动态生成…

20240416如何使用git对本地文件进行上传

0 写在前面 年前收到硕导消息要搭建一下github仓库&#xff0c;一直没倒出时间整理&#xff0c;如今终于有时间搭建&#xff0c;顺带解决出现的问题。 1 安装git 安装git这步比较简单&#xff0c;随手一搜就有很多教程。git的作用主要是一种媒介&#xff0c;连接本地主机与G…

CC工具箱使用指南:【三调三大类面积汇总表(一首歌听到卡带)】

一、简介 群友定制工具。 CC工具箱已经做了一个三大类面积汇总表&#xff0c;奈何大家的模板好像还是都有点不太一样。 群友提供的模板如下&#xff1a; 可以看到&#xff0c;这里的土地权属信息很多&#xff0c;有乡镇、村民委员会、村民小组&#xff0c;还有用地权属信息【…

Linux 指令之文件

1.开发背景 记录 linux 下对文件操作的指令 2.开发需求 记录常用的文件操作指令 3.开发环境 linux 操作系统&#xff0c;如果不支持需要查看是否存在对应的可执行文件 4.实现步骤 4.1 查找字符串 查找指定目录下包含指定的字符串 grep -rn "Timer frequency" .…

React间接实现一个动态组件逻辑

在开发一个浏览器插件的时候&#xff0c;用的plasmo框架和react支持的&#xff0c;里面使用react开发一个菜单功能&#xff0c;但是又不想使用react-router&#xff0c;所以就想着能不能使用一个很简单的方式做一个替代方案&#xff1f;那肯定是可以。 我在引入一个组件后&…