NOTICE: This is an experimental project and is not an officially supported Google project. You are welcome to use it, but we do not guarantee stability.
try:
import ee_jupyter
print('ee_jupyter was already installed.')
except ModuleNotFoundError:
print('ee_jupyter was not found. Installing now...')
import os
result = os.system('pip -q install earthengine-jupyter')This lib contains a
Map
class that can be used to display an interactive map.
import ee
from ee_jupyter.core import authenticate_if_needed
from ee_jupyter.ipyleaflet import Map
from ee_jupyter.layout import MapWithInspector
import ipywidgets as widgetsauthenticate_if_needed()# Intialize the Earth Engine client library.
ee.Initialize()map1 = Map(center=(37.5924, -122.09), zoom=8)
map1Define an Earth Engine image layer, and add it to the interactive map.
img1 = ee.Image("LANDSAT/LC09/C02/T1_L2/LC09_044034_20220127")
visualization = {
'bands': ['SR_B4', 'SR_B3', 'SR_B2'],
'min': 0.2 / 0.0000275,
'max': 0.4 / 0.0000275,
}
map1.addLayer(eeObject=img1, visParams=visualization, name='Landsat scene')We can also create an inspector object and associate it with the previously created map.
from ee_jupyter.ipyleaflet import Inspector
inspector1 = Inspector(map_object=map1)
inspector1Typically when you create a inspector object, you will want to display
it with the map. The MapWithInpsector object adds a button that
toggles the inspector functionality.
The map below shows a Sentinel-2 image covering Paris. Click on the inspector toggle button to open the inspector.
map_init_paris = {'center':(49.4, 2.3), 'zoom':8}
m = MapWithInspector(**map_init_paris)
image = ee.Image('COPERNICUS/S2_SR_HARMONIZED/20220604T104619_20220604T104620_T31UDQ')
m.map.addLayer(image, {'bands': ['B4', 'B3', 'B2'], 'max': 2500}, 'Landsat image')
mTip With Caption
Note that when viewed on GitHub Pages you can manipulate Jupyter widgets independently, but the widgets do not interact with each other. To experience the cross-widget interactivity, open up this notebook in a Jupyter environment.
If you want to display a static (non-interactive) image, you can do that
as well. The embed=True parameter will allow the image to be saved
within the notebook.
from IPython.display import Image
visualization['dimensions'] = 400 # maximum dimension for the image
url = img1.getThumbUrl(visualization)
Image(url=url, format='png', embed=True)