[mkgmap-dev] Proposal: Multipolygon handling and line based multipolygons
From charlie at cferrero.net charlie at cferrero.net on Sat Sep 11 17:24:46 BST 2010
WanMil (wmgcnfg at web.de) wrote: > The latest question about the boundary handling of multipolygons > encouraged me to start another try to fix the problem in mkgmap (please > read http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2010q3/008976.html). > > Now I have another idea. > The problem is: > The resulting multipolygons usually are used as polygons. But some > should only be used for the line processing (country borders). The > multipolygon algorithm creates artificial polygons which are annoying if > you want to use them as lines: you get artificial borders inside your > country. > > > My solution: > The mp algorithm adds a tag mkgmap:styleusage=polygon to all > artificially created polygons. Additionally it duplicates all input ways > of the multipolygon, tag them with the mp tags and add > mkgmap:styleusage=line. > The style handling now applies line rules only if the tag > mkgmap:styleusage=line is set or if it is completely unset. The same > with polygons. > With this solution the style writer can decide on its own if he wants to > use the polygon information or the line information of the multipolygon. > 2nd advantage: the style writer need not to change any existing styles > as this new feature is handled internally in mkgmap. > 3rd advantage: the line information of properly tagged multipolygons > could also be used if the multipolygon is not completely contained in > the tile. This if often the case for country boundaries. > > The --process-boundary-relations option of mkgmap would become needless. > > I am not an expert in styles so maybe I have missed something?!? > What do you think about my idea? > > WanMil > _______________________________________________ That sounds like a good proposal. Another, possibly conceptually-related problem with the mp code is as follows: Consider a multipolygon with one outer way having the tags barrier=fence landuse=farm and one inner way having the tag natural=water The mp splits this into two outer polygons with landuse=farm and barrier=fence and one inner polygon with natural=water. The problem is that now the fence no longer follows the (outer) ways it was originally designed to follow, but also follows the synthetic orthogonal ways created by the mp code. If the style rules process both landuse=farm (in the polygon ruleset) and barrier=fence (in the lines ruleset) then you get an unwanted, synthetic fence being created where none really exists. Having the mp code add a new tag to synthetic ways created as part of multipolygon splitting would be one way of tackling this problem (by subsequent re-writing of the style rules). The other would be to avoid adding barrier=fence (or other such linear tags) to synthetic ways created as part of polygon splitting. Hope that made sense, -- Charlie
- Previous message: [mkgmap-dev] Proposal: Multipolygon handling and line based multipolygons
- Next message: [mkgmap-dev] Proposal: Multipolygon handling and line based multipolygons
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list