Je suis en train de faire un fichier vecteur de taille réduite de mbtiles pour le monde d'une solution de cartes hors-ligne compacte Je travaille sur pour le bureau Windows. Pour ce faire, j'ai trouvé que la taille réduite d'OsmAnd World_basemap_2.obf est exactement ce dont j'ai besoin, mais dans le format mbtiles osm, donc je peux générer un mbtiles. Le fichier obf a été créé à l'aide des fichiers osm suivants générés à partir de fichiers de formes. Ils sont disponibles à http://builder.osmand.net/basemap/
Le problème que j'ai est que pour faire un mbtiles dont ils ont besoin pour être combinés en un seul guide de osm2vectortiles de fichiers osm pour générer un mbtiles trouvé ici http://osm2vectortiles.org/docs/own-vector-tiles/.
Je les extrait d'abord pour traiter les fichiers osm.
Problème
Lorsque j'utilise osmconvert pour combiner les fichiers en utilisant les --complete-voies et drapeaux --complex-façons de beaucoup de relations et les moyens sont retirés et la taille du fichier est très différent.
Ex:
osmconvert proc_line_tertiary_out.osm --complete-voies --complex-voies -o = tertiary.o5m
-Résultats dans un fichier 133,691 kb
osmconvert tertiaire .o5m --complete-voies --complex-voies -o = tertiary.csv
-Résultats dans un csv avec un total de 13.131.405 noeuds, les voies et les relations
osmconvert tertiary.o5m proc_line_ferry_out.osm.o5m --complete-voies --complex noeuds -o = combined.o5m
fusion tertiary.o5m avec proc_line_ferr_out.osm.o5m (généré la même que celle indiquée ci-dessus) et convertit en csv
-résultats dans un csv avec total des noeuds, des voies et des relations ... ce qui est nettement moins et est très préoccupante. La combinaison de deux fichiers ne devrait pas faire moins de nœuds, de chemins et de relations que les fichiers originaux.
Question
Qu'est-ce que je fais mal?
Y at-il une autre façon de combiner des fichiers osm? (Osmose je l'ai lu ne peut pas traiter avec des noeuds négatifs)
Y at-il une autre façon de générer un mbtiles, peut-être à partir de plusieurs fichiers osm?
Fichiers essayant de combiner
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 explique queFusion de plusieurs zones géographiques Sous certaines conditions, les fichiers de données OSM peuvent être fusionnés. Si elles contiennent des objets (nœuds, chemins, relations) avec le même identifiant, ils doivent avoir le même contenu. Par exemple: Si un chemin traverse la frontière géographique entre deux fichiers régionaux, le jeu de données doit contenir chaque référence de nœud, même les références aux nœuds qui ne se trouvent pas dans les limites du fichier concerné. C'est-à-dire qu'une telle région ne doit pas avoir été découpée en utilisant l'option --drop-brokenrefs. Est-ce que cela signifie que je ne peux pas faire ce que j'essaie de faire? Je veux conserver tous les nœuds, chemins et relations même si les fichiers ne les ont pas en commun.
Tentative
osmconvert polygon_aeroway_military_tourism.osm polygon_natural_landuse.osm -o = result.osm
Résultat
<?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>
Simple erreur, je ne peux pas croire que je l'ai négligé. Merci beaucoup. – longlostbro
Y a-t-il d'autres limites que je devrais connaître? quand je combine polygon_aeroway_military_tourism.osm - 17340 nœuds/chemins/relations et polygon_natural_landuse.osm - 8711704 nœuds/chemins/relations le résultat combiné devient - 3 nœuds/chemins/relations – longlostbro
J'ai ajouté plus d'information à ma question. Mon interprétation de osmconvert est qu'il ne peut pas garder tous les nœuds et relations lors de la fusion, seulement ceux en commun. – longlostbro