目录

一、数据上传

1.矢量数据上传

2.栅格数据上传

二、数据的调用

1.矢量数据的调用

2.影像数据的调用

三、数据导出下载

1.矢量数据导出下载

2.栅格数据导出下载

3.导出至云盘与资源的区别

四、总结


在上一篇文章中,我们学到了PIE Engine数据下载器的使用。

在本文中,你将学习到:

1 将矢量/栅格的数据上传至云计算平台

2 调用平台或个人上传的矢量或栅格数据

2 将平台的矢量/栅格数据导入到个人资源或云盘

一、数据上传

1.矢量数据上传

我将以黄河上游的矢量边界数据为例,将其上传至PIE Engine Studio平台的个人资源中。在资源栏中点击上传,选择上传矢量数据并选择上传的数据格式,我在这里选择shapefile格式。

在这里,我们可以看到数据要求有:

1 数据若为geojson可直接上传,若为shapefile需要以zip压缩包的方式上传

2 压缩包内部必须包括(shp、prj、shx、dbf)四个文件

3 推荐编码为UTF-8,一般默认

4 解压后的数据不能大于50MB,一般这种情况出现在上传大量样本点的时候

5 压缩包的名称不能有汉字与其他奇怪的字符

将压缩好的矢量边界数据拖拽至上传框或者直接点击选择压缩包,点击上传;看到以下界面表示上传成功,我们也可以在资源栏中看到它。

2.栅格数据上传

同理,我们在资源栏中选择上传遥感影像数据,这里以东京的遥感影像为例。

从数据要求中我们可以看到PIE Engine平台支持TIF格式的影像和TXT格式的影像,由于作者没有使用过TXT格式的,在这里以东京塔_1m的TIF影像为例上传,对影像数据的要求有:

1 影像格式后缀为tif、tiff等

2 单个文件最大不超过10GB

3 资源名称不能有汉字或其他奇怪的字符

将影像数据拖拽至上传框或者直接点击上传即可。从下图中我们可以看到已上传成功。

我们可以在资源中看到已上传的影像。若是没有可以点击刷新按钮后再查看。

二、数据的调用

数据调用可分为两类:

1 平台数据的调用

2 上传数据的调用

1.矢量数据的调用

①平台数据

以北京市的行政边界为例:

fCol = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY");//市级矢量数据集
var roi = fCol.filter(pie.Filter.eq("name", "北京市")).first().geometry();//筛选出name属性为“北京市”的首个FeatureCollection对象并将其转换为geometry类型
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000"}, "roi");//在底图图层中可视化此矢量,其中color属性为矢量边界的轮廓颜色,fillColor为填充色,“roi”为图层名称
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示

调用效果如下图:

可以看出矢量数据已经可视化在底图上,且图层名为“roi”。

②上传数据

        以之前上传的黄河上游边界为例,在资源中点击需要调用的矢量资源:

在此可以看到矢量数据的存储路径,我们调用时需要此参数,输入以下代码。

var roi = pie.FeatureCollection("user/qianyouliang/hh").first().geometry();//将黄河上游区域矢量的首个FeatureCollection对象转换为geometry类型
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000",width:2}, "roi");//在底图图层中可视化此矢量,其中color属性为矢量边界的轮廓颜色,fillColor为填充色,width为线宽,“roi”为图层名称
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示

调用效果如下,成功实现上传数据的调用。

2.影像数据的调用

平台的数据调用可以是单景影像也可以按照矢量边界裁剪后的影像。

①平台数据

以北京市2021年的哨兵2号_L1C数据为例,代码如下(代码解释包含在在代码中):

fCol = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY");//市级矢量数据集
var roi = fCol.filter(pie.Filter.eq("name", "北京市")).first().geometry();//筛选出name属性为“北京市”的首个FeatureCollection对象并将其转换为geometry类型
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000"}, "roi");//在底图图层中可视化此矢量,其中color属性为矢量边界的轮廓颜色,fillColor为填充色,“roi”为图层名称
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示
var bands = ['B2','B3','B4','B8'];//选择影像数据的波段
var image = pie.ImageCollection("S2/L1C")//选择数据源为哨兵2号L1C数据.filterBounds(roi)//以roi边界为位置选择影像.filterDate("2021-3-1","2021-8-1")//选择在2022年3-5月份的影像.filter(pie.Filter.lt("cloudyPixelPercentage", 5))//云盖量属性小于5.select(bands)//选择需要的波段.mosaic()//选择需要的波段并拼接影像.clip(roi);//根据研究区范围裁剪影像Map.addLayer(image.select(["B4","B3","B2"]),{min:0,max:3000},"image");//将其展现在底图上,其中select函数用于选择需要展示出来的波段组合。min-max是影像数值范围,image是图层名称

查看结果,可以看到影像已被加载出来,细节清晰。

②上传数据

        以之前上传的东京1m影像为例,上传影像因为边界已知,所以不需要roi辅助。代码如下:

