SuperMap地图系列:矢量瓦片的应用

2021-12-06  本文已影响0人  SuperMap技术控

>作者:xinxin

背景

以图片为介质的栅格瓦片使得在线地图显示效果高,传输方便,但随着地图的移动化和应用的逐渐深入,栅格瓦片占用宽带和存储空间都较大,不利于地图在移动设备上的应用;另外,生成栅格瓦片后无法修改地图的数据和风格,只能修改原始数据后重新切栅格瓦片,增加了很多工作量。为了弥补栅格瓦片的不足,矢量瓦片应运而生。矢量瓦片数据以矢量形式存在,同一个地图切矢量瓦片体积小,压缩度高,占用的存储空间比栅格瓦片要小上千倍。数据传输体量小,地图更新的代价小。目前有多种GIS软件可以切矢量瓦片,下面小编将分享在SuperMap iDesktop产品中如何生成矢量瓦片。

生成矢量瓦片

    SuperMap iDesktop桌面产品支持将矢量地图生成遵循MapBox MVT规范的矢量瓦片(.mvt),瓦片数据包含要素的几何形状与属性信息,而要素的风格样式由MapBox标准样式文件(style.json)描述。在iDesktop中生成矢量瓦片步骤如下:
1、 配置地图
  在iDesktop中将项目中要用到的地图配置好,并保存。
2、 生成地图瓦片
  选择地图右键,可以是单任务切图,也可以是多任务切图,根据地图的数据大小来选择。
3、 参数设置
  进入“生成地图瓦片”弹框后,瓦片类型选“矢量瓦片”,并在左侧勾选要切矢量瓦片比例尺的级别,其它参数可以默认,如下图:

设置完后点击“下一步”,可以设置瓦片切的范围,没有特别需求可以默认。
4、 生成矢量瓦片
  点击确定后会自动生成,生成的快慢取决于瓦片切的范围和勾选的比例尺级别,范围越大,勾选的比例尺级别越大生成矢量瓦片的耗时越久。
5、 矢量瓦片结果目录
  执行切图任务完成,在输出窗口会提示地图生成平面地图瓦片成功。在输出路径下,将产生如下所示的文件夹和文件,如下图:

 fonts:矢量瓦片使用的字体文件(如果切的地图中没有文本则不会生成这个文件夹)。
 sprites:矢量瓦片图标相关风格内容资源。
 styles:矢量瓦片风格描述文件;
 tiles:矢量瓦片数据(.mvt文件)。在tiles文件夹下,瓦片按照比例尺层级进行分文件夹存储,文件夹名称为全球剖分层级,级数从0开始计数。层级文件夹下的子文件夹命名为全球剖分的列号,其下为矢量瓦片文件,格式为.mvt,文件名称为全球剖分的行号。
 sci文件:矢量瓦片的元信息描述文件,记录了数据的投影、地理范围、层级比例尺等信息。

矢量瓦片的应用

在SuperMap系列产品中,如何对接和使用生成的矢量瓦片呢?下面小编来分享一下。
1、矢量瓦片结果目录中存在.sci文件,那么可以在SuperMap iDesktop和iObjects 中以打开地图缓存的方式打开加载;
2、矢量瓦片更多应用在Web端和移动端,那么先要发布成对应的服务,可以用SuperMap iServer来发布,然后用SuperMap iClient for JS和iMobile for Android对接,如下图:

3、SuperMap iMobile for Android也可以离线对接矢量瓦片数据,使用MVTCache引擎打开这个数据,关键代码如下:

//以数据源的方式打开MVT数据
DatasourceConnectionInfo dsInfo =newDatasourceConnectionInfo();
dsInfo.setServer(sdcard + "/SampleData/MVT/NewYork/styles/style.json");
dsInfo.setEngineType(EngineType.MVTCache);
dsInfo.setAlias("MVT");
Datasource ds = mWorkspace.getDatasources().open(dsInfo);

结语

矢量瓦片技术的出现,很大的弥补了栅格瓦片的一些不足,但目前矢量瓦片技术还没有栅格瓦片成熟,还需要GIS工作着不断的突破和完善,我也相信这项技术会越来越成熟,并应用到各行各业。

上一篇下一篇

猜你喜欢

热点阅读