[Marble-devel] Review Request 119354: In ShpRunner, for shapeType = SHPT_POLYGON, set Geometry of placemark to multi geometry only when there are more than one polygons.
Abhinav Gangwar
abhgang at gmail.com
Fri Jul 18 10:14:23 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119354/
-----------------------------------------------------------
Review request for Marble, Dennis Nienhüser, Torsten Rahn, and Thibaut Gridel.
Repository: marble
Description
-------
I noticed some problem in rendering of colorize property in Atlas map . The Atlas map from updated master shows all Asia and Europe colored with ice colors.
I figured out the problem why it's happening by comparing kml files ( converted from ne_50m_land.shp ) converted using Marble's kml2kml tool and Qgis.
The problem was that the file I created using kml2kml was specifying the geometry of a plcemark as MulltiGeometry ( containing only one polygon ) while for exctly same placemark, in the kml file I converted using QGis, the geometry was Polygon.
This was due to the problem :
In ShpRunner, the case when shapeType is SHPT_POLYGON ,If there are more than one linear rings, the placemark's geometry is set to Multigeometry ( even if more than one linear rings represent a single polygon - one outer ring and rest are inner rings ).
Fix :
I fixed it by setting placemark's geometry to Multigeometry only when there are more than one polygons ( more than one outer rings ).
i.e ( more than one linearring ) && ( more than one linearrings are outerrings ).
Diffs
-----
src/plugins/runner/shp/ShpRunner.cpp 2e15688
Diff: https://git.reviewboard.kde.org/r/119354/diff/
Testing
-------
Yes, patch works fine and fixes the problem.
Thanks,
Abhinav Gangwar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20140718/4fd3516f/attachment.html>
More information about the Marble-devel
mailing list