tandon updated this revision to Diff 5914.
tandon marked an inline comment as done.
tandon added a comment.


  This patch contains fixes for 2 of the 3 major problems,
  
    -It fixes the appearance of star shaped aberrations in the output osm file.
    -It fixes the bug which caused loss in detail of merged buildings
  
  @nienhueser suggested the fix for the star shaped aberrations on the lines of 
http://gis.stackexchange.com/a/60253 .
  However, this fix involves buffering/offsetting the polygon. Since 
implementing offsetting algorithm is not trivial,  
Clipper(http://www.angusj.com/delphi/clipper.php) library was used so as to 
provide the buffer functionality.
  
  The loss in detail of merged buildings was due to precision problems in 
QPolygonF::united() 
  This was fixed by scaling the nodes of the polygon by a factor of 10000000 
and then scaling them down by the same factor.
  
  However, the 3rd problem - loss of some  buildings in the final output still 
persists and in fact has been aggravated by the buffering. Since merging the 
buildings now involves buffferings, some of the buildings get merged with their 
neighboring buildings but when the merged polygon is buffered negatively,  it 
results in loss of buildings.
  I have tried to correct this by testing the algorithm for different scale 
values taken for buffering but still this problem persists.

REPOSITORY
  rMARBLE Marble

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D2376?vs=5752&id=5914

REVISION DETAIL
  https://phabricator.kde.org/D2376

AFFECTED FILES
  src/3rdparty/polyclipping/CMakeLists.txt
  src/3rdparty/polyclipping/clipper.cpp
  src/3rdparty/polyclipping/clipper.hpp
  src/CMakeLists.txt
  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/main.cpp

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: tandon, rahn, nienhueser
Cc: nienhueser, #marble, marble-devel

Reply via email to