我试图使世界缩小大小的矢量mbtiles文件紧凑型离线地图解决方案,我正在为Windows桌面。为此,我发现OsmAnd的尺寸缩小World_basemap_2.obf正是我所需要的,但是在mbtiles osm格式中,我可以生成一个mbtiles。 obf是使用从形状文件生成的以下osm文件创建的。他们可在http://builder.osmand.net/basemap/
我的问题是,为了使一个mbtiles他们需要合并成一个osm文件osm2vectortiles指南,以生成这里发现的一个mbtiles http://osm2vectortiles.org/docs/own-vector-tiles/。
首先我解压缩它们以处理osm文件。
问题
当我使用osmconvert使用--complete-方式和--complex-方式标志了很多关系和方式来组合这些文件被删除,文件大小是非常不同的。
对于离:
osmconvert proc_line_tertiary_out.osm --complete-方式--complex-方式-o = tertiary.o5m
- 结果在一个文件中的大小
osmconvert叔133691 KB .o5m --complete-方式--complex-方式-o = tertiary.csv
- 结果与总的节点,方式和关系
一个csv 210osmconvert tertiary.o5m proc_line_ferry_out.osm.o5m --complete-方式--complex节点-o = combined.o5m
合并与proc_line_ferr_out.osm.o5m tertiary.o5m(产生与上述相同的示出)并转换到csv
- 结果在CSV与总节点,方式和关系......这是显著少,是非常令人担忧的。合并两个文件不应该使原始文件的节点,方式和关系更少。
问题
我在做什么错?
是否有结合OSM文件的另一种方式?(反渗透我读过不能消极应对的节点)
是否有产生mbtiles,可能来自多个OSM文件的另一种方式?
文件试图结合
points.osm.bz2
polygon_aeroway_military_tourism.osm.bz2
polygon_lake_water.osm。BZ2
polygon_natural_landuse.osm.bz2
proc_line_admin_level_out.osm.bz2
proc_line_ferry_out.osm.bz2
proc_line_motorway_out.osm.bz2
proc_line_primary_out.osm.bz2
proc_line_railway_out.osm.bz2
proc_line_secondary_out.osm.bz2
proc_line_tertiary_out.osm.bz2
proc_line_trunk_out.osm.bz2
cities.osm.bz2
coastline.osm.bz2
OSMConvert
osmconvert解释说
合并两个或多个地理区域 在某些情况下,OSM数据文件可以合并。如果他们持有具有相同ID的对象(节点,方式,关系),则它们必须具有相同的内容。例如:如果某种方式跨越两个区域文件之间的地理边界,则数据集的路径必须包含每个节点引用,即使是对不在相关文件边界内的节点的引用。也就是说,这样一个区域一定不能使用选项--drop-brokenrefs删除。
这是否意味着我不能做我想做的事情?我想保留所有节点,方式和关系,即使这些文件没有共同点。
尝试
osmconvert polygon_aeroway_military_tourism.osm polygon_natural_landuse.osm -o = result.osm
结果
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="osmconvert 0.7T">
<node id="-10000000000001" lat="-1.0015443" lon="-80.5349586"/>
<way id="-100000001" version="1">
<nd ref="-10000000000001"/>
<nd ref="-10000000000002"/>
<nd ref="-10000000000003"/>
<nd ref="-10000000000004"/>
<nd ref="-10000000000005"/>
<nd ref="-10000000000006"/>
<nd ref="-10000000000007"/>
<nd ref="-10000000000008"/>
<nd ref="-10000000000009"/>
<nd ref="-10000000000010"/>
<nd ref="-10000000000011"/>
<nd ref="-10000000000012"/>
<nd ref="-10000000000013"/>
<nd ref="-10000000000014"/>
<nd ref="-10000000000015"/>
<nd ref="-10000000000016"/>
<nd ref="-10000000000017"/>
<nd ref="-10000000000018"/>
<nd ref="-10000000000019"/>
<nd ref="-10000000000020"/>
<nd ref="-10000000000021"/>
<nd ref="-10000000000022"/>
<nd ref="-10000000000023"/>
<nd ref="-10000000000024"/>
<nd ref="-10000000000025"/>
<nd ref="-10000000000026"/>
<nd ref="-10000000000027"/>
<nd ref="-10000000000028"/>
<nd ref="-10000000000029"/>
<nd ref="-10000000000030"/>
<nd ref="-10000000000031"/>
<nd ref="-10000000000032"/>
<nd ref="-10000000000033"/>
<nd ref="-10000000000034"/>
<nd ref="-10000000000035"/>
<nd ref="-10000000000036"/>
<nd ref="-10000000000037"/>
<nd ref="-10000000000038"/>
<nd ref="-10000000000039"/>
<nd ref="-10000000000040"/>
<nd ref="-10000000000041"/>
<nd ref="-10000000000042"/>
<nd ref="-10000000000043"/>
<nd ref="-10000000000044"/>
<nd ref="-10000000000045"/>
<nd ref="-10000000000046"/>
<nd ref="-10000000000047"/>
<nd ref="-10000000000048"/>
<nd ref="-10000000000049"/>
<nd ref="-10000000000050"/>
<nd ref="-10000000000051"/>
<nd ref="-10000000000001"/>
</way>
</osm>
简单的错误,我不敢相信我忽略了它。非常感谢。 – longlostbro
我应该知道其他限制吗?当我结合polygon_aeroway_military_tourism.osm - 17340节点/方法/关系和polygon_natural_landuse.osm - 8711704节点/方法/关系的综合结果变成 - 3节点/方法/关系 – longlostbro
我增加了更多的信息,以我的问题。我对osmconvert的解释是它在合并时不能保留所有的节点和关系,只有那些共同的。 – longlostbro