我看到了几个将OSM数据转换为MVT(mapbox矢量切片)的地方,以便进行简单渲染。
包括:
是否有一个简单的工具可以在本地将OSM数据转换为MVT?
我有自己的OSM格式数据,我希望将其转换为MVT并在本地存储,而无需渲染到地图图像。
答案 0 :(得分:2)
GitHub上的mapbox/awesome-vector-tiles存储库有很长的Mapbox Vector Tile实现列表。这是今天的清单:
mapnik-vector-tile
mapbox-gl-js
集成完成渲染。tilelive.js
模块处理矢量切片(请参阅tilelive-bridge
和tilelive-vector
)render-vector
命令。答案 1 :(得分:0)
MVT的具体内容是这是平铺和多分辨率(基于缩放)显示优化,更像是"渲染"地图用于视觉快速渲染和样式,它不是真正的典型地理数据格式。例如,它没有地理坐标,它有像素空间"用于矢量对象的tile中的坐标。这使得转换简单'从/到地理数据相当棘手,非常典型的转换解决方案是一个奇怪的 - 使用地图服务器或服务与您的数据,然后从中刮取瓷砖。对于拼贴,最好的工具似乎是tilelive-copy。
但是,从上面的长列表中你可能想要的最接近的是tippecanoe,它将GeoJSON转换为MVT(在mbtiles文件中)。如果您的数据是.osm格式,那么您需要将其转换为geojson;但是还有其他工具,例如ogr2ogr。请注意,OSM文件包含许多数据层,并且结构非常具体,因此您需要为所有转换步骤找到运行良好的配置。
答案 2 :(得分:0)
经过长时间的搜索,这是我目前的结论:
gdal应该与ogr2ogr cli工具转换器一起使用。从理论上讲,它可以从osm转换为mvt(geojson步骤不是必须的)。
tippecanoe所做的工作相当安静,从geojson到mvt(ogr2ogr或osmium可以帮助将.osm转换为.geojson)
但是魔鬼在细节上:您需要明确表示什么数据在mvt层(水,道路,建筑物等)上显示。 我尚未找到一种方便的“多合一”工具,该工具能够将osm建筑物或建筑物零件的多边形和关系转换为mvt建筑物图层,依此类推...看起来每个团队(mapbox和co)都秘密地保存了它带有API密钥系统的API服务。