earth engine的地理大数据 university of tennessee, knoxville

37
基于Eah Engine的地理大数据 空分析与交互式制吴秋生 Qiusheng Wu, PhD Depament of Geography University of Tennessee, Knoxville hps://wetlands.io hps://gishub.org/wgdc 全球前沿科技青年科学家 论坛 WGDC2020全球地理信息开 者大会 slides

Upload: others

Post on 05-Dec-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Earth Engine的地理大数据 University of Tennessee, Knoxville

基于Earth Engine的地理大数据时空分析与交互式制图

吴秋生Qiusheng Wu, PhD

Department of GeographyUniversity of Tennessee, Knoxville

https://wetlands.io

https://gishub.org/wgdc

全球前沿科技青年科学家论坛WGDC2020全球地理信息开发者大会

slides

Page 2: Earth Engine的地理大数据 University of Tennessee, Knoxville

Outline

● Earth Engine overview● Earth Engine APIs● Introducing geemap● Geemap resources● Key geemap features● Earth Engine Apps● Q&A

2

Page 3: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine overview

3

Page 4: Earth Engine的地理大数据 University of Tennessee, Knoxville

Google Earth vs. Earth Engine

● Google Earth○ Google Earth enables you to travel and learn about the world through a virtual globe. You can

view satellite imagery, maps, terrain, 3D buildings and much more.

● Earth Engine○ Earth Engine, on the other hand, is a tool for analyzing geospatial information. ○ Although Earth Engine has a data catalog, not everything available in Google Earth is

available for analysis in the Earth Engine catalog. Similarly, much of the data in Earth Engine is not currently available for visualization in Google Earth.

4https://earthengine.google.com https://google.com/earth

vs.

Image Viewer Photoshop

Page 5: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine Data Catalog

5

600+ public datasets

MODIS250m daily

Vector DataWDPA, TIGER, WHC

Weather & ClimateNOAA NCEP, OMI, ...

Terrain &Land Cover

1+ PB of new data every month100+ datasets added yearly

30+ petabytes of data

Landsat & Sentinel10-30m, weekly

... and upload your own vectors and rasters

https://developers.google.com/earth-engine/datasets/

Credits to Michael DeWitt

Page 6: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine APIs

6

Page 7: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine JavaScript Code Editor

7

https://code.earthengine.google.com/

Landsat NDWI example: https://code.earthengine.google.com/6850087dba0919bb8ca89de3ba363eac

Page 8: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine JavaScript API vs. Python APIEarth Engine JavaScript Code Editor

● Rich documentation and tutorials● Easy to get started● Built-in interactive mapping functionality● Built-in authentication● Earth Engine Apps● Can’t install additional package

8

Earth Engine Python API

● Limited documentation and tutorials ● Easier language syntax● Easy to share code between scripts● Batch processing (e.g., exporting images)● Executing code block by block● More IDEs with debugging capability● Numerous Python packages● Many plotting and visualization options● Integration with open-source GIS ● A lot of basemaps to choose from● Accessing data stored locally● Deep learning

Credits to Tyler Erickson

Page 9: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine JavaScript API vs. Python API

9

Page 10: Earth Engine的地理大数据 University of Tennessee, Knoxville

How to make Sichuan boiled fish?

10

Home kitchen

Five-star hotel kitchen

Traditional approach

Google Earth Engine

Page 11: Earth Engine的地理大数据 University of Tennessee, Knoxville

Introducing geemap

11

Page 12: Earth Engine的地理大数据 University of Tennessee, Knoxville

About geemap

Wu, Q. (2020). geemap: A Python package for interactive mapping with Google Earth Engine. The Journal of Open Source Software. 5(51), 2305. https://doi.org/10.21105/joss.02305

12

Page 13: Earth Engine的地理大数据 University of Tennessee, Knoxville

Introducing geemap

● A Python package for interactive mapping with Google Earth Engine and ipyleaflet.

● GitHub: https://github.com/giswqs/geemap

13

Page 14: Earth Engine的地理大数据 University of Tennessee, Knoxville

Installing geemap● PyPI

○ pip install geemap

● conda-forge○ conda create -n gee python○ conda activate gee○ conda install -c conda-forge geemap

● How to update geemap?○ pip install -U geemap○ conda update -c conda-forge geemap○ geemap.update_package()

14

Page 15: Earth Engine的地理大数据 University of Tennessee, Knoxville

Geemap resources

15

Page 16: Earth Engine的地理大数据 University of Tennessee, Knoxville

Geemap resources

geemap:

● GitHub repository: https://github.com/giswqs/geemap ● Jupyter notebooks: https://github.com/giswqs/geemap/tree/master/examples● Blog posts: https://blog.gishub.org ● Video tutorials - YouTube: https://www.youtube.com/c/QiushengWu ● Video tutorials - Bilibili: https://space.bilibili.com/527404442

Want to learn more?

● earthengine-py-notebooks: 360+ notebook examples for using GEE● qgis-earthengine-examples: 300+ Python examples for using GEE in QGIS● Awesome-GEE: A curated list of Google Earth Engine resources

16

Page 17: Earth Engine的地理大数据 University of Tennessee, Knoxville

Video tutorials

17

https://gishub.org/youtube-gee http://gishub.org/bilibili

Page 18: Earth Engine的地理大数据 University of Tennessee, Knoxville

