MapBox MB 瓦片与矢量瓦片
MapBox MB Tile vs Vector Tile
我对 MapBox 中的 Tiles 有点困惑。据我了解,瓷砖是一小块地图,就像拼图游戏一样。
MBTiles 是图像,但它们连接到数据库以读取数据并使交互成为可能。所以如果我移动鼠标,我可以显示光标下图层的细节。
Vector Tiles 将所有数据存储在向量中,它们仅用于快速渲染图像。无法与此类数据进行交互。
我错了吗?
现在,我看到有矢量切片工具 TileMill for MBTiles, and MapBox Studio Classic。我想它们是出于不同的目的;第一个用于交互式地图,后者用于快速渲染。
那么....为什么 TileMill not supported anymore 支持 MBStudio?
是否也可以使用 MBStudio 制作交互式地图?
谢谢
这是一个很好的问题!
mbtile
是一种可以包含栅格或矢量图块的文件类型。把它想象成一个 Adobe Illustrator .ai
文件——它可以包含矢量或光栅数据。栅格切片和矢量切片都可以采用 mbtile
格式。
使用 TileMill,您的矢量数据(shapefile、CSV 等)与您的 CartoCSS 样式相结合并传递给 Mapnik 以生成一堆平铺图像。然后您可以存储您的图块并通过图块服务器将它们提供给网络地图。使用 Mapbox Studio Classic,您正在将数据转换为矢量切片并创建 CartoCSS 样式来设置数据样式,但直到通过浏览器请求地图时才会创建图像切片。最终,地图上的输出是相同的——栅格图块网格。
您在 TileMill 中创建的带有光栅图块的交互是通过 UTFGrid 发生的。这是一个不可见的栅格层,位于图像图块下方,并为某些位置增加了交互性。交互性实际上根本没有连接到任何单独的功能——它只是与您的功能位于同一位置。这在 Mapbox Studio Classic 中也是可能的,因为地图中的输出也将是栅格图块的网格。您可以在 style quickstart guide.
中阅读有关如何在 Mapbox Studio Classic 中执行此操作的更多信息
因此,为了回答您的问题,迁移到 Mapbox Studio Classic 是为了利用矢量切片。它们比光栅图像块小很多,并且可以即时设置样式,因此,例如,您不必存储两组单独的图像来适应视网膜屏幕。这也意味着您可以将多种样式即时应用于同一矢量数据,这意味着您不必为每种样式或每个小的更改重新生成一整套图像。
如果元数据 table 包含记录格式=pbf,则 mbtiles 是矢量切片而不是栅格。 mbtiles SQLite 数据库可以是矢量瓦片的容器,这些瓦片在 Tiles table 和 tile_data blob 字段中具有 PBF -Protocol Buffers - protobuf ( https://github.com/google/protobuf – 用于序列化结构化数据的语言中立平台中立机制) 由 Google 开发。 MapBox Studio 等工具从 GIS 矢量数据和数据库构建矢量切片
我对 MapBox 中的 Tiles 有点困惑。据我了解,瓷砖是一小块地图,就像拼图游戏一样。
MBTiles 是图像,但它们连接到数据库以读取数据并使交互成为可能。所以如果我移动鼠标,我可以显示光标下图层的细节。
Vector Tiles 将所有数据存储在向量中,它们仅用于快速渲染图像。无法与此类数据进行交互。
我错了吗?
现在,我看到有矢量切片工具 TileMill for MBTiles, and MapBox Studio Classic。我想它们是出于不同的目的;第一个用于交互式地图,后者用于快速渲染。 那么....为什么 TileMill not supported anymore 支持 MBStudio? 是否也可以使用 MBStudio 制作交互式地图?
谢谢
这是一个很好的问题!
mbtile
是一种可以包含栅格或矢量图块的文件类型。把它想象成一个 Adobe Illustrator .ai
文件——它可以包含矢量或光栅数据。栅格切片和矢量切片都可以采用 mbtile
格式。
使用 TileMill,您的矢量数据(shapefile、CSV 等)与您的 CartoCSS 样式相结合并传递给 Mapnik 以生成一堆平铺图像。然后您可以存储您的图块并通过图块服务器将它们提供给网络地图。使用 Mapbox Studio Classic,您正在将数据转换为矢量切片并创建 CartoCSS 样式来设置数据样式,但直到通过浏览器请求地图时才会创建图像切片。最终,地图上的输出是相同的——栅格图块网格。
您在 TileMill 中创建的带有光栅图块的交互是通过 UTFGrid 发生的。这是一个不可见的栅格层,位于图像图块下方,并为某些位置增加了交互性。交互性实际上根本没有连接到任何单独的功能——它只是与您的功能位于同一位置。这在 Mapbox Studio Classic 中也是可能的,因为地图中的输出也将是栅格图块的网格。您可以在 style quickstart guide.
中阅读有关如何在 Mapbox Studio Classic 中执行此操作的更多信息因此,为了回答您的问题,迁移到 Mapbox Studio Classic 是为了利用矢量切片。它们比光栅图像块小很多,并且可以即时设置样式,因此,例如,您不必存储两组单独的图像来适应视网膜屏幕。这也意味着您可以将多种样式即时应用于同一矢量数据,这意味着您不必为每种样式或每个小的更改重新生成一整套图像。
如果元数据 table 包含记录格式=pbf,则 mbtiles 是矢量切片而不是栅格。 mbtiles SQLite 数据库可以是矢量瓦片的容器,这些瓦片在 Tiles table 和 tile_data blob 字段中具有 PBF -Protocol Buffers - protobuf ( https://github.com/google/protobuf – 用于序列化结构化数据的语言中立平台中立机制) 由 Google 开发。 MapBox Studio 等工具从 GIS 矢量数据和数据库构建矢量切片