IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2020年全国各省、各个地级市、各县的10米分辨率的土地利用数据的制作方法与获取 -> 正文阅读

[Python知识库]2020年全国各省、各个地级市、各县的10米分辨率的土地利用数据的制作方法与获取

1.数据介绍

该数据来源是Esri公司基于10m哨兵影像数据,使用深度学习方法制作做的全球土地利用数据。该数据的数据精度总体精度为85%,混淆矩阵如下所示:
Esri数据总体精度为85%
Esri全球土地利用数据的影像数据的分布如下所示:
在这里插入图片描述
但该数据只能分块进行下载,没有制作按区划数据进行归纳。因此本人下载了全球的728景影像,并利用2021年的全国行政区划数据对其进行批量裁剪,最后得到了全国各省、各市、各县的土地利用数据,最后使用镶嵌工具获得每一个地区对应的一张tif影像。

2.数据的制作

2.1 数据制作流程图

使用Python制作裁剪与镶嵌脚本,对各省数据进行归纳。其中制作流程图如下所示:
在这里插入图片描述

2.2 数据的筛选

按照四至范围,选择覆盖了全国的分块影像数据,并将其放入同一个文件夹中。

2.3 数据的裁剪

使用rasterio模块读取tif,使用geopandas读取矢量的各个要素,并利用rasterio的clip函数对数据进行裁剪。裁剪脚本如下所示:

#引入模块包
import os
from osgeo import gdal, gdalconst
import rasterio as rio
import rasterio.mask
import rasterio
from tqdm import tqdm

def Land_Cover(Mask_PATH,Data_path,OutPut_path):
    tifPaths_folder_SHENG = os.listdir(Mask_PATH)
    for mask_path in tqdm(tifPaths_folder_SHENG):
        try:
            #省目录
            Land_Cover_SHENG_PATH = os.path.join(mask_path, Mask_PATH)
            #获得文件中的名字
            SHENG_PATH=Land_Cover_SHENG_PATH+"\\"+mask_path+"\\"+mask_path+".shp"
            #裁剪函数
            City = gpd.read_file(SHENG_PATH)
            Land_Cover = gpd.read_file(Data_path)
            City=City.to_crs(Land_Cover .crs)
            Sheng_Land_Cover= gpd.clip(Parking_shp,City)
            mkdir(OutPut_path+mask_path+"_2017年土地利用数据_10米分辨率")
            #保存文件SHP
            save_Land_Cover_path = OutPut_path + mask_path + "\\" + mask_path +"土地利用数据"+ ".tif"
            Sheng_Land_Cover.to_file(save_SHP_path)
        except:
            pass

2.4 数据的镶嵌

经过裁剪函数获得的数据可能有几个裁剪得到的数据,可以使用gdal模块包的Warp函数对每一个区域的数据进行镶嵌,获得该地区的一张完整的土地利用tif影像数据。镶嵌脚本如下所示:

#引入模块包
import os
from osgeo import gdal, gdalconst
import rasterio as rio
import rasterio.mask
import rasterio
from tqdm import tqdm

