文章目录
前言
鼓捣一下近期上线的PIE-Engine studio遥感计算云平台,发现上面的资源非常丰富,有很多种国内外遥感数据源,还有各种专题产品数据,瞬间觉得是宝藏啊。文章图有些多,直接看目录会比较清晰点。本篇介绍JavaScrip和Python版本,由于Python版本需要进行环境配置,在这里会着重介绍。
一、PIE-Engine Studio简介
PIE-Engine遥感云平台基于云计算、物联网、大数据和人工智能等技术研制,依托云平台基础环境,对PIE各产品及多项行业应用成果进行标准化集成和运行,构建覆盖时空数据“采、存、算、管、用”全流程的遥感应用服务平台。为用户提供 “云+端” 的遥感应用一站式服务,充分发挥高效能、低门槛、低成本、易获取等优势,在线提供多源遥感卫星影像数据服务、遥感数据生产处理服务、遥感智能解译分析服务以及面向行业的SaaS应用服务,挖掘海量遥感数据价值、助力遥感应用产业化发展。
PIE-Engine Studio遥感计算云服务作为PIE-Engine产品家族的重要组成部分,通过结合海量卫星遥感影像、地理要素数据等空间数据,使得用户基于平台可以在任意尺度上研究算法模型并采取交互式编程验证,实现快速探索地表特征,发现变化和趋势。PIE-Engine Studio为大规模的地理数据分析和科学研究提供了免费、灵活和弹性的计算服务,相比传统的遥感处理方法是一个颠覆性的工具。使得遥感处理分析行业真正成为一个面向大众的开放行业,能够有效促进整个行业的高效、快速发展。
二、PIE-Engine JavaScript版本开发
用手机或者邮箱注册个账号就能登录云平台,好方便啊!!!
还有多种案例代码,例如全中国NDVI,几秒就完成了,配图就不展示了,附上代码:
/**
* @File : PIEImageCollectionLoop
* @Time : 2020/7/21
* @Author : piesat
* @Version : 1.0
* @Contact : 400-890-0662
* @License : (C)Copyright 航天宏图信息技术股份有限公司
* @Desc : 使用map循环遍历影像集合
*/
//加载中国区域范围
var fCol = pie.FeatureCollection('user/101/public/shape/China');
Map.addLayer(fCol, {color:"#ff0000", fillColor:"#00000000"}, "china");
var roi = fCol.getAt(0).geometry();
//影像集合
// var l8Col = pie.ImageCollection('S2/L2A');
var l8Col = pie.ImageCollection("LC08/01/T1");
//通过日期过滤影像集合,并且计算NDVI指数
l8Col = l8Col.filterDate("2019-12-01", "2019-12-31")
.select(["B4", "B5"])
.filterBounds(roi)
.map(function(image){
var b4 = image.select("B4");
var b5 = image.select("B5");
var ndvi = (b5.subtract(b4)).divide(b5.add(b4));
return ndvi;
});
//NDVI绘制样式
var visParamNDVI = {
min: -0.2,
max: 0.8,
palette: 'CA7A41, CE7E45, DF923D, F1B555, FCD163, 99B718, '+
'74A901, 66A000, 529400,3E8601, 207401, 056201, 004C00,'+
'023B01, 012E01, 011D01, 011301'
};
//加载影像集合的最大值
Map.addLayer(l8Col.mean().clip(roi), visParamNDVI, "NDVI");
Map.setCenter(119.1, 40.44, 3);
三、PIE-Engine python版本开发
PIE-Engine还支持Python版本地开发,随即按照帮助文档部署了一波,还挺详细,可以按照官网的进行安装,这里不在赘述。
不过我之前是用的Anaconda来管理Python环境的,不知道还支持不支持,自己就尝试了一把,成了,下面就介绍一下利用Anaconda来创建Python环境,并进行本地PIE-Engine studio的安装。
1.Anaconda 安装和Python3虚拟环境创建
(1)Anaconda 安装
双击启动,来到安装界面,单击【Next】
单击【I Agree】
单击【Next】
设置路径,单击【Next】。
一会就会安装好了,耐心等待哦。
(2)Python3虚拟环境创建
创建Acaconda Prompt的快捷方式,以后会经常用到,可以放到桌面
鼠标右键【以管理员身份运行】
命令行输入python,查看Anaconda版本自带的python3.8.8,在这里我们创建python3.7虚拟环境,并且命名【python37】
conda create -n python37 python=3.7
稍等一下,出现Proceed([y]/n)?
输入y或者直接回车,然后回自动下载一下包,一定要联网啊。
安装成功,可以通过下面的指令查询python的环境
conda info --e
激活创建的虚拟环境
conda activate python37
在激活的python37环境下,可以查看该环境安装的python包
conda list
2.Pycharm下载安装与虚拟环境的配置
(1)pycharm下载安装
Pycharm下载链接
此处我们下载社区版就可以
更改Pycharm的安装路径
勾选可选项
点击【install】,耐心等待安装
安装完成
(2)配置pycharm的虚拟环境
运行
启动后创建一个项目
创建工程名称,指定位置
选择刚刚创建的虚拟环境
配置好后也可以根据【File】》【Setting】》【Projection:项目名称】==》【Python Interpreter】中查看配置的环境
可以看到自带的Python包
3.PIE-Engine Studio以及其他API的安装
(1)下载PIE-Engine Studio的python开发包(安装时务必去官网下载最新的安装包)
(2)下载python包
下载python开发包必要的工具包geocoder*.whl、GDAL*.whl、Fiona*.whl等。
python包网址
根据之前安装的python版本及电脑配置选择对应的版本。
比如:刚刚在64位电脑安装了python3.7的虚拟环境,则需要选择GDAL‑3.3.1‑cp37‑cp37m‑win_amd64.whl,可以通过【Ctrl+f】搜索【GDAL】然后选择对应的版本
Fiona‑1.8.20‑cp37‑cp37m‑win_amd64.whl、geocoder-1.38.1-py2.py3-none-any.whl的下载不再赘述。
(3)安装python包
提醒:更换镜像源
平时安装第三个包的时候,经常会出错,可以更换镜像源,具体操作请移步5.Anaconda 查看、添加、删除源
1)安装Numpy
比较傻瓜的方式,把Anaconda包安装一下,虽然时间比较久,但是会省事一点,很多常用到的包都会给你安装。
你会发现numpy自己已经安装好,还有很多其他的常用包也会安装
然后我们手动安装其他三个包,这三个包都在一个文件夹中,比较方便安装
2)安装GDAL
3)安装geocoder
同上
4)安装Fiona
5)PIE-Engine Studio的python开发包
可以将安装包放在一个比较浅的目录下,目录比较深的话,安装时候会报错
最后可以通过以下代码,查看安装python包情况
6)安装Jupyter Notebook
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。jupter notebook支持地图交互显示。
在Anaconda Navigator导航栏页面进行Jupyter Notebook安装
4.用户登录编码
(1) 打开JetBrains PyCharm
(2) 点击Terminal,打开jupyter notebook
命令行输入:jupyter notebook回车,得到下图所示结果:
遇到这个问题,登陆不上去,别慌,不能因为一点点问题,就半途而废,更何况马上就成功了。
百度一下,果然,环境变量忘了配置,大家可自行搜索环境变量的配置,这里不再赘述,放上的我配置情况
成功解决:
还按照刚刚的方式,在Pycharm中的Terminal,键盘敲jupyter notebook/python -m notebook。
就会跳转到默认浏览器,就可以创建代码文件进行PIE Engine Studio开发了。
(3) 创建notebook
新建notebook,点击New,选择启动的notebook类型:python3。
(4) 一个小demo
下面介绍一个小demo:显示北京地区矢量
import pie
# 使用用户在平台上注册时的用户名/密码
pie.initialize("用户名", "密码")
# 调用地图
Map = pie.Map()
# 加载北京区域矢量
roi = pie.FeatureCollection('NGCC/CHINA_PROVINCE_BOUNDARY').filter(pie.Filter.eq("name", '北京市')).first().geometry()
Map.addLayer(roi, {'color':"red", 'fillColor':"00000000"}, "roi")
Map.centerObject(roi,7)
Map
四、总结
大功告成,接下来就可以开心的使用了。下载PIE-Engine Studio的python开发包,安装时务必去官网下载最新的安装包
欢迎大家批评指正,探讨交流!!!