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 widgets
authenticate_if_needed()
# Intialize the Earth Engine client library.
ee.Initialize()
map1 = Map(center=(37.5924, -122.09), zoom=8)
map1
Define 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)
inspector1
Typically 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')
m
Tip 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)