一个简单的遥感数据下载网站
简介
我搭建了一个简单的遥感产品数据下载网站,目前支持大部分的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转换等等。
其他技术总结
总得来说,遥感数据下载网站和普通网站的搭建最大的不同在于空间数据的处理: