[OSM-talk] Blue sea tiles for tiles at home

Frederik Ramm frederik at remote.org
Tue Apr 24 22:25:46 BST 2007


Hi,

    I found the problem that created the funny zig-zagged lines - a 
quite spectacular example of which is here in the Outer Hebrides (modern 
art, I say!):

http://www.informationfreeway.org/?lat=7892620.5527&lon=-795919.49377&zoom=12&layers=B000

Frollo has a limit of 400 segments per way (it was originally 800, and 
then I reduced a constant somewhere in frollo2.xsl because some 
renderers were complaining they got "possible endless recursion" error 
messages).

Until now I thought that if ways get more complex than that, Frollo 
would just leave the way alone. But it seems that the way gets messed up 
somehow.

Here is a boiled-down example with just the coasline from the Portsmouth 
harbour tile 2036,1374:

http://www.remote.org/frederik/tmp/broken-area-with-frollo.osm

It is the result coming out of close-areas.pl, with one coastline way of 
about 600 segments. It renders fine with osmarender as-is; if you run 
this through Frollo with the limit set to 400, as distributed with t at h, 
you get a zigzag mess; if you increase the limit to 800, it works perfectly.

(J.D., do you have a local t at h installation and can you perhaps check if 
increasing this limit - line 67 of frollo2.xml - fixes your Copenhagen 
tile also?)

Now what can we do about this? 80n, do you think you can modify Frollo 
to not break ways that are too long? If that is not possible, then I 
would be tempted to count the length of coastline ways created by 
close-areas.pl and somehow trigger bypassing of Frollo if the number is 
too big. We could also try and increase the max number again, which 
would cause Frollo to be aborted in these cases and should ideally lead 
to the same effect (bypassing Frollo). Another option is telling the 
XSLT engine that it should care for "possible endless recursion", but I 
think this only works with xsltrans and not xmlstarlet.

The auto-generated coastline way in the Hebrides can easily be 2,500 
segments or longer for one level-12 tile. Unfortunately I do not see how 
I could easily break this up in close-areas.pl and not ruin Inkscape's 
filling algorithm.


-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00.09' E008°23.33'




More information about the talk mailing list