geemap

geemap: A Python package for interactive mapping with Google Earth Engine - Published in JOSS (2020)

https://github.com/gee-community/geemap

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    5 of 59 committers (8.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary

Keywords

colab data-science dataviz earth-engine earthengine folium geospatial gis google-earth-engine image-processing ipyleaflet ipywidgets jupyter jupyter-notebook landsat mapping python remote-sensing streamlit streamlit-webapp

Keywords from Contributors

geoparquet geospatial-analysis leafmap plotly solara whiteboxtools cryptocurrencies pde hydrological mathematics

Scientific Fields

Political Science Social Sciences - 90% confidence
Last synced: 4 months ago · JSON representation

Repository

A Python package for interactive geospatial analysis and visualization with Google Earth Engine.

Basic Info
  • Host: GitHub
  • Owner: gee-community
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage: https://geemap.org
  • Size: 328 MB
Statistics
  • Stars: 3,733
  • Watchers: 114
  • Forks: 1,121
  • Open Issues: 14
  • Releases: 157
Topics
colab data-science dataviz earth-engine earthengine folium geospatial gis google-earth-engine image-processing ipyleaflet ipywidgets jupyter jupyter-notebook landsat mapping python remote-sensing streamlit streamlit-webapp
Created almost 6 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing Funding License Code of conduct

README.md

geemap

Open in Colab Open in Binder Open In Studio Lab image image Conda Recipe image Conda Downloads image image image image pre-commit.ci status

logo

A Python package for interactive geospatial analysis and visualization with Google Earth Engine

Join our Discord server 👇

Acknowledgment: The geemap project is supported by the National Aeronautics and Space Administration (NASA) under Grant No. 80NSSC22K1742 issued through the Open Source Tools, Frameworks, and Libraries 2020 Program.

Announcement

The book Earth Engine and Geemap: Geospatial Data Science with Python, written by Qiusheng Wu, has been published by Locate Press in July 2023. If you're interested in purchasing the book, please visit this URL: https://locatepress.com/book/gee.

book

Introduction

Geemap is a Python package for interactive geospatial analysis and visualization with Google Earth Engine (GEE), which is a cloud computing platform with a multi-petabyte catalog of satellite imagery and geospatial datasets. During the past few years, GEE has become very popular in the geospatial community and it has empowered numerous environmental applications at local, regional, and global scales. GEE provides both JavaScript and Python APIs for making computational requests to the Earth Engine servers. Compared with the comprehensive documentation and interactive IDE (i.e., GEE JavaScript Code Editor) of the GEE JavaScript API, the GEE Python API has relatively little documentation and limited functionality for visualizing results interactively. The geemap Python package was created to fill this gap. It is built upon ipyleaflet and ipywidgets, and enables users to analyze and visualize Earth Engine datasets interactively within a Jupyter-based environment.

Geemap is intended for students and researchers, who would like to utilize the Python ecosystem of diverse libraries and tools to explore Google Earth Engine. It is also designed for existing GEE users who would like to transition from the GEE JavaScript API to Python API. The automated JavaScript-to-Python conversion module of the geemap package can greatly reduce the time needed to convert existing GEE JavaScripts to Python scripts and Jupyter notebooks.

For video tutorials and notebook examples, please visit the examples page. For complete documentation on geemap modules and methods, please visit the API Reference.

If you find geemap useful in your research, please consider citing the following papers to support my work. Thank you for your support.

  • 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)

Check out the geemap workshop presented at the GeoPython Conference 2021. This workshop gives a comprehensive introduction to the key features of geemap.

geemap workshop

Key Features

