logo separator

[mkgmap-dev] (Fixed by workround) Bizarre flooding in South Wales

From Steve Hosgood steve at stoneship.org.uk on Thu Oct 13 12:44:28 BST 2011

On 2011-10-13 12:07, Bartosz Fabianowski wrote:
>> As it is, it *seems* to realise that the coastline file is as I'd
>> flagged it, but then reports that it can't read such a file.
>> Confusing.
>
> That is rather silly behavior indeed :).
Well, hopefully one of the gurus will drop in a fix sometime. If it got 
me, it'll certainly get someone else. No point in having the list 
continually jammed with people asking what's the matter!

>
>> P.S: I can now confirm that Bartosz's fix (specifying a separate
>> coastline file) appears to have completely fixed my flooding issues.
>
> I am quite convinced my analysis of the problem is correct. I know 
> what is going wrong. And the only way to fix it that I can see is to 
> use coastlines based on a larger extract that the one you are 
> processing into a map. Hence, European coastlines when generating a 
> map for the EU are not really a hack or a workaround. They are the 
> correct solution.
>

Hmm - well I agree with you Bartosz that your analysis is correct. And 
the workaround is a good one, but quite honestly, it ought to be 
possible to handle coastlines directly.

As I see it, the coastline problem (and a possible similar issue over 
other monster polygons like country boundaries) are the same. I did post 
about this before, but possibly we handle polygons (and polygon 
splitting) in too naiive a fashion.

I would argue that whenever a splitter works on a map, it must keep any 
polygons complete in the output file: but to reduce all the points 
outside the tile's region-of-interest to a simple set of lines that 
skirt the boundary of the tile but located infinitesimally outside the 
region-of-interest, (possibly marked up as "invisible"), but preserving 
the closed nature of the polygon.

So for instance, with my map of Wales, the splitter that generated 
"Wales" from the planet file would notice that the UK's coastline runs 
off the eastern side of the tile at the southern border of Gwent near 
the Second Severn Crossing (a bridge over the Severn Estuary into 
England). The splitter would follow the coastline right around the UK, 
noticing that it re-enters the "Wales" tile at the River Dee near 
Chester in the North East. So the splitter would replace all that UK 
coastline with a single (invisible) line joining the Severn Estuary in 
the south-east with the River Dee Estuary in the north-east, running 
just outside the eastern side of the "Wales" tile.

That way, of someone took the Wales tile, and split it again to isolate 
just (say) the south west corner of Wales, then the coastline follower 
could easily repeat the same trick, as the invisible line alone Wales's 
eastern border maintains the continuity.

It would be the same issue with country boundaries, city boundaries and 
other such things that might get chopped by a splitter.

Notice also that a "stitcher" would be able to use this information to 
join two adjacent tiles and correctly maintain the polygon continuity.

Steve

**
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20111013/067c889b/attachment.html 


More information about the mkgmap-dev mailing list