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

Post on 05-Dec-2021

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

吴秋生Qiusheng Wu, PhD

Department of GeographyUniversity of Tennessee, Knoxville

https://wetlands.io

https://gishub.org/wgdc

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

slides

Outline

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

2

Earth Engine overview

3

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

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

Earth Engine APIs

6

Earth Engine JavaScript Code Editor

7

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

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

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

Earth Engine JavaScript API vs. Python API

9

How to make Sichuan boiled fish?

10

Home kitchen

Five-star hotel kitchen

Traditional approach

Google Earth Engine

Introducing geemap

11

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

Introducing geemap

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

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

13

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

Geemap resources

15

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

Video tutorials

17

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

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

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

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

Key geemap features

21

Key features

● Search and import datasets from Earth Engine Data Catalog

22

Key features

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

23

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

Key features

● Use the Inspector tool to interact with Earth Engine data

24

Key features

● Interactive plotting of Earth Engine data with minimal coding

25

Key features

● Create timelapse animations with animated text

26

Key features

● Use timeseries inspector to visualize landscape changes over time

27

Key features

● Machine learning with Earth Engine

28

Earth Engine Apps

29

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/

RSE Paper

31

● Earth Engine App● GEE Source Code● GitHub Repo

https://gishub.org/2019-rse

download article

Earth Engine App

32

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)

Multi-temporal NAIP aerial imagery (1-m)

34

NAIP-derived Wetland Inundation Maps

35

Landsat-derived Inundation Maps

36

Any questionsQiusheng Wu, PhD

Department of GeographyUniversity of TennesseeEmail: qwu18@utk.edu

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

wetlands.io

Thank you!

top related