Bugs item #3607970, was opened at 2013-03-13 21:12
Message generated for change (Comment added) made by michaudm
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=679906&aid=3607970&group_id=118054

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: General / Other
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Sean (bigrodent)
Assigned to: Nobody/Anonymous (nobody)
Summary: Generalization will remove full polygons for high tolerance

Initial Comment:
Take for instance a US Zip and set it to .01 or even  as low as .0001 and you 
will end up with less polygons than the original file.  You will actually 
remove full zip codes.  As you turn the tolerance down they gradually appear 
back.   Upon physical inspection of the shapefile it is clear that it is the 
smallest zips in the file that get stripped first.   Other opensource tools 
have this issue as well.  

----------------------------------------------------------------------

>Comment By: michael michaud (michaudm)
Date: 2013-03-16 13:59

Message:
Hi,
I found another problem in the attribute tranfer.

My dataset :
36673 polygons
36572 simplified polygons only (101 polygon missing)
593 polygons have inherited attributes from a feature which is not the
source polygon

I'm on the way to find a solution for both problem.
It will not be 100% robust but should solve most problems.

stay tuned

Michaƫl 

----------------------------------------------------------------------

Comment By: Sean (bigrodent)
Date: 2013-03-14 09:09

Message:
One item I forgot to mention is that other tools that have had issues
similar in nature have suggested that it occurs when the ring size is less
than the tolerance and the entire poly gets wiped rather than ignored.   

----------------------------------------------------------------------

Comment By: Sean (bigrodent)
Date: 2013-03-14 09:06

Message:
Just to add my detailed testing of simplifying a 500Mb zip layer.   Also,
please note that this DP algorithm seems to do really well with the layer
level topology support.   This is the reason we use it.

Original zip - 30363 polygons   524Mb
Original zip Unioned to remove muli-entries - 30357 polygons   524Mb
(manually verified correct)

simp01 - 32853 
simp01 - unioned - 29885 out of expected 30357  (16Mb)

simp005 - 34751
simp005 - unioned - 30164 out of expected 30357

simp001 - 40331
simp001 - unioned - 30346 out of expected 30357

simp0005 - 43170
simp0005 - unioned - 30351  out of expected 30357 (65Mb)

simp0001 - 46372
simp0001 unioned- 30356 out of expected 30357 (158Mb)


simp00001 - 46500
simp00001 - unioned - 30357 out of expected 30357  back to original polygon
number (400Mb)


----------------------------------------------------------------------

Comment By: Jukka Rahkonen (jratike80)
Date: 2013-03-14 06:12

Message:
I did not even remember that generalization D-P and Preserve Topology can
be found from Analysis - Geometry functions because the upper menu level
Tools - Generalization meets the eye first.

----------------------------------------------------------------------

Comment By: Jukka Rahkonen (jratike80)
Date: 2013-03-14 05:46

Message:
Both Spatialite functions created 84031 polygons. Of those 3663 were
invalid when Simplify was used, and 24 when SimplifyPreserveTopology was
used. However, for the latter also the original features had topology
errors and SimplifyPreserveTopology seems to be reliable.

----------------------------------------------------------------------

Comment By: michael michaud (michaudm)
Date: 2013-03-14 05:30

Message:
Thanks for the tests Jukka,

Simplify : did you check that you had 84031 polygons in the result.
SimplifyPreserveTopology : I know there are cases where a small hole
finishes out of the exterior ring after simplification. If you have
stranger cases, it maybe worth pointing them to Martin.
Simplyfy Polygon Coverage : the flaw I identified is about polygons which
have only two edges in the graph, and the simplification of both edges give
the same result. The polygon disappears.

Agree to add a warning for simplify plugin. It i more difficult with
Analysis>Geometry functions


----------------------------------------------------------------------

Comment By: Jukka Rahkonen (jratike80)
Date: 2013-03-14 02:31

Message:
I made some tests. I had originally 84031 polygons and 28 of them has
self-intersections. Simplify Polygon Coverage gave only 82970 simplified
polygons in 35 minutes. There were no topology errors in those.
Spatialite (or geos and thus fundamentally JTS) found the same 28 invalid
polygons from source data. Function Simplify converted all the 84031
polygons in 15 seconds and in the resultset there were 3663 invalid
polygons. Function SimplifyPreserveTopology took 95 seconds and result
contained 24 invalid polygons.

People tend to believe that SimplifyPreserveTopology preserves layer
topology. However, it preserves topology only feature by feature and the
resulting layer may have gaps and overlaps. If OJ will use this JTS
function some day I would suggest showing a comment about layer topology
for the users.

----------------------------------------------------------------------

Comment By: michael michaud (michaudm)
Date: 2013-03-14 00:51

Message:
Jukka is right about the difference between DouglasPeuckerSimplifier and
TopologyPreservingSimplifier.
However, I don't remember I have seen geometries disappearing with
DouglasPeuckerSimplifier.
On the other hand, I just check our Simplify Polygon Coverage plugin and
found a flaw which could explain that small polygons disappear (just added
some comments in the code of SimplifyPolygonCoveragePlugIn). I've no patch
yet and I'll try to find a solution with the help of Stefan.


----------------------------------------------------------------------

Comment By: Jukka Rahkonen (jratike80)
Date: 2013-03-13 22:27

Message:
I can confirm that this happens with Simplify Polygon Coverage and OJ
snapshot r3322.
Douglas Peucler simplification is not guaranteed to preserve the number of
polygons
http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/simplify/DouglasPeuckerSimplifier.html
There are another algorithms which keep all the polygons like 
http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/simplify/TopologyPreservingSimplifier.html
I am not sure if our Simplify Polygon Coverage is supposed to preserve the
topology or not and if this is a bug or a missing feature.

I used Spatialite and SimplifyPreserveTopology function for my data with
good result.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=679906&aid=3607970&group_id=118054

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to