Adrian, I've been working on: http://wiki.openstreetmap.org/index.php/OSM_Mobile_Binary_Protocol
Which is basically a vector tile base mechanism for downloading OSM data. With a view towards routing over the data (and trying to keep the data as small as possible) I've been planning to parse the data on downloading the tile in the mobile device and match up nodes that appear in more than one way and mark them as junction nodes, along with distances to other junction nodes. All that data would then be saved in the db, I'm not convinced that the processing power of mobile phones (my target device) is such that this is not possible with the latency of network connections and flash file system save speeds would make it worth doing server side. Having said that the binary protocol is designed to permit differnet clients request different reply data so some clients could request server generated routing tables, and others not. My next planned improvement to the PHPProxy code is to support relations (currently ignored), but to make them useful by automatically creating extra ones server side (in the proxy so would use negative id's, only valid for that tile) if it would reduce the data to be transmitted. So two (or more) consecutive ways that have the same name (or other key assignments), remove the key values from the way, and ceate a relation that references all ways and has one copy of the name/key values. If were talking two ways that have the value ref=A7, then I'd making a whole relation (4+1+1+2+4+4) = 16 bytes is more costly than storing the data directly in the way (1+2+1+2) = 6 bytes, so in that case we wouldnt do it, but in the case of two ways of Princes Street (4+1+1+14) = 20 bytes extra for relation, or in way (1+14+1+14) = 30 bytes, then you would. The best thing would of course be to have these kind of relations automatically created by the API in the main OSM database, they would then have official ids and I wouldnt have to worry about assigning local ID's on the client for any negative ones. Also relations would then work crossing tile boundarys much better. Cheers, Adam. _______________________________________________ Routing mailing list [email protected] http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/routing
