白云鄂博矿网站建设,中国建设银行e路护航网银安全组件,石家庄网络建站,设计官网收费标准我们使用GEE在线编辑可以直接通过在线的网页可以加载展示我们计算的结果#xff0c;而python版的GEE要展示我们的计算结果可能就比较麻烦。如果有同学看过GEE的python版API中可以找到一个类ee.mapclient#xff0c;这个类的介绍是它是GEE官方通过Tk写的一个加载展示地图的类。…我们使用GEE在线编辑可以直接通过在线的网页可以加载展示我们计算的结果而python版的GEE要展示我们的计算结果可能就比较麻烦。如果有同学看过GEE的python版API中可以找到一个类ee.mapclient这个类的介绍是它是GEE官方通过Tk写的一个加载展示地图的类。但是随着API的发展其实这个类早已被官方废弃我们没办法直接使用这个类在实际开发中也不建议大家尝试去使用这个类。 下面我介绍一下我推荐使用的加载显示方式目前比较好用的展示方式有两种一种是静态图片展示方式另外一种是动态加载展示结果下面我会依次来介绍相关内容。
首先使用GEE的python版API在我们的代码最开始都需要加入以下代码 import ee ee.Initialize()
第一种方式静态图片展示模式。
这种模式使用的是IPython自带的display来渲染然后我们的显示内容也是通过缩略图来显示。 优点IPython原生快捷方便。
缺点渲染内容只能是通过缩略图这种方式来做展示内容有局限。 第二种方式动态加载展示模式。 这种方式需要使用一个第三方库 ipygeehttps://github.com/fitoprincipe/ipygee这个库是在另外的一个展示库的基础 ipyleaflet 基础上开发而来的。目前属于刚起步但是展示效果非常好。
首先是安装这个库 ipygee
1安装这个库以我的电脑为例
sudo pip3 install ipygee
2激活ipyleaflet在jupyter上的插件
jupyter nbextension enable --py --sys-prefix ipyleaflet
如果没有安装过nbextension那么需要先安装 sudo pip3 install jupyter_contrib_nbextensions sudo jupyter contrib nbextension install --user sudo pip3 install jupyter_nbextensions_configurator
如果要使用jupyterLab还需要给jupyterLab安装ipyleaflet插件 sudo jupyter labextension install jupyter-leaflet
同时有些电脑比如我这台需要激活一个插件jupyterlab-manager才能显示地图。
首先查看本地的jupyterLab的版本
jupyter lab --version
输出结果是 0.35.6通过jupyterlab-manager 网站查询可知我们需要安装对应版本的内容也就是0.38版的jupyterlab-manager所以执行下面的命令
sudo jupyter labextension install jupyter-widgets/jupyterlab-manager0.38
3ipygee初步使用
使用这个库非常简单需要注意的是使用这个库之前必须要验证GEE也就是需要执行 import ee ee.Initialize()
加载地图 # 展示地图 from ipygee import Map myMap Map() myMap.show() 显示资源管理器 # 资源管理器也就是GEE在线编辑的Assets Manager界面 from ipygee import AssetManager myManager AssetManager() myManager 显示任务管理器 # 任务管理器也就是GEE的Task列表 from ipygee import TaskManager myTask TaskManager() myTask 从这里可以看到ipygee是通过GEE的API连接到GEE服务器上然后展示相关内容。下面我详细说一下ipygee是如何加载显示我们想要的影像或者矢量数据的。
4加载矢量、栅格数据
具体代码 # 加载显示栅格数据和矢量数据 from ipygee import Map myMap Map() # 展示OSM底图 myMap.show() # 栅格数据 img ee.Image(CGIAR/SRTM90_V4) # 矢量数据 roi ee.FeatureCollection(users/wangweihappy0/shape/huanghe) # 缩放到指定级别 myMap.centerObject(roi, 5) # 裁剪数据 img img.clip(roi) # 加载栅格数据到地图上 myMap.addLayer(img, {min: 0, max: 3000}, nameSRTM) # 加载矢量数据到地图上 myMap.addLayer(roi, {outline_color: red, outline: 2, fill_color: blue}, nameroi) 显示结果
矢量数据 栅格数据 同时我们还可以对这些图层做各种类似线上的操作这个大家可以自己挖掘实践。关于ipygee如果大家还有需要了解的等ipygee版本比较稳定了我可以单独些一些关于ipygee相关内容来介绍这个库。
来源请引用地理遥感生态网科学数据注册与出版系统。