java 生成瓦片_生成矢量瓦片 | SuperMap iDesktop Java

SuperMap iDesktop 桌面产品支持将矢量地图生成遵循 MapBox MVT 规范的矢量瓦片(.mvt),瓦片数据包含要素的几何形状与属性信息,而要素的风格样式由 MapBox 标准样式文件(style.json)描述。矢量瓦片相比栅格瓦片具有无级缩放,风格修改,数据量相对较小的优势,能更好满足灵活多样的 Web 地图应用。以下您将了解到如下内容:

矢量瓦片风格

SuperMap 生成的矢量瓦片将基于 MapBox 样式文件在 SuperMap iClient 客户端进行显示,客户端使用 MapBox GL 或者 OpenLayers 渲染显示矢量瓦片。SuperMap 地图中的点、线、面、文本图层支持切分为矢量瓦片(如果地图中包含其他图层,如影像、栅格图层,切矢量瓦片时将忽略这些不支持的图层),图层风格等将根据 MapBox GL 版本8的样式规范生成瓦片风格文件。关于 MapBox 样式,请参见: https://www.mapbox.com/mapbox-gl-style-spec。 随着 MapBox GL 版本升级,MapBox 样式也会有相应的更新。

0f82bae435ae572f2c0bb52328386eab.png

生成矢量瓦片

矢量瓦片的生成与与生成栅格瓦片的操作步骤大致相同,矢量瓦片的生成同时支持“单任务切图”和“多任务切图”。以下以“单任务生成地图瓦片”为例,描述生成矢量瓦片的具体操作。

1.打开待切示例地图数据 China.smwn 工作空间,将数据源设置为只读并保存工作空间。注:如若切图数据存储在远程服务器中,请在此处以打开远程服务器中的共享切图数据。

在“地图”选项卡的“制图”组,单击“单任务”按钮。

在工作空间管理器“地图”节点,选择待切地图右键鼠标,在右键菜单中选择“生成地图瓦片(单任务)”项。

在地图窗口打开待切地图,在右键菜单中选择“生成地图瓦片(单任务)”项。

以上述任一方式操作将弹出“生成地图瓦片(单任务)”对话框。选择新建单任务切图,

2.选择瓦片类型:在弹出的“生成地图瓦片”对话框右侧参数设置区域的“瓦片类型”处选择瓦片类型为“矢量瓦片”。

3.设置瓦片结果参数:由于矢量瓦片数据和样式是分开存储的,因此,可以实现风格和瓦片的独立生成和更新。通过“生成矢量瓦片数据”、“生成瓦片风格”和“生成字体缓存文件”三个复选框进行控制。

注意:如果地图中的图层使用了过滤表达式或者标签带有背景,将不支持矢量瓦片数据和样式的独立生成和更新,否则,所生成的瓦片数据和风格对应有误。

生成矢量瓦片:生成*.mvt 类型的瓦片,生成结果存储在瓦片结果中 tiles 文件夹中。

生成瓦片格式:生成包含地图转换对应风格的*.json 文件,生成结果存储在瓦片结果中 sprites 和 styles 两个文件夹中。

生成字体缓存文件:生成地图的字体文件,当用户需要对字体风格单独更新的时候,勾选该选项,即可在瓦片结果中生成 fonts 文件夹。

添加所有属性字段值:生成的*.mvt 瓦片中,包含了对应数据集几何对象所带的全部非系统字段。

缓冲范围:设置瓦片缓冲范围,每张瓦片按照设置的范围值向四周扩大,即生成的瓦片包含了缓冲区范围内的数据。设置缓冲范围的意义是在浏览瓦片时,相邻瓦片的边界可以无缝衔接。

4.路径设置:设置瓦片名称和输出路径。

5.设置存储类型:支持原始、紧凑和 MongoDB 存储类型。有关存储类型的更多内容,请参见地图瓦片存储类型。

