【问题标题】:How to style a single Mapbox Vector Tile?如何设置单个 Mapbox 矢量平铺的样式?
【发布时间】:2017-01-21 14:06:44
【问题描述】:

我想在离线环境中从MBTiles 文件中提取一个Vector Tile 并根据Mapbox Style Specification 对其进行样式设置。

研究:

Mapbox 有一个 Static Api,这正是我想要的,但显然需要互联网访问。

Mapbox 还具有 Mapbox-Gl-NativeMapbox-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


    【解决方案1】:

    您可以使用tilelive-copytl 从矢量切片生成光栅图像。您可以使用 TM2 样式(以前版本的 Mapbox Studio 支持)或 Mapnik XML 样式表。 TM2style 允许您使用 CartoCSS 定义样式规则。

    然后您可以传入磁贴的边界和缩放级别:

    ./node_modules/tl/bin/tl.js copy -z 13 -Z 13 -b "-77.34027 38.7665218926 -.8420375202 39.1199273249" tmstyle://./stations-style.tm2 file://./tile-export
    

    您必须事先安装相应的tilelive 协议和tl

    npm i tilelive-tmsource tilelive-tmstyle tilelive-file tl
    

    "awesome vector tiles" 存储库包含地图框矢量切片的渲染替代列表。也许你会发现它很有用。

    这是另一个关于从矢量源生成光栅图像的有用资源:https://www.azavea.com/blog/2015/05/29/converting-mapbox-studio-vector-tiles-to-rasters-2/

    【讨论】:

      【解决方案2】:

      我还找到了另一个解决方案。 NET-Mapnik 是一个 .Net 解决方案,允许您根据 mapnik xml 样式设置矢量平铺样式。这是迄今为止我发现的最好的 WPF 解决方案。我可以使用 sqlite 连接从 mbtiles 文件中获取矢量切片,使用 Net-Mapnik 设置样式并将其作为位图流返回到 Telerik。

      【讨论】:

        猜你喜欢
        • 2016-01-27
        • 2022-06-29
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        相关资源
        最近更新 更多