Video tutorials1. Introducing the geemap Python package for interactive mapping with Google Earth Engine (video | gif | notebook)2. Using basemaps in geemap and ipyleaflet for interactive mapping with Google Earth Engine (video | gif | notebook)3. Introducing the Inspector tool for Earth Engine Python API (video | gif | notebook)4. Creating a split-panel map for visualizing Earth Engine data (video | gif | notebook)5. Using drawing tools to interact with Earth Engine data (video | gif | notebook)6. Creating an interactive map with a marker cluster (video | gif | notebook)7. Converting data formats between GeoJSON and Earth Engine (video | gif | notebook)8. Automated conversion from Earth Engine JavaScripts to Python scripts and Jupyter notebooks (video | gif | notebook)9. Interactive plotting of Earth Engine data with minimal coding (video | gif | notebook)

10. Using shapefiles with Earth Engine without having to upload data to GEE (video | gif | notebook)11. Exporting Earth Engine Image and ImageCollection as GeoTIFF and Numpy array (video | gif | notebook)12. Computing zonal statistics with Earth Engine and exporting results as CSV or shapefile (video | gif | notebook)13. Calculating zonal statistics by group with Earth Engine (video | gif | notebook)14. Adding a customized legend for Earth Engine data (video | gif | notebook)15. Converting Earth Engine JavaScripts to Python code directly within Jupyter notebook (video | gif | notebook)16. Adding animated text to GIF images generated from Earth Engine data (video | gif | notebook)17. Adding colorbar and images to GIF animations generated from Earth Engine data (video | gif | notebook)18. Creating Landsat timelapse animations with animated text using Earth Engine (video | gif | notebook)19. How to search and import datasets from Earth Engine Data Catalog (video | gif | notebook)20. Using timeseries inspector to visualize landscape changes over time (video | gif | notebook)

18

http://gishub.org/geemap

Page 19: Earth Engine的地理大数据 University of Tennessee, Knoxville

Video tutorials1. Exporting Earth Engine maps as HTML files and PNG images (video | gif | notebook)2. How to import Earth Engine Python scripts into Jupyter notebook? (video | gif | notebook)3. How to search Earth Engine API and import assets from GEE personal account? (video | gif | notebook)4. How to publish interactive Earth Engine maps? (video | gif | notebook)5. How to load local raster datasets with geemap? (video | gif | notebook)6. How to create and deploy Earth Engine Apps using Python? (video | gif | notebook)7. How to create an interactive Earth Engine App for creating Landsat timelapse? (video | gif | notebook)8. How to use your local computer as a web server for hosting Earth Engine Apps? (video | gif | notebook)9. How to use pydeck for rendering Earth Engine data (video | gif | notebook)

10. How to get image basic properties and descriptive statistics (video | gif | notebook)11. Machine Learning with Earth Engine - Unsupervised Classification (video | gif | notebook)12. Machine Learning with Earth Engine - Supervised Classification (video | gif | notebook)

19

http://gishub.org/geemap

Page 20: Earth Engine的地理大数据 University of Tennessee, Knoxville

Want more tutorials?

● A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping (https://github.com/giswqs/earthengine-py-notebooks)

● Submit a Feature Request on the geemap GitHub repository (https://github.com/giswqs/geemap/issues )

● Follow my Google Earth Engine Project on Research Gate (https://www.researchgate.net/project/Google-Earth-Engine-4)

20

Page 21: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key geemap features

21

Page 22: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Search and import datasets from Earth Engine Data Catalog

22

Page 23: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Add basemaps (e.g., XYZ and WMS tiles) not available in GEE JavaScript Code Editor

23

https://viewer.nationalmap.gov/services/

Page 24: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Use the Inspector tool to interact with Earth Engine data

24

Page 25: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Interactive plotting of Earth Engine data with minimal coding

25

Page 26: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Create timelapse animations with animated text

26

Page 27: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Use timeseries inspector to visualize landscape changes over time

27

Page 28: Earth Engine的地理大数据 University of Tennessee, Knoxville

Key features

● Machine learning with Earth Engine

28

Page 29: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine Apps

29

Page 30: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine Apps

30

GEE Apps are "Code Editor" windows without the code. They enable EE users to create tools for their users.

https://www.earthengine.app/

Page 31: Earth Engine的地理大数据 University of Tennessee, Knoxville

RSE Paper

31

● Earth Engine App● GEE Source Code● GitHub Repo

https://gishub.org/2019-rse

download article

Page 32: Earth Engine的地理大数据 University of Tennessee, Knoxville

Earth Engine App

32

Page 33: Earth Engine的地理大数据 University of Tennessee, Knoxville

Study Area and Geospatial Datasets

33

▪ Study Area▪ 3 HUC-8 subbasins (16,576 km2 in total)

▪ 26 HUC-10 watersheds (318 ~ 998 km2)

▪ Datasets▪ LiDAR data (2011-2016) - 107.65 GB

▪ NAIP imagery (2009, 2010, 2012, 2014, 2015, 2017)

▪ National Wetlands Inventory [NWI] (1980s)

▪ JRC Global Surface Water (1984-2018)

Page 34: Earth Engine的地理大数据 University of Tennessee, Knoxville

Multi-temporal NAIP aerial imagery (1-m)

34

Page 35: Earth Engine的地理大数据 University of Tennessee, Knoxville

NAIP-derived Wetland Inundation Maps

35

Page 36: Earth Engine的地理大数据 University of Tennessee, Knoxville

Landsat-derived Inundation Maps

36

Page 37: Earth Engine的地理大数据 University of Tennessee, Knoxville

Any questionsQiusheng Wu, PhD

Department of GeographyUniversity of TennesseeEmail: [email protected]

Website: https://wetlands.io Twitter: https://twitter.com/giswqs

wetlands.io

Thank you!