6.设置好以上参数后,单击“下一步”按钮,在对话框中设置瓦片范围、索引范围参数。

7.所有参数设置完成后,单击“生成”按钮,执行生成矢量瓦片。

矢量瓦片结果目录

执行切图任务完成,在输出窗口会提示地图生成平面地图瓦片成功。在输出路径下,将产生如下所示的文件夹和文件。

9f46159c33f4ba1aabb985d78be72b0d.png

fonts:矢量瓦片使用的字体文件;若参数设置未勾选“生成字体缓存文件”,将不生成该字体文件。

sprites:矢量瓦片图标相关风格内容资源;若参数设置未勾选“生成瓦片风格”,将不生成该风格文件。

styles:矢量瓦片风格描述文件;若参数设置未勾选“生成瓦片风格”,将不生成该风格文件。

tiles:矢量瓦片数据(.mvt文件)。在tiles文件夹下,瓦片按照比例尺层级进行分文件夹存储,文件夹名称为全球剖分层级,级数从0开始计数。层级文件夹下的子文件夹命名为全球剖分的列号,其下为矢量瓦片文件,格式为.mvt,文件名称为全球剖分的行号。

sci文件:矢量瓦片的元信息描述文件,记录了数据的投影、地理范围、层级比例尺等信息

矢量瓦片显示

在 SuperMap iDesktop 中可以直接显示矢量瓦片,并且支持 MapBox GL 和 OpenLayers 两种渲染显示效果。其中,OpenLayers 支持多种投影的矢量瓦片渲染显示,而 MapBox GL 只支持渲染显示 EPSG3857投影的矢量瓦片。

SuperMap iDesktop 中,以打开文件型数据源的方式,打开矢量瓦片目录中的*.sci 文件;然后,双击打开加载进来的矢量瓦片即可显示矢量瓦片。

如下图所示,矢量瓦片的坐标系为 WGS1984,因此,当前默认使用 OpenLayers 渲染显示矢量瓦片,不支持切换渲染方式。

af744ba7b6f9d48cae3c80bfcb906f06.png

如果矢量瓦片的坐标系为 EPSG3857 投影,可以通过两种方式渲染显示 MapBox GL 和 OpenLayers,如下图所示,界面提供了 OpenLayers 和 MapBox 两个按钮,供用户选择具体的矢量瓦片渲染方式。

98c50e6e264a82ff4112ea9b55640a57.png

修改瓦片风格

矢量瓦片的最大特点之一就是瓦片数据与风格独立,因此,能够通过修改瓦片的风格来改变矢量瓦片地图的显示效果,无需重新创建矢量瓦片。

矢量瓦片的风格描述位于“矢量缓存目录/Styles/style.json”样式文件中,所使用的点、线、面符号等资源存储在“矢量缓存目录/ sprites”目录下。

修改矢量瓦片风格可以通过以下途径:

途径一:直接修改style.json样式文件,但此方式并不易用,不建议使用这种方式修改瓦片风格。

途径二:重新生成矢量瓦片风格。矢量瓦片创建完成后,若需要修改瓦片的风格,而瓦片数据保持不变,此时,可以修改对应地图的风格,然后,执行创建矢量瓦片的操作,在参数设置中,勾选“地图转换对应风格”,取消“生成矢量缓存数据”的勾选状态(其他参数的设置需要保持与待更新风格的矢量瓦片的生成配置一致),这样,创建矢量瓦片的结果只有风格内容。最后,将新创建的矢量瓦片风格内容替换到待更新风格的矢量缓存目录即可。

途径三:SuperMap Online 在线修改矢量瓦片风格。矢量瓦片通过 iServer 发布为地图服务后,就可以在 SuperMap Online 在线平台访问,并可以通过 MapStyler 矢量瓦片风格编辑工具,修改地图显示风格。MapStyler 是 SuperMap Online 和 SuperMap iPortal 内置的 WebApp ,可以进行矢量瓦片地图风格的加载、修改、导出等操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值