[OSM-dev] Patch for Osmosis--complete ways and relations

Karl Newman siliconfiend at gmail.com
Tue Oct 23 14:46:27 BST 2007

On 10/23/07, Brett Henderson <brett at bretth.com> wrote:
> I've applied the patch and committed to svn.  I haven't tested it but
> I'll take your word that it works :-)  I might revisit it over the next
> few days with a view to making it more configurable but what you've
> provided appears to be a significant improvement over the version I
> had.  The only issue is that the code is getting hard to follow so I'm
> wondering if there are ways of making this task more modular, but I'll
> sit on it for a few days and see if anything comes to me.

Sorry about that. I haven't done much real-world object-oriented
programming, but I've read a lot of code so I can recognize design
patterns, etc. I just don't have the experience to say "Ah, I could
use X pattern here".

> A couple of things you may be interested in:
> 1. I've introduced custom serialisation to improve temp file performance.
> 2. I've written a new store called IndexedObjectStore for random access
> to temporary data.

Yes, I picked up these changes in SVN before I compiled my test
version. I didn't see the IndexedObjectStore function, but that is
very interesting to me for my routable Garmin GPSr map program. I was
about to launch off and write my own, but maybe now I can do it within
the Osmosis framework. That program seems to be sort of outside the
core Osmosis functionality, I think, but it wouldn't take much to
support a plugin framework in Osmosis where "weird" tasks such as mine
could be supported without bringing them into the Osmosis codebase.

> I'm doing some performance testing now, but you should notice some
> fairly major performance improvements to all temporary file handling.
> It should improve performance by approx 5 times, SimpleObjectStore will
> benefit from that.

That's great! By the way, I only added the completeWays function to
the 0.5 tasks. I'm not sure how much longer the 0.4 files will be
supported, but if you would like I can adapt it to that set of
AreaFilter tasks as well.

More information about the dev mailing list