Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am mainly interested in why and how the Simplify Polygons tool in ArcGIS for Desktop handles the simplification process, including preventing and resolving topological errors better than the equivalent ST_SimplifyPreserveTopology in PostGIS destroys topology when trying to simplify to similar levels.

Use case scenario: PostGIS database queried for vectorr GeoJSON polygon overlay in Leaflet. One can pass the ST_SimplifyPreserveTopology to the geometry field but my tests have shown that preprocessing data in ArcGIS gives me smaller datasets and topological correctness.

Here is an example:

Case 1 - Original data

enter image description here

Case 2 - ST_SimplifyPreserveTopology(the_geom,0.001)the_geom

enter image description here note: querying from CartoDB

Further, when simplifying Case 1's data in ArcGIS for Desktop, there are no topology errors produced (ArcGIS for Desktop can resolve all errors).

share|improve this question
"ST_SimplifyPreserveTopology(the_geom,001)" What are your units? – Ragi Yaser Burhum Feb 17 '12 at 23:48
Sorry, typo! 0.001 in EPSG:4326 – Michael Markieta Feb 18 '12 at 0:08
Have you tried a smaller value? 0.001 degrees is quite big. – underdark Feb 18 '12 at 10:06
up vote 10 down vote accepted

Both ArcGIS and PostGIS use the Douglas-Peucker algorithm for simplification. This performs what ESRI calls point-remove simplification. ESRI also does a bend simplify which uses shape recognition (Wang) and not Douglas-Peucker.

Therefore, assuming you are using point-remove for your simplification in Arc, there are two options to explain the differences I can think of:

  1. The tolerance has been set differently in Arc compared to PostGIS (possible if you are just accepting defaults)
  2. ESRI has an environment parameter for snapping vertices together, which may be resulting in the smaller final dataset by snapping a lot of vertices as a by-product of the process.

As for topological correctness, until recently I would have expected you to say that it was ESRI who were getting it wrong (because that was my experience of doing this sort of operation), but recent simplification work in Arc10 has given me no topological errors - so presumably they fixed something! I'm afraid, though, I don't know why PostGIS is breaking the topology.

[MORE INFO AS PER REQUEST] ArcGIS has a setting that determines the minimum allowable XY separation of vertices. If the vertices fall below this tolerance, they are automatically snapped. This tolerance masquerades under three names:

  1. XY Tolerance (settable as an environment parameter)
  2. 'Cluster Tolerance' (Settable as part of a topology definition)
  3. 'Fuzzy tolerance' in the good old days of Coverages (unless you use Coverages - ignore this... but it is essentially the same thing).

The first two are synonymous but ESRI likes to proliferate obfuscation. ArcGIS sets this automatically based on some magic formula it determines, which means it can change when you do operations on your data. However, you can also set this yourself - a trick I often use to automatically reduce the data density following all sorts of operations.

share|improve this answer
you can add to this that the underlying snapping grid may be different – Ragi Yaser Burhum Feb 17 '12 at 16:29
@RagiYaserBurhum I've added an update to my question. Do you think the snapping grid is related to what is happening in my example? – Michael Markieta Feb 17 '12 at 18:56
@SylvesterSneekly Thank you for the answer, but could you please expand upon or reference vertices level snapping, as I believe it may be relavant to my problem. I've updated my question for you to take a look at the case study example. ArcGIS verifies the geometry ("check geometry") of the original data to have 0 errors. – Michael Markieta Feb 17 '12 at 18:58
@Michael More info on XY tolerance added. The PostGIS results look a lot like what used to happen in ArcGIS in earlier versions. Sometimes a self-integration of the data achieved an acceptable fix on the topology errors. – MappaGnosis Feb 18 '12 at 11:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.