【发布时间】:2017-01-21 14:06:44
【问题描述】:
我想在离线环境中从MBTiles 文件中提取一个Vector Tile 并根据Mapbox Style Specification 对其进行样式设置。
研究:
Mapbox 有一个 Static Api,这正是我想要的,但显然需要互联网访问。
Mapbox 还具有 Mapbox-Gl-Native 和 Mapbox-Gl-JS 库,它们似乎非常适合从矢量切片生成地图,但我似乎无法找到一种方法来生成单个静态图像而不是整个地图。有什么办法吗?
Tessera 是一个瓦片服务器,它能够设置矢量数据的样式,但仅适用于 tm2 项目或 mapnik 样式表
背景: 使用Telerik Rad Map WPF Control 或.NET WPF 的任何地图控件,我想使用vector.mbtiles 作为离线地图源。
我能够从 mbtile 中提取单个矢量切片并使用 mapbox-vector-tile-cs 将其反序列化为可用信息,甚至能够从数据中创建一个基本位图图像并将其提供给 Telerik,它能够绘制简单的地理地图,但 ciy 和街道标签需要更复杂的代码来防止标签相互重叠和正确倾斜。
我目前能做什么:
- 使用自定义 Telerik TiledProvider 和自定义 Telerik TiledMapSource
- 从 mbtiles 中提取矢量切片
- 将矢量切片反序列化为 C# 类
- 使用矢量数据创建不带标签的数据位图
我的问题:
是否存在任何语言的现有库,甚至是能够根据Mapbox Style Specification 或任何可配置样式规范有效地设置单个矢量文件样式的可执行文件?
任何帮助都会很有用。我已经开始移植 Mapbox-Gl-Native 库,这很困难,因为它针对移动平台并且做了很多我不需要的事情,而且我无法弄清楚如何简化它以仅处理一个图块要求。 Telerik 只要求提供特定 x/y/zoom 的位图,这就是我需要完成的全部工作。
【问题讨论】:
标签: .net telerik mapbox-gl mbtiles vector-tiles