def mosaic_tif(tifPaths_folder)#tifPaths_folder是输入文件的文件夹路径
	# 循环目录
	for path in tqdm(tifPaths_folder):
	    Land_Cover_SMALL_PATH = os.path.join(tifPath, path)
	    for (pathname, dirs, files) in os.walk(Land_Cover__SMALL_PATH):
	        son_Paths_file=files
	    # 如果影像数量大于一
	    if len(son_Paths_file) >= 2:
	        Land_Cover_SMALL_PATH2=Land_Cover_SMALL_PATH+"\\"
	        # 循环子目录,进行镶嵌
	        #循环同一个文件下的tif文件
	        inputFiles = []
	        for path_small in son_Paths_file:
	            # 每一个栅格的路径
	            son_Paths_PATH = os.path.join(Land_Cover_SMALL_PATH2, path_small)
	            #读取影像
	            inputrasfile = gdal.Open(son_Paths_PATH, gdal.GA_ReadOnly)  # 读取影像
	            inputProj = inputrasfile.GetProjection()  # 获取坐标系
	            inputFiles.append(inputrasfile)  # 推入列表
	            options = gdal.WarpOptions(srcSRS=inputProj,  # 输入坐标系
	                                       dstSRS=inputProj,  # 输出坐标系
	                                       format='GTiff',  # 图像格式
	                                       resampleAlg=gdalconst.GRIORA_NearestNeighbour,  # 重采样算法,这里是双线性内插
	                                       dstNodata=Nodata,  # 缺省值
	                                       cutlineLayer=outline,  # 输出范围,这里可以是一个外轮廓shp数据
	                                       outputType=gdalconst.GDT_Int16)  # 数据类型,这里是有符号32位整型
	        #输出文件名
	        outputfilePath ="输出文件夹"+"\\"+path+"_Land_Cover_"+"_10m分辨率_Esri数据集"+".tif"
	        #写栅格
	        gdal.Warp(outputfilePath, inputFiles, options=options)  # 图像镶嵌	

2.5 数据的后处理

主要是将根据裁剪出来的文件移动到同名文件夹、为每一个文件添加说明文档以及行政区域数据。最后形成的文件夹如下所示:
在这里插入图片描述

3.数据展示与获取

3.1各省数据展示与获取

由于工作量非常巨大,制作不易,使用我的台式机从下载、裁剪与镶嵌一共花费了2天时间。我将下载链接放在下方:

贵州省_全省_土地利用数据_2020年_10米分辨率
在这里插入图片描述
上海市_全市_土地利用数据_2020年_10米分辨率
在这里插入图片描述
湖北省_全省_土地利用数据_2020年_10米分辨率
https://download.csdn.net/download/weixin_36396470/22357723
在这里插入图片描述
湖南省_全省_土地利用数据_2020年_10米分辨率

在这里插入图片描述
陕西省_全省_土地利用数据_2020年_10米分辨率
在这里插入图片描述
山东省_全省_土地利用数据_2020年_10米分辨率
在这里插入图片描述
北京市_全市_土地利用数据_2020年_10米分辨率
在这里插入图片描述
福建省_全省_土地利用数据_2020年_10米分辨率
在这里插入图片描述
吉林省_全省_土地利用数据_2020年_10米分辨率
在这里插入图片描述
广西壮族自治区_土地利用数据_2020年_10米分辨率

其他数据暂不做展示,未展示省份的数据1下载链接如下:
山西省_全省_土地利用数据_2020年_10米分辨率
天津市全市_土地利用数据_2020年_10米分辨率
宁夏回族自治区_土地利用数据_2020年_10米分辨率
广东省_全省_土地利用数据_2020年_10米分辨率
海南省_全省_土地利用数据_2020年_10米分辨率
河北省_全省_土地利用数据_2020年_10米分辨率
河南省_全省_土地利用数据_2020年_10米分辨率
江苏省_全省_土地利用数据_2020年_10米分辨率
江西省_全省_土地利用数据_2020年_10米分辨率
安徽省_全省_土地利用数据_2020年_10米分辨率
辽宁省_全省_土地利用数据_2020年_10米分辨率

3.2 各个地级市与县的土地利用数据获取

如果需要各个地级市、县的土地利用数据,请在下载资源栏搜索区域名字+土地利用数据,作者选择:锐多宝的地理空间即可。
在这里插入图片描述
由于该数据工作量巨大,本人耗费了巨大的时间成本在写代码与处理数据中,因此没有设置为免费。
如果你是学生,并且迫切需要数据,请在评论区留言或者私信,我会每天下班后逐一回复该区域的百度云下载链接(仅限于市、县级别的土地利用数据)。

相关推文:
2017年全国各省10米分辨率的土地利用数据的制作与分享

引用:Karra, Kontgis, et al. “Global land use/land cover with Sentinel-2 and deep learning.” IGARSS 2021-2021 IEEE International Geoscience and Remote Sensing Symposium. IEEE, 2021.

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:07:15  更:2021-09-12 13:08:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:36:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码