[OSM-dev] New OSM binary fileformat implementation.

Brett Henderson brett at bretth.com
Thu Aug 5 01:17:03 BST 2010


On Tue, Aug 3, 2010 at 11:37 PM, Scott Crosby <scrosby at cs.rice.edu> wrote:

> On Sun, Aug 1, 2010 at 6:39 AM, Brett Henderson <brett at bretth.com> wrote:
>
> > I'll help incorporate this into the rest of Osmosis.  There's a few
> things
> > to work through though.
>
> I don't have a lot of time to work with this, but I can split up my
> working branch (which includes several unrelated changes) into
> separate orthogonal pieces. Git is *VERY* good at this. That would
> simplify integration.
>
> >
> > Is there a demand for the binary format in its current incantation?  I'm
> not
> > keen to incorporate it if nobody will use it.
>
> I think it would be used in the mkgmap splitter, if available.
>
> > Can the code be managed in the main OSM Subversion repo instead of GIT?
>
> Yes. I use git personally, but there's very good SVN integration.
>
> > Is any code reuse between Osmosis and other applications required?
>
> Yes.
>
>   The *.proto files must be shared with other applications that use
> the binary format, including C/Java/Python/.net/....
>
>    I wrote some java parser code that is intended to be shared across
> the other Java osmosis applications. (Eg, I'm using it in my splitter
> changes.) in crosby/binary/file and crosby/binary/*.java
>
>    I suggest that all of this be put in a separate library along with
> jamesmikedupont's C/C++ code.
>

Currently Osmosis is split into a number of sub-projects.  For example,
there's xml, apidb, pgsql, etc.  This would be a new project, something like
osmbin although that's a fairly generic name.  But presumably we'd only be
putting the Osmosis specific stuff in there.  The osmbin project would need
to have a dependency on an external lib that contains your re-usable code.
That is the tricky bit.

Osmosis currently retrieves external dependencies from the public maven
repository at repo1.maven.org.  The few libraries that aren't available
there are checked in directly into the Osmosis managed repository stored in
the build-support/repo directory.

The simplest way to solve this is to create your third party library through
whatever means you wish, then we check in the resultant (properly versioned)
jar file into the Osmosis build-support/repo Ivy repository.  Then the
osmbin project can pull that lib in as a dependency and do a build.

If we go down this path I need two things:
1. A versioned jar file containing all re-usable code.  Scott, can you take
care of this?
2. The Osmosis specific code that I can use in a new osmbin project within
the Osmosis Subversion repo.  I can probably get them from GIT if you let me
know which files I need.

Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20100805/2a914653/attachment.html>


More information about the dev mailing list