Python + Google Earth Engine

如何清理巴西任何 Shapefile 的 MapBiomas LULC 栅格图 1:AC 波尔图阿克里的土地利用和土地覆盖(1985-2022 年)。自制,使用 MapBiomas LULC Collection 8。如果您曾经处理过巴西的土地使用数据,那么您肯定遇到过 MapBiomas²。他们的遥感团队开发了一种算法,用于对巴西(现在包括南美洲和印度尼西亚大部分地区)每块 30m x 30m 领土的土地使用进行分类。九年后,他们提供了各种产品,包括 MapBiomas LCLU(我们将在这里探索)、MapBiomas Fire、MapBiomas Water、MapBiomas Irrigation、MapBiomas Infrastructure 等。他们的最终产品以栅格形式提供。但它们究竟是什么?栅格是一种图像,其中每个像素都包含有关特定位置的信息。这些图像通常保存为 .tif 文件,可用于收集地理参考数据。例如,在 MapBiomas LCLU 中,每个像素都有一个代码,告诉我们该块土地的用途。有很多方法可以访问和使用它们。在本教程中,我们将学习如何使用 Google Earth Engine 的 Python API 保存、清理和绘制 MapBiomas 土地利用土地覆盖 (LULC) 栅格。首先,我们将针对一年中的单个位置演示此过程。然后,我们将构建可以以标准化方式在多年内为多个位置执行这些任务的函数。这只是访问 MapBiomas 资源的一种方法 — 其他方法可以在此处找到。这种方法很特别

来源:走向数据科学

# 1. 项目设置

# 1. 项目设置

首先,我们需要加载库。确保所有库都已正确安装。另外,我使用的是 Python 3.12.3。

## 1.1 加载库# 如果您需要安装任何库,请运行以下命令:# pip install library1 library2 library3 ...# 基本库import os # 用于文件操作import gc # 用于垃圾收集,可避免 RAM 内存问题import numpy as np # 用于处理矩阵import pandas as pd # 用于处理数据框import janitor # 用于数据清理(主要是列名)import numexpr # 用于快速 pd.query() 操作import inflection # 用于字符串操作import unidecode # 用于字符串操作# 地理空间库import geopandas as gpd # 用于处理形状文件import pyogrio # 用于快速 .gpkg 文件操作import ee # 用于 Google Earth Engine APIimport contextily as ctx # 用于基础地图import folium # 用于交互式地图# Shapely 对象和几何操作from shapely.geometry import mining, Polygon, Point, MultiPolygon, LineString # 用于几何操作#栅格数据操作和可视化导入 rasterio # 用于栅格操作从 rasterio.mask 导入 mask # 用于栅格数据操作从 rasterio.plot 导入 show # 用于栅格数据可视化# 绘图和可视化导入 matplotlib.pyplot 作为 plt # 用于绘图和数据可视化从 matplotlib.colors 导入 ListedColormap、Normalize # 用于颜色操作导入 matplotlib.colors 作为 colors # 用于颜色操作导入 matplotlib.patches 作为 mpatches # 用于创建 patch 对象导入 matplotlib.cm 作为 cm # 用于颜色图# 数据存储和操作导入 pyarrow # 用于高效的数据存储和操作# 视频制作从 moviepy.editor 导入 ImageSequenceClip # 用于创建视频(仅限第 4.7 节)- 如果您遇到问题,请检查:https://github.com/kkroening/ffmpeg-python

# 2. 单个示例:2022 年的 Acrelândia (AC)

# 2. 单个示例:2022 年的 Acrelândia (AC) Acrelândia (AC) Am Ac