使用Geemap与Google Earth Engine进行交互式地理空间分析
geemap 项目地址: https://gitcode.com/gh_mirrors/gee/geemap
概述
Google Earth Engine (GEE) 是一个强大的云平台,拥有海量的卫星影像和地理空间数据集。Geemap是一个基于Python的开源工具,它为用户提供了在Jupyter环境中与GEE交互的直观界面。本文将介绍如何使用Geemap进行地理空间数据的可视化、分析和处理。
环境准备
安装Geemap
%pip install geemap
导入必要库
import ee
import geemap
认证Earth Engine
在使用前需要完成GEE的认证:
geemap.ee_initialize()
创建交互式地图
Geemap提供了简单的方法来创建交互式地图:
# 创建默认地图
Map = geemap.Map()
Map
可以自定义地图的中心点、缩放级别和尺寸:
Map = geemap.Map(center=[40, -100], zoom=4, height=600)
Map
添加底图
Geemap内置了多种底图供选择:
使用内置底图
# 使用卫星混合底图
Map = geemap.Map(basemap="HYBRID")
Map
添加XYZ瓦片图层
Map = geemap.Map()
Map.add_tile_layer(
url="https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z}",
name="Google Terrain",
attribution="Google",
)
Map
添加WMS服务
Map = geemap.Map(center=[40, -100], zoom=4)
url = "https://www.mrlc.gov/geoserver/mrlc_display/NLCD_2019_Land_Cover_L48/wms?"
Map.add_wms_layer(
url=url,
layers="NLCD_2019_Land_Cover_L48",
name="NLCD 2019",
format="image/png",
attribution="MRLC",
transparent=True,
)
Map
Earth Engine数据类型
影像(Image)
# 加载SRTM高程数据
image = ee.Image("USGS/SRTMGL1_003")
image
可视化影像
Map = geemap.Map(center=[21.79, 70.87], zoom=3)
image = ee.Image("USGS/SRTMGL1_003")
vis_params = {
"min": 0,
"max": 6000,
"palette": ["006633", "E5FFCC", "662A00", "D8D8D8", "F5F5F5"],
}
Map.addLayer(image, vis_params, "SRTM")
Map
影像集合(ImageCollection)
# 加载Sentinel-2数据
collection = ee.ImageCollection("COPERNICUS/S2_SR")
过滤和可视化影像集合
Map = geemap.Map()
collection = (
ee.ImageCollection("COPERNICUS/S2_SR")
.filterDate("2021-01-01", "2022-01-01")
.filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE", 5))
image = collection.median()
vis = {
"min": 0.0,
"max": 3000,
"bands": ["B4", "B3", "B2"],
}
Map.setCenter(83.277, 17.7009, 12)
Map.addLayer(image, vis, "Sentinel-2")
Map
要素集合(FeatureCollection)
# 加载美国道路数据
Map = geemap.Map()
fc = ee.FeatureCollection("TIGER/2016/Roads")
Map.setCenter(-73.9596, 40.7688, 12)
Map.addLayer(fc, {}, "Census roads")
Map
过滤要素集合
Map = geemap.Map()
states = ee.FeatureCollection("TIGER/2018/States")
fc = states.filter(ee.Filter.eq("NAME", "Louisiana"))
Map.addLayer(fc, {}, "Louisiana")
Map.centerObject(fc)
Map
样式化要素集合
Map = geemap.Map(center=[40, -100], zoom=4)
states = ee.FeatureCollection("TIGER/2018/States")
style = {"color": "0000ffff", "width": 2, "lineType": "solid", "fillColor": "FF000080"}
Map.addLayer(states.style(**style), {}, "US States")
Map
总结
Geemap为Google Earth Engine提供了一个强大的Python接口,使得地理空间数据的可视化、分析和处理变得更加简单高效。通过本文介绍的基础功能,用户可以快速上手进行交互式的地理空间分析。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考