MapBox MB平铺与矢量平铺

时间:2015-10-28 09:19:50

标签: mapbox tile tilemill geovectortile

我对MapBox中的Tiles有点困惑。据我所知,瓷砖是一块地图,就像拼图一样。

MBTiles 是图片,但它们连接到数据库以读取数据和图像。让互动成为可能。因此,如果我移动鼠标,我可以显示光标下的图层细节。

矢量平铺将所有数据存储在矢量中,它们仅用于快速渲染图像。不可能与这些数据进行交互。

我错了吗?

现在,我发现MBTiles有TileMill工具,Vector Tiles有MapBox Studio Classic工具。我猜他们是出于不同的目的;第一个用于交互式地图,后者用于快速渲染。 那么....为什么TileMill not supported anymore支持MBStudio? 是否可以使用MBStudio制作交互式地图?

谢谢

2 个答案:

答案 0 :(得分:19)

这是一个很好的问题!

.ai是一种文件类型,可以包含栅格或矢量切片。您可以将其视为Adobe Illustrator mbtile文件 - 它可以包含矢量或栅格数据。栅格图块和矢量图块都可以采用required格式。

使用TileMill,您的矢量数据(shapefile,CSV等)与您的CartoCSS样式相结合并传递给Mapnik以生成一堆平铺图像。然后,您可以存储您的图块并通过图块服务器将它们提供给Web地图。使用Mapbox Studio Classic,您将数据转换为矢量切片并创建CartoCSS样式以设置数据样式,但是在通过浏览器请求地图之前不会创建图像切片。最终,地图上的输出是相同的 - 栅格图块网格。

您在TileMill中使用栅格切片创建的交互性通过 UTFGrid 进行。这是一个不可见的栅格图层,位于图像图块下方,并为某些位置添加了交互性。交互性实际上并不与任何单个功能相关联 - 它与您的功能位于同一位置。这也可以在Mapbox Studio Classic中实现,因为地图中的输出也将是栅格切片网格。您可以在style quickstart guide中了解有关如何在Mapbox Studio Classic中执行此操作的详细信息。

因此,为了回答您的问题,迁移到Mapbox Studio Classic就是利用矢量切片。它们比光栅图像拼贴小很多,并且可以在运行中进行样式设置,因此,例如,您不必存储两组独立的图像以适应视网膜屏幕。这也意味着您可以动态地将多种样式应用于相同的矢量数据,这意味着您不必为每种样式或每次小变化重新生成一整套图像。

答案 1 :(得分:0)

如果元数据表包含记录格式= pbf,则mbtiles是矢量切片而不是栅格。 mbtiles SQLite数据库可以是矢量切片的容器,它包含在Tiles表和tile_data blob字段PBF -Protocol Buffers中 - protobuf(https://github.com/google/protobuf - 语言中立平台中性机制用于序列化结构化数据)由Google开发。像MapBox Studio这样的工具可以从GIS矢量数据和数据库中构建矢量切片