1.数据介绍
该数据来源是Esri公司基于10m哨兵影像数据,使用深度学习方法制作做的全球土地利用数据。该数据的数据精度总体精度为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米分辨率")
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)
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+"\\"
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,
outputType=gdalconst.GDT_Int16)
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.
|