Skip to content

koyo-jakanees/qgis-earthengine-plugin

 
 

Repository files navigation

Google Earth Engine plugin for QGIS

Integrates Google Earth Engine with QGIS using Python API.

Check User Guide to get started or ask general questions and comments in the Discussion section.

Add Sentinel-2 image

FAQ

Q: I am getting authentication errors, what can I do?

A: Try installing the Google Earth Engine command line client. Run the earthengine authenticate command. This resets the authentication credentials and solves most authentication errors.

Q: Are you through a proxy?

A: In your scripts, configure proxy settings on top of them:

import os
os.environ['HTTP_PROXY'] = 'http://[username:password@]<ip_address_or_domain>:<port>'
os.environ['HTTPS_PROXY'] = 'http://[username:password@]<ip_address_or_domain>:<port>'

import ee
from ee_plugin import Map

Q: I am getting error like ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed on MacOS:

A: Open Finder and double clicking on this file /Applications/Python 3.6/Install Certificates.command. This path may vary depending on how QGIS was installed (Homebrew, macports, native). Then restart QGIS.

Q: Plugin crashes after authentication with a stack trace showing 404, what should I do?

A: Go to http://code.earthengine.google.com and make sure you can access code editor. If the plugin is still failing - make sure your IP is not under firewall.

Roadmap

Alpha 0.0.1 (Q4 2019) ✔️

  • Create a new QGIS plugin skeleton
  • Migrate to QGIS3
  • Embed GEE Python library
  • Implement Map.addLayer() for ee.Image
  • Implement Map.addLayer() for ee.Geometry, ee.Feature and ee.FeatureCollection
  • Implement Map.centerObject()
  • Implement Map.getBounds()
  • Implement Map.getCenter()
  • Implement Map.setCenter()
  • Implement Map.getScale()
  • Implement Map.getZoom()
  • Implement Map.setZoom()
  • Upload to QGIS plugin repository: https://plugins.qgis.org/plugins/ - approved!

Alpha 0.0.2 (Q3 2020) ✔️

  • Upgrade EE library to 0.1.224 (Windows, Linux, maxOS)

Alpha 0.0.3 (Q4 2020) ✔️

  • EE raster layer inspector
  • Show some useful EE properties (bands, value types) in QGIS layer properties dialog
  • Fix GEE url authentication function if the credentials is not exists #63
  • Fix crash if the authentication dialog is cancelled or not filled by the user
  • Init the Google Earth Engine user authorization system only when the user is going to use the plugin
  • Fixed the authentication dialog when the url shortener doesn't work by any reason #66
  • Fix loading extra python dependencies to the plugin, fix #62

1.0.0 (Q2 2021) ⌛

  • EE vector layer inspector
  • EE raster collection layer inspector
  • Make print(ee_object) more user-friendly, without requiring getInfo(), maybe async
  • Get Link and Open Script
  • Skip import ee and from ee_plugin import Map for EE scripts ...

1.1.0

  • Export.* and Tasks panel (start, cancel, info)
  • Map.layers() for EE layers, allowing to use things like ui.Map.Layer.setEeObject()
  • ui.Chart.*
  • require()
  • Faster identify tool, using local cached rasters
  • Add support for Data Catalog, allowing adding assets without the need to write scripts (select time, styling)
  • Custom EE scripts as Processing algorithms, so that users can use it within Graphical Modeller
  • Fetch (cache?) raster assets locally (EE > QGIS), for a given rectangle / CRS, as a Processing tool
  • Export vector and raster data (QGIS > EE) either via Tasks or some other way
  • Use QGIS vector/raster style editors to edit EE layer styles

Support this project

Donate or just

About

Integrates Google Earth Engine and QGIS using Python API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.4%
  • Makefile 3.0%
  • Batchfile 2.6%
  • QML 1.0%