查看原文
其他

使用PIE engine免费快速下载全球12.5m的DEM影像

锐多宝 遥感之家 2023-09-06


下载高程数据,一共就四个个步骤:


1.注册PIE engine

2.加载范围文件;

3.加载高程数据文件;

4.导出DEM文件;


引言

在这之前,我先说明一下,为什么要使用PIE engine来下载DEM数据?我们也可以直接用官网下载DEM数据啊?

12m的DEM下载官网的地址是https://search.asf.alaska.edu/#/,有需要的自取;

但是这种方法并不方便:因为需要筛选使用哪一景影像;下载到本地还需要自己裁剪、镶嵌。

我的原则是能省事就省事,能懒就懒。当朋友问我有没有高分辨率的DEM数据时,我就想到了PIE_Engine,因为GEE也没有12.5m的DEM数据,但是PIE有。所以写了下面简单的代码。


1.注册PIE engine

PIE engine是一个遥感云计算平台,类似与google earth engine。最大的好处是可以直接连接!!数据下载速度比GEE高了几个级别。另外,如果你会GEE,那PIE engine应该也没问题,两者基本上没有语法差别。

使用之前,打开pie engine的网址:

pie engine网址:
https://engine.piesat.cn/
然后注册一个账户,之后选择产品与服务中的PIE engine Studio,进入编程界面:

 进入编程界面之后,先建一个空白脚本,开始写代码。


2.加载范围文件:

加载矢量范围,一共有三种方法:

直接在pie engine上勾选;

上传自己的矢量;

使用已经存在的矢量数据。

本文使用的是PIE提供的省级矢量数据,使用代码如下,加载了北京市的矢量地图:

//加载roi文件var roi = pie.FeatureCollection("NGCC/CHINA_CITY_BOUNDARY") .filter(pie.Filter.eq("name", "北京市")) .first() .geometry();


3.加载高程数据文件:

首先在资源目录搜索DEM,会自动跳出12m与30m的全球DEM。我们先看一看需要下载的ALOS DEM的介绍:

 复制引用的代码,并且做一个筛选,将DEM加载到地图中:

//加载高程数据.ALOS_DEM_12var roi_DEM = pie.ImageCollection('DEM/ALOS_DEM_12') .filterBounds(roi) .filterDate("2011-1-01", "2011-12-31") .first() .select(["elevation"]) .clip(roi) ;


筛选过程中,有四点需要说明:时间范围选2011年;需要选择高程数据的波段elevation;筛选即裁剪,节约后续操作;如果一景影像不能覆盖研究区,应考虑mosaic镶嵌,再进行裁剪。

4.导出DEM文件:

筛选成功后,进行一个DEM的显示,看看效果。然后导出DEM。需要注意,scale设置为12,而非12.5。因为DEM数据是int16的数据,这其中分辨率是12m,而非12.5m。

//显示Map.centerObject(roi, 6);Map.addLayer(roi, {color: 'FF0000', fillColor: '00000000', width: 1}, "roi")Map.addLayer(roi_DEM)
//导出DEMExport.image({ image:roi_DEM, description: "dem_to_download", assetId: "dem_to_download", region:roi, scale: 12});


点击运行代码之后,按如图进行DEM数据的下载:

 数据下载完毕后,将DEM数据加载到arcgis中,看看效果:

结语:

使用GEE、pie_engine下载高程数据很方便,比起本地操作,遥感云平台可以选择多分辨率、预处理好的影像。


分享一下我的PIE engine的链接,有需要的自提:

https://engine.piesat.cn/engine-share/shareCode.html?id=aec383cd00c64ae1a93d3df66df4ac35

VX:kitmyfaceplease2;欢迎关注公众号:锐多宝的地理空间;


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存