bands = ['B1','B2','B3']//选择要显示的波段
var image = pie.Image('user/qianyouliang/tokyo_1m').select(bands);//提取资源中上传的影像
Map.addLayer(image.select(bands),{min:0,max:255},"研究区遥感影像");//将其可视化在底图中
Map.centerObject(image,18)//定位其中心并以18级放大级别展示

结果如下,可以清晰的看到地物:

三、数据导出下载

在进行数据导出之前,我们需要知道,数据有两个导出途径:

1 资源 资源区域数据可以直接在分析中调用,也可以直接下载

2 云盘 数据只可以下载到本地,不能在分析中调用

Export类:提供影像、表格等导出功能,支持导出数据至个人资源目录或云盘下。

image函数,用于导出影像数据至个人资源

table函数,用于导出矢量数据至个人资源

imageToCloud函数,用于导出影像至个人云盘

1.矢量数据导出下载

我将以北京市的行政边界为例导出矢量数据。代码如下:

var fCol = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY");//市级矢量数据集
var roi = fCol.filter(pie.Filter.eq("name", "北京市")).first().geometry();
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000"}, "roi");
Export.table({collection: roi,//选择导出的对象,这里为roi图层description: "ExportShp"//任务描述,用处不大
});

2.栅格数据导出下载

以之前北京市2022年的哨兵2号L1C影像数据为例,将其导出到云盘或者资源。

fCol = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY");//市级矢量数据集
var roi = fCol.filter(pie.Filter.eq("name", "北京市")).first().geometry();//筛选出name属性为“北京市”的首个FeatureCollection对象并将其转换为geometry类型
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000"}, "roi");//在底图图层中可视化此矢量,其中color属性为矢量边界的轮廓颜色,fillColor为填充色,“roi”为图层名称
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示
var bands = ['B2','B3','B4','B8'];//选择影像数据的波段
var image = pie.ImageCollection("S2/L1C")//选择数据源为哨兵2号L1C数据.filterBounds(roi)//以roi边界为位置选择影像.filterDate("2021-3-1","2021-8-1")//选择在2022年3-5月份的影像.filter(pie.Filter.lt("cloudyPixelPercentage", 5))//云盖量属性小于5.select(bands)//选择需要的波段.mosaic()//选择需要的波段并拼接影像.clip(roi);//根据研究区范围裁剪影像Map.addLayer(image.select(["B4","B3","B2"]),{min:0,max:3000},"image");//将其展现在底图上,其中select函数用于选择需要展示出来的波段组合。min-max是影像数值范围,image是图层名称
Export.image({image: image,//导出对象description: "ExportImage",//导出任务描述assetId: "24287496921681920123",//导出数据的ID,此参数可忽略region: roi,//导出矢量范围scale: 30 //导出的分辨率
});

运行结果如下图,我们可以在右上角任务栏中找到影像导出的按钮,点击执行便可导出至个人资源:

3.导出至云盘与资源的区别

在上文中我们可以看到,矢量数据和影像数据都可以导出至个人资源并在需要的时候直接调用。但是Export类也有一个影像导出至云盘的函数imageToCloud:使用代码如下:

fCol = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY");//市级矢量数据集
var roi = fCol.filter(pie.Filter.eq("name", "北京市")).first().geometry();//筛选出name属性为“北京市”的首个FeatureCollection对象并将其转换为geometry类型
Map.addLayer(roi, {color:"#ff0000", fillColor:"#00000000"}, "roi");//在底图图层中可视化此矢量,其中color属性为矢量边界的轮廓颜色,fillColor为填充色,“roi”为图层名称
Map.centerObject(roi, 7);//将底图的中心选择在矢量图层的中心,并以7级展示
var bands = ['B2','B3','B4','B8'];//选择影像数据的波段
var image = pie.ImageCollection("S2/L1C")//选择数据源为哨兵2号L1C数据.filterBounds(roi)//以roi边界为位置选择影像.filterDate("2021-3-1","2021-8-1")//选择在2022年3-5月份的影像.filter(pie.Filter.lt("cloudyPixelPercentage", 5))//云盖量属性小于5.select(bands)//选择需要的波段.mosaic()//选择需要的波段并拼接影像.clip(roi);//根据研究区范围裁剪影像Map.addLayer(image.select(["B4","B3","B2"]),{min:0,max:3000},"image");//将其展现在底图上,其中select函数用于选择需要展示出来的波段组合。min-max是影像数值范围,image是图层名称
Export.imageToCloud({image: image,//导出云盘的影像description: "ExportImage",//导出任务描述assetId: "24287496921681920123",//导出的影像编号,可忽略region: roi,//导出影像的矢量范围边界scale: 30//导出影像的分辨率
});

用户可在资源栏旁边的云盘中找到导出的影像,同时资源栏和云盘栏的数据都可以点击下载按钮进行下载。

        个人云盘与个人资源相比有以下特点:

1 导出至云盘速度快于导出至个人资源

2 导出云盘数据只能用于下载,不能在平台上调用

注意:云盘和资源的存储空间和下载流量都是有限制的!

四、总结

在本文中,作者对PIE Engine平台的数据上传、调用以及导出下载进行的详细的案例介绍,在今后的文章中,作者将继续分享PIE Engine平台的操作流程以及遥感云计算知识的分享。


        如果觉得我的文章对你有帮助的话,三连+关注便是对我创作最大的支持!