Below is a partial list of features available for the geemap package. Please check the examples page for notebook examples, GIF animations, and video tutorials.

  • Convert Earth Engine JavaScripts to Python scripts and Jupyter notebooks.
  • Display Earth Engine data layers for interactive mapping.
  • Support Earth Engine JavaScript API-styled functions in Python, such as Map.addLayer(), Map.setCenter(), Map.centerObject(), Map.setOptions().
  • Create split-panel maps with Earth Engine data.
  • Retrieve Earth Engine data interactively using the Inspector Tool.
  • Interactive plotting of Earth Engine data by simply clicking on the map.
  • Convert data format between GeoJSON and Earth Engine.
  • Use drawing tools to interact with Earth Engine data.
  • Use shapefiles with Earth Engine without having to upload data to one's GEE account.
  • Export Earth Engine FeatureCollection to other formats (i.e., shp, csv, json, kml, kmz).
  • Export Earth Engine Image and ImageCollection as GeoTIFF.
  • Extract pixels from an Earth Engine Image into a 3D numpy array.
  • Calculate zonal statistics by group.
  • Add a customized legend for Earth Engine data.
  • Convert Earth Engine JavaScripts to Python code directly within Jupyter notebook.
  • Add animated text to GIF images generated from Earth Engine data.
  • Add colorbar and images to GIF animations generated from Earth Engine data.
  • Create Landsat timelapse animations with animated text using Earth Engine.
  • Search places and datasets from Earth Engine Data Catalog.
  • Use timeseries inspector to visualize landscape changes over time.
  • Export Earth Engine maps as HTML files and PNG images.
  • Search Earth Engine API documentation within Jupyter notebooks.
  • Import Earth Engine assets from personal account.
  • Publish interactive GEE maps directly within Jupyter notebook.
  • Add local raster datasets (e.g., GeoTIFF) to the map.
  • Perform image classification and accuracy assessment.
  • Extract pixel values interactively and export as shapefile and csv.

Owner

  • Name: Google Earth Engine Community
  • Login: gee-community
  • Kind: organization
  • Email: google-earth-engine-developers@googlegroups.com

This organization contains content contributed by the Earth Engine developer community. This is not an officially supported Google product.

GitHub Events

Total
  • Create event: 51
  • Issues event: 43
  • Release event: 9
  • Watch event: 271
  • Delete event: 31
  • Issue comment event: 117
  • Push event: 156
  • Pull request review comment event: 82
  • Pull request review event: 104
  • Pull request event: 130
  • Fork event: 54
Last Year
  • Create event: 51
  • Issues event: 43
  • Release event: 9
  • Watch event: 274
  • Delete event: 31
  • Issue comment event: 117
  • Push event: 156
  • Pull request review comment event: 82
  • Pull request review event: 104
  • Pull request event: 130
  • Fork event: 54

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,654
  • Total Committers: 59
  • Avg Commits per committer: 28.034
  • Development Distribution Score (DDS): 0.209
Past Year
  • Commits: 157
  • Committers: 13
  • Avg Commits per committer: 12.077
  • Development Distribution Score (DDS): 0.643
Top Committers
Name Email Commits
Qiusheng Wu g****s@g****m 1,308
Nathaniel Schmitz s****l@g****m 67
Sufyan Abbasi s****y@g****m 34
slowy07 s****y@g****m 28
pre-commit-ci[bot] 6****] 25
karel k****l@k****m 22
kmarkert k****t@g****m 17
dependabot[bot] 4****] 13
Rambaud Pierrick 1****u 13
Justin Braaten j****e 13
Christian Clauss c****s@m****m 11
Kurt Schwehr s****r@g****m 11
eseras e****z@g****m 7
csaybar c****r@g****m 6
ppoon23 4****3 6
ere c****3@g****m 5
Oliver M. Lopez Valencia l****r@g****m 4
bengalin b****n@g****m 4
Oliver o****n@b****m 4
Aaron Zuspan 5****n 4
Fede Bello f****3@g****m 3
Ryan Prasad r****d@o****m 3
Tek Kshetri 3****n 3
Biplov Bhandari b****5@g****m 2
Byeong-Hyeok Yu 5****r 2
Cuong Ngo 5****p 2
Daniel S. Katz d****z@i****g 2
Jorge Garcia j****5@g****m 2
Krishnagopal Halder 1****s 2
unknown b****n@g****m 2
and 29 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 234
  • Total pull requests: 524
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 138
  • Total pull request authors: 33
  • Average comments per issue: 2.31
  • Average comments per pull request: 1.35
  • Merged pull requests: 481
  • Bot issues: 1
  • Bot pull requests: 47
Past Year
  • Issues: 35
  • Pull requests: 160
  • Average time to close issues: 3 days
  • Average time to close pull requests: 4 days
  • Issue authors: 28
  • Pull request authors: 16
  • Average comments per issue: 1.26
  • Average comments per pull request: 0.84
  • Merged pull requests: 135
  • Bot issues: 1
  • Bot pull requests: 26
Top Authors
Issue Authors
  • giswqs (40)
  • jdbcode (11)
  • zwy1502 (6)
  • caomy7 (4)
  • haydenclose (4)
  • jportolese (4)
  • schwehr (4)
  • ccsuehara (4)
  • 12rambau (4)
  • lwq-star (3)
  • SMYUCAS (3)
  • usereight8 (3)
  • benerain (3)
  • bw4sz (2)
  • spatialthoughts (2)
