[OSM-dev] Coastlines and water - contact and technical

Jon Burgess jburgess777 at googlemail.com
Thu Jul 16 22:32:23 BST 2009


On Thu, 2009-07-16 at 21:12 +0200, Lennard wrote:
> Frederik Ramm wrote:
> 
> > Has the bug where osm2pgsql would break these in --slim mode (when 
> > adding updates) been fixed?
> 
> I believe some of the issues have been fixed a little while ago, but 
> I'll leave it to the osm2pgsql maintainers to give a definitive
> answer.

The main thing which I still believe is broken is support for the
advanced multipolygon with multiple outer rings. I have a fairly simple
algorithm sketched out to handle these but have not found the time to
implement it.

The other which I'm uncertain about is using a single way for both a
polygon and for a linear feature running along the boundary. At one
point I developed a fix for this but I don't think I ever applied it. I
have never been completely convinced that this use of a single way for
multiple features is a good idea since it can become ambiguous which
tags belong to which feature.

The last few issues which were found were:
- An edge case where importing some changes to the outer rings from a
diff would cause the outer ring to be sent out to the DB without any
holes. This has been fixed.
- Clockwise/anti-clockwise ordering of outer and inner ways used to
depend on the order of the nodes in the way. This has been fixed so that
the polygons are always ordered correctly.
- Relations with a name= tag. The Wiki says they should be entirely
untagged. If the osm2pgsql code saw even a name tag on the relation then
it would ignore the tags on the outer ring. The recent code now looks at
the outer ring tags even if the relation has a name (it seems the
editors are encouraging people to put name tags on the relation to make
them easier to identify).
- Missing nodes due to the minute diffs

If you are aware of any more issues not mentioned above then I'd be
interested in having the details in a new trac ticket.

	Jon






More information about the dev mailing list