{"id":13422103,"url":"https://github.com/gee-community/geemap","last_synced_at":"2026-10-19T00:49:43.366Z","repository":{"id":37047196,"uuid":"245837930","full_name":"gee-community/geemap","owner":"gee-community","description":"A Python package for interactive geospatial analysis and visualization with Google Earth Engine.","archived":false,"fork":false,"pushed_at":"2026-10-16T23:23:15.000Z","size":539155,"stargazers_count":4047,"open_issues_count":52,"forks_count":1157,"subscribers_count":110,"default_branch":"master","last_synced_at":"2026-10-18T19:36:17.971Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://geemap.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gee-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"accessibility":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"giswqs","custom":["buymeacoffee.com/giswqs"]}},"created_at":"2020-03-08T15:21:09.000Z","updated_at":"2026-10-18T19:15:02.000Z","dependencies_parsed_at":"2026-10-04T17:58:25.727Z","dependency_job_id":"968d31f3-bfc2-4eb4-b109-e5e31c3ebc96","html_url":"https://github.com/gee-community/geemap","commit_stats":{"total_commits":1530,"total_committers":57,"mean_commits":"26.842105263157894","dds":0.161437908496732,"last_synced_commit":"cef4d43fa2ef1958ba108b82ef5002f5250806a7"},"previous_names":["giswqs/geemap"],"tags_count":239,"template":false,"template_full_name":null,"purl":"pkg:github/gee-community/geemap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gee-community%2Fgeemap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gee-community%2Fgeemap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gee-community%2Fgeemap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gee-community%2Fgeemap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gee-community","download_url":"https://codeload.github.com/gee-community/geemap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gee-community%2Fgeemap/sbom","scorecard":{"id":421398,"data":{"date":"2025-08-11","repo":{"name":"github.com/gee-community/geemap","commit":"055b8dfa07e7a50cd799b1d9df32c1642668ccaf"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Maintained","score":10,"reason":"29 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":6,"reason":"Found 13/20 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:29","Info: jobLevel 'contents' permission set to 'read': .github/workflows/docker-image.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/docker-publish.yml:13","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:11","Warn: no topLevel permission defined: .github/workflows/docker-delete-pr-tags.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-image.yml:1","Warn: no topLevel permission defined: .github/workflows/docker-publish.yml:1","Warn: no topLevel permission defined: .github/workflows/docs-build.yml:1","Warn: no topLevel permission defined: .github/workflows/docs.yml:1","Warn: no topLevel permission defined: .github/workflows/installation.yml:1","Warn: no topLevel permission defined: .github/workflows/macos.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/ubuntu.yml:1","Warn: no topLevel permission defined: .github/workflows/windows.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-image.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-image.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-publish.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docker-publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs-build.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docs-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs-build.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docs-build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs-build.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docs-build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/installation.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/installation.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/installation.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/installation.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pypi.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/pypi.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ubuntu.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/ubuntu.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ubuntu.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/gee-community/geemap/windows.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4: pin your Docker image by updating quay.io/jupyter/base-notebook:latest to quay.io/jupyter/base-notebook:latest@sha256:8370819f642e83d0ca9c7f26c6e60580a920a69af80607888723b1784f6b1232","Warn: pipCommand not pinned by hash: Dockerfile:63-66","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:23","Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:29","Info:   0 out of  16 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  14 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-image.yml:13"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"12 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2022-249 / GHSA-9jmq-rx5f-8jwq","Warn: Project is vulnerable to: PYSEC-2013-9 / GHSA-4gv5-qhvr-36vv","Warn: Project is vulnerable to: PYSEC-2021-437 / GHSA-5xp3-jfq3-5q8x","Warn: Project is vulnerable to: PYSEC-2019-160 / GHSA-c5h8-cq4v-cvfm","Warn: Project is vulnerable to: PYSEC-2013-8 / GHSA-g3p5-fjj9-h8gj","Warn: Project is vulnerable to: PYSEC-2020-173 / GHSA-gpvv-69j7-gwj8","Warn: Project is vulnerable to: PYSEC-2023-228 / GHSA-mq26-g339-26xf","Warn: Project is vulnerable to: PYSEC-2023-117 / GHSA-mrwq-x4v8-fh7p","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T01:17:13.749Z","repository_id":37047196,"created_at":"2025-08-19T01:17:13.749Z","updated_at":"2025-08-19T01:17:13.749Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38344159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"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"],"created_at":"2024-07-30T23:00:36.959Z","updated_at":"2026-10-19T00:49:42.041Z","avatar_url":"https://github.com/gee-community.png","language":"Python","funding_links":["https://github.com/sponsors/giswqs","buymeacoffee.com/giswqs"],"categories":["Data Visualization","Science and Math","Python","Uncategorized"],"sub_categories":["Map","Scientific Computing","Uncategorized"],"readme":"# geemap\n\n[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/gee-community/geemap/blob/master)\n[![Open in Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gee-community/geemap/master?labpath=docs%2Fnotebooks%2F00_geemap_colab.ipynb)\n[![Open In Studio Lab](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/gee-community/geemap/blob/master/docs/notebooks/00_geemap_colab.ipynb)\n[![image](https://img.shields.io/pypi/v/geemap.svg)](https://pypi.python.org/pypi/geemap)\n[![image](https://static.pepy.tech/badge/geemap)](https://pepy.tech/project/geemap)\n[![Conda Recipe](https://img.shields.io/badge/recipe-geemap-green.svg)](https://github.com/conda-forge/geemap-feedstock)\n[![image](https://img.shields.io/conda/vn/conda-forge/geemap.svg)](https://anaconda.org/conda-forge/geemap)\n[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/geemap.svg)](https://anaconda.org/conda-forge/geemap)\n[![image](https://github.com/gee-community/geemap/workflows/docs/badge.svg)](https://geemap.org)\n[![image](https://img.shields.io/badge/YouTube-Channel-red)](https://youtube.com/@giswqs)\n[![image](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![image](https://joss.theoj.org/papers/10.21105/joss.02305/status.svg)](https://joss.theoj.org/papers/10.21105/joss.02305)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/gee-community/geemap/master.svg)](https://results.pre-commit.ci/latest/github/gee-community/geemap/master)\n\n[![logo](https://i.imgur.com/9OOSpDm.png)](https://github.com/gee-community/geemap/blob/master/docs/assets/logo.png)\n\n**A Python package for interactive geospatial analysis and visualization with Google Earth Engine**\n\n-   GitHub repo: \u003chttps://github.com/gee-community/geemap\u003e\n-   Documentation: \u003chttps://geemap.org\u003e\n-   PyPI: \u003chttps://pypi.org/project/geemap\u003e\n-   Conda-forge: \u003chttps://anaconda.org/conda-forge/geemap\u003e\n-   360+ GEE notebook examples: \u003chttps://github.com/giswqs/earthengine-py-notebooks\u003e\n-   GEE Tutorials on YouTube: \u003chttps://youtube.com/@giswqs\u003e\n-   Free software: [MIT license](https://opensource.org/licenses/MIT)\n\nJoin our Discord server 👇\n\n[![](https://dcbadge.limes.pink/api/server/https://discord.gg/UgZecTUq5P)](https://discord.gg/UgZecTUq5P)\n\n**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](https://bit.ly/3RVBRcQ).\n\n## Announcement\n\nThe book _**Earth Engine and Geemap: Geospatial Data Science with Python**_, written by [Qiusheng Wu](https://gishub.org), has been published by Locate Press in July 2023. If you're interested in purchasing the book, please visit this URL: \u003chttps://locatepress.com/book/gee\u003e.\n\n![book](https://images.geemap.org/book.png)\n\n## Introduction\n\n**Geemap** is a Python package for interactive geospatial analysis and visualization with [Google Earth Engine](https://earthengine.google.com/) (GEE), which is a cloud computing platform with a [multi-petabyte catalog](https://developers.google.com/earth-engine/datasets/) 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](https://developers.google.com/earth-engine) and interactive IDE (i.e., [GEE JavaScript Code Editor](https://code.earthengine.google.com/)) 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](https://github.com/jupyter-widgets/ipyleaflet) and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets), and enables users to analyze and visualize Earth Engine datasets interactively within a Jupyter-based environment.\n\n**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](https://github.com/gee-community/geemap/blob/master/geemap/conversion.py) of the geemap package can greatly reduce the time needed to convert existing GEE JavaScripts to Python scripts and Jupyter notebooks.\n\nFor video tutorials and notebook examples, please visit the [examples page](https://github.com/gee-community/geemap/tree/master/examples). For complete documentation on geemap modules and methods, please visit the [API Reference](https://geemap.org/geemap/).\n\nIf you find geemap useful in your research, please consider citing the following papers to support my work. Thank you for your support.\n\n-   Wu, Q., (2020). geemap: A Python package for interactive mapping with Google Earth Engine. The Journal of Open Source Software, 5(51), 2305. \u003chttps://doi.org/10.21105/joss.02305\u003e\n-   Wu, Q., Lane, C. R., Li, X., Zhao, K., Zhou, Y., Clinton, N., DeVries, B., Golden, H. E., \u0026 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. \u003chttps://doi.org/10.1016/j.rse.2019.04.015\u003e ([pdf](https://gishub.org/2019_rse) | [source code](https://doi.org/10.6084/m9.figshare.8864921))\n\nCheck out the geemap workshop presented at the GeoPython Conference 2021. This workshop gives a comprehensive introduction to the key features of geemap.\n\n[![geemap workshop](https://img.youtube.com/vi/wGjpjh9IQ5I/0.jpg)](https://www.youtube.com/watch?v=wGjpjh9IQ5I)\n\n## Key Features\n\nBelow is a partial list of features available for the geemap package. Please check the [examples](https://github.com/gee-community/geemap/tree/master/examples) page for notebook examples, GIF animations, and video tutorials.\n\n-   Convert Earth Engine JavaScripts to Python scripts and Jupyter notebooks.\n-   Display Earth Engine data layers for interactive mapping.\n-   Support Earth Engine JavaScript API-styled functions in Python, such as `Map.addLayer()`, `Map.setCenter()`, `Map.centerObject()`, `Map.setOptions()`.\n-   Create split-panel maps with Earth Engine data.\n-   Retrieve Earth Engine data interactively using the Inspector Tool.\n-   Interactive plotting of Earth Engine data by simply clicking on the map.\n-   Convert data format between GeoJSON and Earth Engine.\n-   Use drawing tools to interact with Earth Engine data.\n-   Use shapefiles with Earth Engine without having to upload data to one's GEE account.\n-   Export Earth Engine FeatureCollection to other formats (i.e., shp, csv, json, kml, kmz).\n-   Export Earth Engine Image and ImageCollection as GeoTIFF.\n-   Extract pixels from an Earth Engine Image into a 3D numpy array.\n-   Calculate zonal statistics by group.\n-   Add a customized legend for Earth Engine data.\n-   Convert Earth Engine JavaScripts to Python code directly within Jupyter notebook.\n-   Add animated text to GIF images generated from Earth Engine data.\n-   Add colorbar and images to GIF animations generated from Earth Engine data.\n-   Create Landsat timelapse animations with animated text using Earth Engine.\n-   Search places and datasets from Earth Engine Data Catalog.\n-   Use timeseries inspector to visualize landscape changes over time.\n-   Export Earth Engine maps as HTML files and PNG images.\n-   Search Earth Engine API documentation within Jupyter notebooks.\n-   Import Earth Engine assets from personal account.\n-   Publish interactive GEE maps directly within Jupyter notebook.\n-   Add local raster datasets (e.g., GeoTIFF) to the map.\n-   Perform image classification and accuracy assessment.\n-   Extract pixel values interactively and export as shapefile and csv.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgee-community%2Fgeemap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgee-community%2Fgeemap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgee-community%2Fgeemap/lists"}