专栏名称: 小猿猴GISer
GIS遥感交流学习
目录
相关文章推荐
有车以后  ·  10万级纯电小车的越级答卷 ·  2 天前  
金华晚报  ·  雷军发视频秀SU7 ... ·  2 天前  
金华晚报  ·  雷军发视频秀SU7 ... ·  2 天前  
玩车教授  ·  教授看新车 | ... ·  3 天前  
互联网坊间八卦  ·  汽车之家卖了! ·  4 天前  
51好读  ›  专栏  ›  小猿猴GISer

我搭建了一个简单的遥感数据下载网站

小猿猴GISer  · 公众号  ·  · 2023-12-18 08:00

正文

一个简单的遥感数据下载网站

简介

我搭建了一个简单的遥感产品数据下载网站,目前支持大部分的DEM数据和土地覆盖数据下载。

数据列表

由于服务器的硬盘容量限制,在考虑到数据使用广泛性的基础上,目前的数据有:

名称 类别
250米DEM 低分辨率DEM数据
1000米DEM 低分辨率DEM数据
12.5米ALOS_DEM 高分辨率DEM数据
TANX30米DEM 中分辨率DEM数据
30米Copernicus_DEM 中分辨率DEM数据
30米SRTM_V3.0_DEM 中分辨率DEM数据
30米ASTER_DEM 中分辨率DEM数据
30米AW3D30_V4 中分辨率DEM数据
30米NASA_DEM 中分辨率DEM数据
modis土地覆盖 低分辨率土地覆盖数据
ESA_CCI土地覆盖 低分辨率土地覆盖数据
GAZE土地覆盖 低分辨率土地覆盖数据
GLCNMO土地覆盖 低分辨率土地覆盖数据
CLCD土地覆盖 中分辨率土地覆盖数据
AGLC土地覆盖 中分辨率土地覆盖数据
GLC30土地覆盖 中分辨率土地覆盖数据
GLC_FCS土地覆盖 中分辨率土地覆盖数据
GLCLUC土地覆盖 中分辨率土地覆盖数据
ESA土地覆盖 高分辨率土地覆盖数据
FROM_LC 高分辨率土地覆盖数据

技术路线

这个网站我采用的是静态页面当前端,后端交互使用的express,数据库使用了postgress、mysql等,使用gdal负责地理处理。详细路线如图所示:

技术总结

网站后端搭建

可以使用的后端开发框架有很多,比如nodeJS、python或者java等,这里我还是使用了自己比较熟悉的nodeJS。但核心目标只有一个,就是服务于前端请求,比如前端发起了一个裁剪,后端需要调用本地环境的python解释器进行数据裁剪;又比如用户需要预览图层,则调取相关的geoser的wmts地址给用户。

登录系统搭建

可以使用第三方开源系统搭建。这里我使用的是casdoor,支持短信验证码、邮件验证码和微信扫码登录。但考虑到可用性上,本网站即使不登陆也可以下载数据。

底图框架的选择

图层加载分两部分内容:底图和遥感数据展示。可选的技术框架很多,比如mapbox或者高德的Amap。

我使用高德的amap的开发包进行搭建,则要确保所有数据都是全球墨卡托投影。

遥感产品数据的整理

针对每一种产品都需要下载中国范围内的所有数据,并使用python将这些数据镶嵌为一张全国tif。

geoserver的使用

遥感数据的可视化需要使用到geoserver进行遥感数据发布。

这里面涉及到两个操作,一个是geoserver的手动发布,另一个是编写后端脚本,将用户裁剪后的影像进行geoserver自动发布。

postgis的使用

在进行行政区划选择时,需要用到各个区域的矢量数据,这个矢量数据是存储在postgis数据库中的,在网站后端与postgis进行通信,提取相关区域矢量,然后将该矢量返回给前端。

gdal的服务器端调用

由于大部分后端没有支持空间数据的相关包,最好装一个带有gdal的python解释器。我的服务器是使用miniconda进行python管理,这样后端可以调用多个不同环境的python包来进行空间数据处理,比如计算矢量面积、裁剪矢量、shp转换等等。

其他技术总结

总得来说,遥感数据下载网站和普通网站的搭建最大的不同在于空间数据的处理:







请到「今天看啥」查看全文