什么是地图发布服务中间件(WeServer)
Posted 水经注GIS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是地图发布服务中间件(WeServer)相关的知识,希望对你有一定的参考价值。
点击蓝字关注,回复“免费数据”领取高清卫星影像
软件教程 | 作者 / 水中天 整理 / 白水
概述
在“免费领取的DAT离线卫星影像如何使用”一文中
我们讲到了,如果是一个省以内的小范围,则可以通过微图的DAT解压功能将其解压为瓦片后进行发布,但如果是一个省以上或全国乃至全球的DAT离线数据,则需要通过水经注地图发布服务中间件(WeServer)进行发布才是最方便的!
但有用户对“什么是地图发布服务中间件?”以及“中间件有什么作用?”不是很了解,本文将通过举例的方式让大家对该软件有一个初步的认识。
初识地图发布服务中间件
简单地讲,如果我们把每一张地图瓦片比作是一本书的话,你可以简单地将地图发布服务中间件(WeServer)理解为是一个图书管理员。
这样一来,我们就可以把地图显示客户端比作借阅者,而服务器中的数据存储硬盘就相当于是存储了大量书籍的图书馆。
当借阅者向图书管理员说明要借阅书籍的名称时,管理员会根据书名快速找出该本书给借阅者,只不过这里是COPY一份给借阅者,这本书的原件仍然是完好存在的。
我们回头再说回地图数据本身,地图显示客户端(如MapBOX、OpenLayers、ArcMap或QGIS等)根据当前需要显示的范围,就可以计算出需要请求的地图瓦片URL地址并向服务器中正在运行的中间件发送数据请求,中间件会根据请求的瓦片编号快速将数据返回到客户端。
也就是说,地图发布服务中间件(WeServer)的主要功能,就是根据客户端请求的瓦片编号,快速从海量数据中提取对应的地图瓦片并返回。
为什么中间件可以快速检索数据
为什么我们一直以来都在强调,当数据范围比较小的时候可以用不中间件,但当数据范围在一个省以上或全国乃至全球的时候就强烈建议用中间件呢?
想象一下你现在就是一个图书管理员,如果当图书馆的所有书都散列地放在地上,如果需要让你根据编号找到一本书,当数量不多的时候是不是会非常快?
但当图书多到一定量极的时候,虽然所有书都是按编号有序存放的,但找起来是不是也会很伤脑筋?
因此,我们应该把书放在一个个书架上,每一个书架也要有一个编号,而图书管理员应该是一个智能机器人,它可以根据编号快速计算出图书在某个书架上对应的行列位置,并将其快速提取出来。
现在回到地图发布服务中间件(WeServer)的讨论上来,大家无论是从我们水经微图软件中下载的卫星影像数据,还是我们在百度网盘为大家分享的免费影像数据都由多个的DAT文件组成,这每一个DAT文件就相当于是一个书架。
由于每一个DAT文件是有编号的,而DAT文件又有一个与之对应的IDX索引文件,如下图所示。
当地图发布服务中间件(WeServer)收到地图瓦片请求时,会根据瓦片编号首先计算出它属于哪一个DAT文件中,再根据IDX文件就可以计算出地图数据在DAT文件中的具体位置,整个过程不需要第三方数据库的支持,就可以通过算法干净纯粹地从海量数据中定位取出需要的地图瓦片数据。
归根到底,地图发布服务中间件(WeServer)之所以能快速地从100TB级海量数据中检索出每一张地图瓦片,除了它本身有智能机器人一样的计算能力和速度外,最重要的还是每一张地图瓦片在DAT文件中科学合理的存储有莫大关系。
DAT文件的存储方式相较于散列的瓦片存储,还有一个好处就是方便海量数据的拷贝复制,这给地图部署节省了大量的时间。
如果你无法想象它们之间的速度差距,你就想一想如果是搬一个图书馆的书的话,是一本一本地搬更快还是一个书架一个书架的搬更快呢?
DAT文件除了COPY速度快以外,存储还非常紧凑,比散列的瓦片存储更节省空间,也比MBTiles离线包小得多。
相同范围的卫星影像数据,存储为MBTiles文件后几乎是DAT文件的两倍,具体对比请参阅“免费DAT影像如何导出为MBTiles离线包”一文
中,将全球前10级卫星影像导出为MBTiles离线包之后与DAT文件的对比。
总结
本文对什么是地图发布服务中间件(WeServer)进行了讲解说明,文中所举的例子也许有些不太切合实际的地方,这些细节不在讨论范围内,我们目的旨在通过举例让大家对地图发布服务中间件(WeServer)有一个相对直观的认识和了解!
最后,地图发布服务中间件(WeServer)的下载安装方法,请参阅“《地图发布服务中间件》下载安装教程”一文
中的具体说明,如果你在使用该软件的过程中有任何疑问,请通过热线电话400-028-0050联系工作人员咨询!
推荐阅读:
【免费】
长按关注水经注,我们与你更近一步
地图下载 | 地图发布 | 系统部署 | 定制研发
你也“在看”吗?
以上是关于什么是地图发布服务中间件(WeServer)的主要内容,如果未能解决你的问题,请参考以下文章
开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系
蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构
如何在水经注地图发布中间件中设置离线数据目录?
开源 |蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构
蚂蚁金服金融级分布式中间件SOFA的背后故事
蚂蚁金服研发的金融级分布式中间件SOFA背后的故事