简介
Split panel适合在可视化时同时对比效果,而且可以通过拖动,显示两边图像变化情况,非常有利于直观的分析结果。
1 导入库
!pip install geemap #安装geemap库
import ee
import geemap
geemap.show_youtube('9EUTX8j-YVM')
2 Split工具
Map = geemap.Map()
Map.split_map() #这一行代码就可以实现地图split功能,这是默认的底图
Map
地图split显示结果
下面这个代码显示不了底图,我也不是很清楚怎么回事
Map = geemap.Map()
Map.split_map(left_layer='HYBRID', right_layer='ROADMAP') #这一行代码指定了显示底图的名称
Map
basemaps = geemap.basemaps.keys() #下面几行代码是打印所有底图的名称,可以自己根据需要进行修改底图
print(basemaps)
for basemap in basemaps:
print(basemap)
3 土地覆盖Split
Map = geemap.Map() #下面这个是显示不同年份的土地覆盖产品
Map.split_map(
left_layer='NLCD 2016 CONUS Land Cover', right_layer='NLCD 2001 CONUS Land Cover'
)
Map
显示结果
4 土地覆盖Split另一种方式
一般我们不知道数据集名称,因此可以先打印一下名称,然后再加载数据
# https://developers.google.com/earth-engine/datasets/catalog/USGS_NLCD #USGS_NLCD数据链接
collection = ee.ImageCollection("USGS/NLCD")
print(collection.aggregate_array('system:id').getInfo()) #打印NLCD所有的名称
nlcd_2001 = ee.Image('USGS/NLCD/NLCD2001').select('landcover') #选择2001年土地覆盖数据
nlcd_2016 = ee.Image('USGS/NLCD/NLCD2016').select('landcover') #选择2016年土地覆盖数据
left_layer = geemap.ee_tile_layer(nlcd_2001, {}, 'NLCD 2001') #将Earth Engine转为ipyleaflet TileLayer
right_layer = geemap.ee_tile_layer(nlcd_2016, {}, 'NLCD 2016')
Map = geemap.Map()
Map.split_map(left_layer, right_layer)
Map
其结果与3中的相同。
5 ee_tile_layer函数详解
4中用到了ee_tile_layer函数,下面对涉及到的参数进行说明,其目的是将Earth Engine图层转换为 ipyleaflet TileLayer。
def ee_tile_layer(ee_object, vis_params={}, name='Layer untitled', shown=True, opacity=1.0)
ee_object (Collection|Feature|Image|MapId):要添加到地图的对象。
vis_params(dict,可选):可视化参数。默认为 {}。
name(str,可选):图层的名称。默认为“图层无标题”。
shown (bool, 可选): 指示图层是否默认打开的标志。默认为 True。
opacity(float,可选):图层的不透明度表示为 0 到 1 之间的数字。默认为 1。
后记
大家如果有地信遥感方面的问题需要请教或者有项目需要合作,可以在闲 鱼软件的用户中搜索:遥感GIS工作室,请认准头像,谢谢。