[Differential] [Request, 626 lines] D2376: Added module to merge buildings
tandon (Akshat Tandon)
noreply at phabricator.kde.org
Tue Aug 9 07:33:37 UTC 2016
tandon created this revision.
tandon added reviewers: rahn, nienhueser.
tandon added subscribers: Marble, nienhueser.
tandon set the repository for this revision to rMARBLE Marble.
REVISION SUMMARY
Uses DBSCAN <https://en.wikipedia.org/wiki/DBSCAN> clustering algorithm to identify building clusters and then merges these clusters using QPolygonF::united() method.
However, the buildings are not getting correctly written in the output OSM file.
We are getting buildings of the form
> <way id="237536278" changeset="31318507" timestamp="2015-05-20T15:41:52Z" uid="35468" user="Blunauer" version="2" visible="true">
>
> <tag k="building" v="yes"/>
> <nd ref="2454247856"/>
> <nd ref="3530939281"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="1251325411"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="0"/>
> <nd ref="2454247856"/>
> </way>
I suspect that it might be due to OsmWriters since I checked the generated GeoDataPlacemark of merged buildings and these were having legitimate longitude, latitude values.
Also, the regionQuery() method, which queries neighboring buildings for cluster formation purposes, has a runtime of O(n) due to which our clustering takes O(n*n) time. As discussed with @nienhueser, Once we get the output right i.e. correctly merged buildings , regionQuery() can be optimized by using Quadtrees or R-Trees.
REPOSITORY
rMARBLE Marble
REVISION DETAIL
https://phabricator.kde.org/D2376
AFFECTED FILES
tools/osm-simplify/BuildingBlock.cpp
tools/osm-simplify/BuildingBlock.h
tools/osm-simplify/BuildingCluster.cpp
tools/osm-simplify/BuildingCluster.h
tools/osm-simplify/BuildingDensityClustering.cpp
tools/osm-simplify/BuildingDensityClustering.h
tools/osm-simplify/BuildingMerger.cpp
tools/osm-simplify/BuildingMerger.h
tools/osm-simplify/CMakeLists.txt
tools/osm-simplify/TagsFilter.h
tools/osm-simplify/main.cpp
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: tandon, rahn, nienhueser
Cc: nienhueser, #marble, marble-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20160809/530b0c72/attachment.html>
More information about the Marble-devel
mailing list