geemap
一个用于与 Google Earth Engine 进行交互式地理空间分析和可视化的 Python 包
- GitHub 仓库: https://github.com/gee-community/geemap
- 文档: https://geemap.org
- PyPI: https://pypi.org/project/geemap
- Conda-forge: https://anaconda.org/conda-forge/geemap
- 360+ 个 GEE notebook 示例: https://github.com/giswqs/earthengine-py-notebooks
- YouTube 上的 GEE 教程: https://youtube.com/@giswqs
- 免费软件: MIT 许可证
加入我们的 Discord 服务器 👇
致谢: geemap 项目由美国国家航空航天局(NASA)通过 开源工具、框架和库 2020 计划 颁发的 80NSSC22K1742 号资助金支持。
公告
由 Qiusheng Wu 撰写的书籍 Earth Engine and Geemap: Geospatial Data Science with Python 已于 2023 年 7 月由 Locate Press 出版。如果您有兴趣购买该书,请访问此网址:https://locatepress.com/book/gee。

简介
Geemap 是一个用于交互式地理空间分析与可视化的 Python 包,基于 Google Earth Engine (GEE),这是一个拥有 多 PB 级卫星影像和地理空间数据集目录 的云计算平台。在过去几年中,GEE 在地理空间社区中变得非常流行,并在局部、区域和全球尺度上推动了众多环境应用。GEE 提供了 JavaScript 和 Python API,用于向 Earth Engine 服务器发起计算请求。与 GEE JavaScript API 全面的 文档 和交互式 IDE(即 GEE JavaScript Code Editor)相比,GEE Python API 的文档相对较少,且交互式可视化结果的功能有限。geemap Python 包的创建旨在填补这一空白。它基于 ipyleaflet 和 ipywidgets 构建,使用户能够在基于 Jupyter 的环境中交互式地分析和可视化 Earth Engine 数据集。
Geemap 面向希望利用 Python 生态系统中多样化的库和工具来探索 Google Earth Engine 的学生和研究人员。它也为希望从 GEE JavaScript API 过渡到 Python API 的现有 GEE 用户而设计。geemap 包的自动化 JavaScript 到 Python 转换模块 可以大大减少将现有 GEE JavaScript 转换为 Python 脚本和 Jupyter notebook 所需的时间。
有关视频教程和 notebook 示例,请访问 examples page。有关 geemap 模块和方法的完整文档,请访问 API Reference。
如果您发现 geemap 对您的研究有用,请考虑引用以下论文以支持我的工作。感谢您的支持。
- Wu, Q., (2020). geemap: A Python package for interactive mapping with Google Earth Engine. The Journal of Open Source Software, 5(51), 2305. https://doi.org/10.21105/joss.02305
- Wu, Q., Lane, C. R., Li, X., Zhao, K., Zhou, Y., Clinton, N., DeVries, B., Golden, H. E., & Lang, M. W. (2019). Integrating LiDAR data and multi-temporal aerial imagery to map wetland inundation dynamics using Google Earth Engine. Remote Sensing of Environment, 228, 1-13. https://doi.org/10.1016/j.rse.2019.04.015 (pdf | source code)
查看在 GeoPython Conference 2021 上展示的 geemap workshop。该 workshop 全面介绍了 geemap 的主要功能。
主要功能
以下是 geemap 包可用功能的列表(部分)。请查看 示例 页面以获取笔记本示例、GIF 动画和视频教程。
-
将 Earth Engine JavaScript 转换为 Python 脚本和 Jupyter notebook。
-
显示 Earth Engine 数据图层以进行交互式制图。
-
在 Python 中支持 Earth Engine JavaScript API 风格的函数,例如
Map.addLayer()、Map.setCenter()、Map.centerObject()、Map.setOptions()。 -
使用 Earth Engine 数据创建分屏地图。
-
使用 Inspector Tool 交互式获取 Earth Engine 数据。
-
只需在地图上点击即可交互式绘制 Earth Engine 数据。
-
在 GeoJSON 和 Earth Engine 之间转换数据格式。
-
使用绘图工具与 Earth Engine 数据进行交互。
-
使用 shapefiles 与 Earth Engine 交互,而无需将数据上传到个人的 GEE 账户。
-
将 Earth Engine FeatureCollection 导出为其他格式(即 shp、csv、json、kml、kmz)。
-
将 Earth Engine Image 和 ImageCollection 导出为 GeoTIFF。
-
从 Earth Engine Image 中提取像素到 3D numpy 数组。
-
按组计算区域统计量。
-
为 Earth Engine 数据添加自定义图例。
-
直接在 Jupyter notebook 中将 Earth Engine JavaScript 转换为 Python 代码。
-
为从 Earth Engine 数据生成的 GIF 图像添加动画文本。
-
为从 Earth Engine 数据生成的 GIF 动画添加颜色条和图像。
-
使用 Earth Engine 创建带有动画文本的 Landsat 时间序列动画。
-
从 Earth Engine Data Catalog 中搜索地点和数据集。
-
使用时间序列检查器可视化随时间变化的景观变化。
-
将 Earth Engine 地图导出为 HTML 文件和 PNG 图像。
-
在 Jupyter notebooks 中搜索 Earth Engine API 文档。
-
从个人账户导入 Earth Engine 资产。
-
直接在 Jupyter notebook 中发布交互式 GEE 地图。
-
将本地栅格数据集(例如 GeoTIFF)添加到地图中。
-
执行图像分类和精度评估。
-
交互式提取像素值并导出为 shapefile 和 csv。

