我試圖使世界縮小大小的矢量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