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