{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", "
View source on GitHubNotebook Viewer Run in Google Colab
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Install Earth Engine API and geemap\n", "Install the [Earth Engine Python API](https://developers.google.com/earth-engine/python_install) and [geemap](https://geemap.org). The **geemap** Python package is built upon the [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet) and [folium](https://github.com/python-visualization/folium) packages and implements several methods for interacting with Earth Engine data layers, such as `Map.addLayer()`, `Map.setCenter()`, and `Map.centerObject()`.\n", "The following script checks if the geemap package has been installed. If not, it will install geemap, which automatically installs its [dependencies](https://github.com/giswqs/geemap#dependencies), including earthengine-api, folium, and ipyleaflet." ] }, { "cell_type": "code", "metadata": {}, "source": [ "# Installs geemap package\n", "import subprocess\n", "\n", "try:\n", " import geemap\n", "except ImportError:\n", " print('Installing geemap ...')\n", " subprocess.check_call([\"python\", '-m', 'pip', 'install', 'geemap'])" ], "outputs": [], "execution_count": null }, { "cell_type": "code", "metadata": {}, "source": [ "import ee\n", "import geemap" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create an interactive map \n", "The default basemap is `Google Maps`. [Additional basemaps](https://github.com/giswqs/geemap/blob/master/geemap/basemaps.py) can be added using the `Map.add_basemap()` function. " ] }, { "cell_type": "code", "metadata": {}, "source": [ "Map = geemap.Map(center=[40,-100], zoom=4)\n", "Map" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Add Earth Engine Python script " ] }, { "cell_type": "code", "metadata": {}, "source": [ "# Add Earth Engine dataset\n", "p1 = ee.Geometry.Point([103.521, 13.028])\n", "p2 = ee.Geometry.Point([105.622, 13.050])\n", "Date_Start = ee.Date('2000-05-01')\n", "Date_End = ee.Date('2007-12-01')\n", "Date_window = ee.Number(30)\n", "\n", "# Create list of dates for time series\n", "n_months = Date_End.difference(Date_Start, 'month').round()\n", "print(\"Number of months:\", n_months.getInfo())\n", "dates = ee.List.sequence(0, n_months, 1)\n", "print(dates.getInfo())\n", "\n", "def make_datelist(n):\n", " return Date_Start.advance(n, 'month')\n", "\n", "\n", "dates = dates.map(make_datelist)\n", "print(dates.getInfo())\n", "\n", "\n", "def fnc(d1):\n", " S1 = ee.ImageCollection('LANDSAT/LT5_L1T_TOA') \\\n", " .filterDate('2000-05-01', '2007-12-01') \\\n", " .filter(ee.Filter.calendarRange(1, 14, 'month')) \\\n", " .sort('CLOUD_COVER') \\\n", " .filterBounds(p1).first()\n", " S2 = ee.ImageCollection('LANDSAT/LT5_L1T_TOA') \\\n", " .filterDate('2000-05-01', '2007-12-01') \\\n", " .filter(ee.Filter.calendarRange(1, 14, 'month')) \\\n", " .sort('CLOUD_COVER') \\\n", " .filterBounds(p2).first()\n", "\n", " mosaic = ee.ImageCollection([ee.Image(S1), ee.Image(S2)]).mosaic()\n", "\n", " return mosaic\n", "\n", "\n", "list_of_images = dates.map(fnc)\n", "print('list_of_images', list_of_images.getInfo())\n", "mt = ee.ImageCollection(list_of_images)\n", "print(mt.getInfo())\n", "# Map.addLayer(mt, {}, 'mt')\n" ], "outputs": [], "execution_count": null }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Display Earth Engine data layers " ] }, { "cell_type": "code", "metadata": {}, "source": [ "Map.addLayerControl() # This line is not needed for ipyleaflet-based Map.\n", "Map" ], "outputs": [], "execution_count": null } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 4 }