<table><tr><td style="">tandon created this revision.<br />tandon added reviewers: rahn, nienhueser.<br />tandon added subscribers: Marble, rahn.<br />tandon set the repository for this revision to rMARBLE Marble.</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D2128" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>To address the problem of discontinuous streets/roads which appear on  level 11-12, this module was added. <br />
One of the primary reasons for this discontinuity, as told by <a href="https://phabricator.kde.org/p/rahn/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@rahn</a> , is that Marble omits rendering objects which are too small to be drawn. Hence if a street is composed of lots of OSM way chunks which are smaller than 2 pixels, those chunks don't get rendered and hence the street appears as discontinuous. <br />
To address this problem, all these OSM way chunks need to be concatenated so that the streets are rendered faster and fully.</p>

<p>The given WayConcatenator, concatenates the OSM ways on the basis of end-points and name. <br />
Although the above method resulted in the concatenation of many ways, visually this way of concatenating did not prove to be fruitful as still almost all the previously discontinuous streets still appeared discontinuous.</p>

<p>As previously discussed with <a href="https://phabricator.kde.org/p/rahn/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@rahn</a> , the way forward will now be to concatenate ways based on a fuzzy-compare and not just end-points. To accomplish this I will have to move from a Hash based approach to a tiling-map based approach.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rMARBLE Marble</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D2128" rel="noreferrer">https://phabricator.kde.org/D2128</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>tools/osm-simplify/BaseFilter.cpp<br />
tools/osm-simplify/BaseFilter.h<br />
tools/osm-simplify/CMakeLists.txt<br />
tools/osm-simplify/TagsFilter.cpp<br />
tools/osm-simplify/TagsFilter.h<br />
tools/osm-simplify/WayChunk.cpp<br />
tools/osm-simplify/WayChunk.h<br />
tools/osm-simplify/WayConcatenator.cpp<br />
tools/osm-simplify/WayConcatenator.h<br />
tools/osm-simplify/main.cpp</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>tandon, rahn, nienhueser<br /><strong>Cc: </strong>rahn, Marble, marble-devel<br /></div>