Heb mijn osmsplitter nu aangepast zodat ie ook osc files kan doen. Dat werkt allemaal wel. Maar ook niet. Het grote verschil met osm files is dat er way’s in voorkomen waarvan de nodes niet in de file vermeld zijn. Die ways zijn dan niet localiseerbaar tot de benelux. Hetzelfde geldt voor relation’s. In een planet.osm file is wel alles localiseerbaar omdat die alle data bevat.
Heb hem losgelaten op 20100105-20100106.osc ( 579.833 kB). Omdat ik geen Benelux polygoon had en er ook niet een aan openstreetmap kon onttrekken ( …dus niemand heeft ooit een Benelux relatie aangemaakt…) heb ik aparte polygonen voor nederland, belgië en luxemburg genomen. Om er zeker van te zijn dat er inderdaad onlocaliseerbare ways en relatins waren ook nog een polygoon voor de hele wereld toegevoegd. Dan kunnen in iedergeval alle nodes gelocaliseerd worden en als er dan ways en relations over blijven dan klopt de bewering echt.
Hier een deel van de reportfile:
OsmSplitManager:
3115941 nodes
0 out of all areas nodes
147026 ways
128490 ways localised
2 ways localised for more areas
18536 ways not localised
128492 nodeid’s (from a way) found
1712818 nodeid’s (from a way) not found
2009 relations
983 relations localised
0 relations localised for more areas
1026 relations not localised
408 member relations
8 member relations localised
0 member relations localised for more areas
400 member relations not localised
149742 member ways
851 member ways localised
0 member ways localised for more areas
148891 member ways not localised
8027 member nodes
124 member nodes localised
0 member nodes localised for more areas
7903 member nodes not localised
belgium
3233 nodeid’s added
636 wayid’s added
4 relationid’s added
20100105-20100106.osc.oscsplit.belgium.osm
luxemburg
116 nodeid’s added
11 wayid’s added
0 relationid’s added
20100105-20100106.osc.oscsplit.luxemburg.osm
nederland
187051 nodeid’s added
22987 wayid’s added
110 relationid’s added
20100105-20100106.osc.oscsplit.nederland.osm
world
2925541 nodeid’s added
104858 wayid’s added
869 relationid’s added
20100105-20100106.osc.oscsplit.world.osm
18536 ways not localised
20100105-20100106.osc.oscsplit…rest.waysnotlocalised.osm
1026 relations not localised
20100105-20100106.osc.oscsplit…rest.relationsnotlocalised.osm
osmsplit
input from stdin
5983736 lines read
Ja en hoe nu verder. Als ik het goed wil doen dan moeten de onlocaliseerbare ways en relaties in een tweede pass via de API gelocaliseerd worden. Dat is wel te doen natuurlijk maar dat moet dan nog geprogrammeerd worden.
Maar eigenlijk zit ik met hetzelfde probleem als wanneer je met een bounding box werkt. Hoe worden dan nu de ways en relations al dan niet meegenomen?