<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Arial Narrow";
panose-1:2 11 6 6 2 2 2 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>Is there anyone out there having a suggestion, a model for a solution to the following typical mapping/cartographic problem:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>-Assume we have given two sets of area objects. For simplicity, let us call them L1 (large lakes) and L2 (small lakes). Also, for simplicity, let us use the topology area notion where an area is defined by one, and only one, outer (enclosing, container) border polygon and a zero or arbitrary number of inner (excluding, hole) border polygons. Anything inside a hole-polygon, just like anything outside the container-polygon, is outside the corresponding area. How L1 and L2 are created is irrelevant but they may be of huge cardinality.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>-Assume that there are no other than topologic relations between the elements of L1 and L2. In other words, areas from the large and small lakes may fully, almost or partly overlap; some of the holes may belong to objects in L1 and L2 at the same time, many holes only in objects from L1 but not in objects of L2 and the contrary, and so on. <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>So, the question/problem is – find/create a new set of areas L that covers L1 and L2 but where the holes from L1 and L2 remain as holes in L?<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>Real-world examples of this issue may be found in OSM source data. Take for the L1 lakes (or holes) from the planet_land (created from the coastline data) and for L2 lakes from the natural_water data. Whatever rendering model is used, some of the islands will disappear. Rendering a new area class over L1 and L2 will never solve the described problem.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>The dilemma is why some islands are present only in the coastline data but not in the overlapping natural_water data and the contrary.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>The described issue is obviously a problem in many OSM mapping applications. <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>Finally, the problem might be a challenge for researchers, mappers and programmers. Note that even in a well founded theoretical solution a program should probably handle hundreds of thousands polygons and hundreds of millions vectors simultaneously.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>Some more detailed specification and examples you may find in a white paper here:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'><a href="https://docs.google.com/file/d/0B6qGm3k2qWHqemFoeXpseTlndFk/edit?usp=sharing">https://docs.google.com/file/d/0B6qGm3k2qWHqemFoeXpseTlndFk/edit?usp=sharing</a><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Arial Narrow","sans-serif"'>Regards, Sandor.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>