更多遥感云计算文章查看https://blog.csdn.net/qq_45590504/category_11808327.html

博主会不定期修改文章,关注我查看最新内容

PIE Engine系列2 数据的上传、调用及下载(附源码超详细)相关推荐

  1. Python对阿里巴巴、谷歌、腾讯等六家公司股票数据进行分析与可视化实战(附源码 超详细)

    需要源码请点赞关注收藏后评论区留言私信~~~ 下面针对阿里巴巴.谷歌.亚马逊.Facebook.苹果和腾讯六家公司股票数据进行了分析与可视化描述,数据分析前需要安装互联数据获取包pandas-data ...

  2. JAVA文件上传详解(附源码)

    文章目录 JAVA文件上传详解(附源码) 1.准备工作 2.使用类介绍 FileItem类 ServletFileUpload类 3.代码编写 JAVA文件上传详解(附源码) 在web应用中,文件上传 ...

  3. springboot入门系列教程|第九篇:springboot实现图片上传与显示(附源码)

    前言## 上一篇我们介绍了springboot如何实现自定义拦截器配合注解使用,那么这篇我们将介绍springboot实现图片上传的功能. 目录## 文章目录 前言## 目录## 项目创建### 项目 ...

  4. Android Studio App开发入门之在活动之间传递消息(附源码 超详细必看)(包括显示和隐式Intent,向上一个和下一个Activity发送数据)

     运行有问题或需要源码请点赞关注收藏后评论区留言~~ 显示Intent和隐式Intent Intent是各个组件之间的信息沟通的桥梁,既能在Activity之间沟通,又能在Activity与Servi ...

  5. 【Python机器学习】PCA降维算法讲解及二维、高维数据可视化降维实战(附源码 超详细)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 维数灾难 维数灾难是指在涉及到向量计算的问题中,当维数增加时,空间的体积增长得很快,使得可用的数据在空间中的分布变得稀疏,向量的计算量呈指数倍增长的一 ...

  6. 利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细

    在Spring Boot的Web应用中 内置了JSON数据的解析功能,默认使用Jackson自动完成解析(不需要解析加载Jackson依赖包)当控制器返回一个Java对象或集合数据时 Spring B ...

  7. php 图片 投稿 源码,php图片上传,审核,显示源码(转载)

    php图片上传,审核,显示源码(转载) 最近想为http://gif.nbqq.net,加一个网友可以自主上传的页面,然后我审核.所以百度了下源码先.下午好好研究下. 首先来看下上传部分的表单代码: ...

  8. 通过自定义组件学习Vue系列(二)【时间轴】(附源码)

    需求: 用于升级日志的显示 效果图: 实现原理: 主要区域分为两块,时间区和内容区,时间区是画一个圆点和显示一个时间,内容区左边一个竖线和文字显示 然后做一下循环,将每个日期的数据显示出来 布局采用f ...

  9. java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)

    java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...

  10. Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW)

    Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

最新文章

  1. 早就听闻阿里开源的 Arthas 在做 Java 应用诊断上十分牛逼,没失望
  2. java mybatis狂神说sql_帮你搞定Java面试,不要再错过了
  3. 全球首个Magic Leap One体验:吓到你不敢进房间
  4. VoiceConvert/音频格式快速转换
  5. 阐述Linux动态库的显式调用
  6. 转载:从地理学透视中国现代化
  7. 2.4.PHP7.1 狐教程-【PHP常量】
  8. Nginx部署前端项目
  9. 转:jwgkvsq.vmx手工清除方法(针对病毒变种补充完整)
  10. 基于51单片机的蜂鸣器及简谱的学习(编曲)
  11. shiro+springMVC整合文档及Demo
  12. 单片机节日彩灯c语言,单片机节日彩灯控制器的设计Proteus仿真
  13. CMWAP和CMNET 的主要区别与适用范围
  14. idea.log如何精确查看错误信息
  15. [pyecharts1.7] 坐标轴设置:X轴、Y轴通用
  16. H5实现扫一扫(二)
  17. html中菜单触碰变色,利用css filter实现菜单图片变色效果
  18. 萌妹子Python入门指北(二)
  19. oracle安装停在2%,青苹果还原win7系统安装oracle11g停在了2%的具体步骤
  20. 现实迷途 第二十八章 钱珊其人

热门文章

  1. ffmpeg把yuv数据转换成jpeg图片
  2. 系统分析员到底做什么?
  3. 学计算机电脑屏幕多大,买电脑显示器的技巧 电脑显示屏多大尺寸好
  4. mysql中默认值_和comment_MySQL字段默认值踩坑记录
  5. 【Microsoft Office】免密破解Microsoft Word文档(.docx)的文档保护
  6. 新建Flutter项目无法导入FlutterActivity
  7. MTK平台TP驱动详解
  8. 路由器分类2【按功能级别分】
  9. 你永远赢不了“凯利公式”
  10. 国美易卡被曝涉嫌〃高利贷〃,威胁用户把隐私卖给诈骗集团