[OSM-talk] Local map making - truncating ways on boundary?
brett at bretth.com
Fri Apr 4 01:25:22 BST 2008
By default, osmosis will truncate at the last node inside the boundary
which isn't always ideal. The completeWays argument will include all
way nodes outside the boundary which again isn't perfect.
The new PostGIS based bounding box functionality will never truncate
ways but may leave out nodes outside the box depending on whether
completeWays is specified.
Introducing truncation with phantom nodes is very difficult to do in a
memory efficient manner. If an in-memory implementation was sufficient
it would potentially be much simpler but doesn't exist yet. The new
osmosis PostGIS schema would be a good starting point for this. A
single task implementation may need to be used (ie. not one bbox task
instance per tile) so that it can maintain lists of phantom nodes
created at boundaries shared between multiple tiles.
I think it was Karl who was looking at creating a tiling task. Not sure
whether he's still looking at this. I'd like to play with this but
realistically I'm not going to find the time any time soon.
Frederik Ramm wrote:
>> I'm trying to put to together a procedure for making an overview map of a
>> local area. I can use XAPI to get appropriate data, but some ways cross
>> the specified boundary (bbox or bpoly) and continue 'outside the box'.
>> Is there a method for truncating ways at the boundary?
> None that I know of, but Osmosis will at least truncate ways at the
> first node outside of the specified box/polygon (or at the last node
> inside...? not sure ATM). I know that one of the Osmosis guys,
> probably Karl Newman, wanted to implement something like proper
> truncation with phantom nodes or so in order to prepare data for
> Garmin imports.
>> I'd even consider using a method to truncate the SVG output from
>> osmarender, however with the number of layers produced that's not terribly
>> easy either.
> You know that if you specify a proper <bounds> element in the
> Osmarender rules file, Osmarender will create SVG clipping for the
> specified area?
More information about the talk