Pull Request Authors
  • giswqs (311)
  • naschmitz (51)
  • sufyanAbbasi (28)
  • dependabot[bot] (25)
  • pre-commit-ci[bot] (23)
  • schwehr (18)
  • jdbcode (15)
  • iamtekson (6)
  • slowy07 (6)
  • fede-bello (5)
  • aazuspan (4)
  • geonextgis (4)
  • bengalin (3)
  • osgeokr (3)
  • jgarcia525 (3)
Top Labels
Issue Labels
bug (149) Feature Request (59) help wanted (5) release (4) enhancement (3) cleanup (1) dependencies (1) github_actions (1)
Pull Request Labels
dependencies (27) github_actions (19) refactor (9) javascript (6) Feature Request (5) cleanup (5) enhancement (3) big-fix (2) bug (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 65,116 last-month
  • Total docker downloads: 1,346
  • Total dependent packages: 27
    (may contain duplicates)
  • Total dependent repositories: 164
    (may contain duplicates)
  • Total versions: 504
  • Total maintainers: 3
pypi.org: geemap

A Python package for interactive mapping using Google Earth Engine and ipyleaflet

  • Versions: 201
  • Dependent Packages: 23
  • Dependent Repositories: 137
  • Downloads: 65,116 Last month
  • Docker Downloads: 1,346
Rankings
Dependent packages count: 0.7%
Forks count: 1.3%
Dependent repos count: 1.3%
Stargazers count: 1.4%
Average: 1.4%
Downloads: 1.6%
Docker downloads count: 2.1%
Maintainers (3)
Last synced: 4 months ago
proxy.golang.org: github.com/gee-community/geemap
  • Versions: 201
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 4 months ago
conda-forge.org: geemap

A Python package for interactive geospatial analysis and visualization with Google Earth Engine.

  • Homepage: https://geemap.org
  • License: MIT
  • Latest release: 0.17.2
    published about 3 years ago
  • Versions: 99
  • Dependent Packages: 4
  • Dependent Repositories: 27
Rankings
Forks count: 4.8%
Dependent repos count: 7.0%
Stargazers count: 7.6%
Average: 8.0%
Dependent packages count: 12.5%
Last synced: 4 months ago
spack.io: py-geemap

A Python package for interactive mapping using Google Earth Engine and ipyleaflet.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 28.0%
Dependent packages count: 55.9%
Last synced: 4 months ago

Dependencies

.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/dependency-review.yml actions
  • actions/checkout v3 composite
  • actions/dependency-review-action v2 composite
.github/workflows/docs-build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/macos.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/ubuntu.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/windows.yml actions
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v2 composite
examples/heroku/requirements.txt pypi
  • geemap *
  • voila *
requirements.txt pypi
  • bqplot *
  • colour *
  • earthengine-api >=0.1.304
  • ee_extra >=0.0.10
  • eerepr >=0.0.4
  • ffmpeg-python *
  • folium >=0.11.0
  • gdown *
  • geeadd >=0.5.1
  • geocoder *
  • geojson *
  • ipyevents *
  • ipyfilechooser >=0.6.0
  • ipyleaflet >=0.17.0
  • ipytree *
  • ipywidgets <8.0.0
  • matplotlib *
  • numpy *
  • pandas *
  • pillow *
  • pycrs *
  • pyperclip *
  • pyshp >=2.1.3
  • python-box *
  • sankee >=0.1.0
  • scooby *
  • whiteboxgui >=0.6.0
  • xyzservices *
requirements_docs.txt pypi
  • bump2version *
  • coverage *
  • flake8 *
  • grip *
  • ipykernel *
  • livereload *
  • mkdocs *
  • mkdocs-git-revision-date-localized-plugin *
  • mkdocs-git-revision-date-plugin *
  • mkdocs-jupyter *
  • mkdocs-material *
  • mkdocs-pdf-export-plugin *
  • mkdocstrings *
  • mkdocstrings-crystal *
  • mkdocstrings-python-legacy *
  • nbconvert ==6.5.3
  • nbformat ==5.4.0
  • pip *
  • pygments *
  • pymdown-extensions *
  • sphinx *
  • tox *
  • twine *
  • watchdog *
  • wheel *
.github/workflows/docker-image.yml actions
  • actions/checkout v3 composite
.github/workflows/docker-publish.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
.github/workflows/installation.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
Dockerfile docker
  • jupyter/scipy-notebook latest build
environment.yml pypi
pyproject.toml pypi