25

I am looking for existing solutions (softwares, libraries, methods, etc.) to automate the generalisation/simplification of geographical data as presented there, and also there.

Do you know and use some tools to simplify your geographical data?

I already had a look at these ones:

The ICA commission on generalisation and multiple representation website is a huge information source on this topic. Many papers presents advanced methods and use cases related to this topic.

The very famous douglass & peucker filtering algorithm is often used for geometrical simplification and is present in almost all GIS softwares. However, its effect is to make geometries very bony/angular without really simplifying the geometry shape. For example, it is not very adapted for lines representing roads or rivers, that have to be smooth and not angular.

10 Answers 10

10

Automatic generalization algorithms are not yet a complete solution, they still often make decisions a careful cartographer would abhor. Natural Earth has a good background article on how their approaches to generalizing features, a multi-step manual process. Axpand claims the Swiss Topography Office had an 80% success rate with automatic generalization when using their software with topographic maps.

You've mentioned in a few responses that you don't like the 'bony' geometries produced by many automated solutions, could you explain what aspects of the data you'd like to retain? Are you interested in positional accuracy of the results, or more in the aesthetics? That will help give us a sense of where a solution might lie.

  • Thanks for these links. The problem of bony geometries is well explained in slides 23 to 29 of this presentation: fmeuc.com/archive/2009downloads/PDF/… – julien Aug 3 '10 at 12:38
  • OK, that helps: you're interested in the aesthetics of the results more than the vertex count, which is a different goal than the generalization algorithms such as DP. ArcGIS has an implementation of Simplify (tinyurl.com/33387pp) based on Wang's algorithm (tinyurl.com/3yy5hye) which provides another option. Within GRASS, Chaiken and Hermite can provide nice results with v.generalize, depending on your needs. – scw Aug 3 '10 at 21:30
8

I use the ftools plugin in Quantum most of the time. I also use the v.generalize in GRASS. It has the advantage of giving you several different algortithms options for simplification, smoothing, and network generalization depending on what you are trying to do.

http://grass.itc.it/gdp/html_grass64/v.generalize.html

  • 1
    Thanks a lot for this link. Some example of results are shown there: users.ox.ac.uk/~orie1848/tutorial.html Even filtering algorithms makes roads very bony and does not prevent from topological conflicts, it is a good resource! – julien Jul 30 '10 at 11:44
4

The JTS Topology suite has an implementation of the Douglas-Peucker algorithm (though it's not too hard to roll your own for that one); the Net Topology Suite (.net port of JTS) would have the same if you favor the .Net environment. Finally the NTS functions could probably be accessed through SharpMap.

4

You can download an evaluation copy of FME from Safe Software (http://www.safe.com) and try using the FME Workbench. There are a couple of transformers that can assist you in generalizing your geographical data while providing flexibility to virtually work with most GIS formats. ~SRG

4

if your dataset is relatively small or tightly focussed and the end product is a map you might try exporting to a drawing program like Illustrator or Inkscape which have much more developed simplification and generalization tools.

If you have deep pockets Avenza Map Publisher provides a two way bridge between ArcMap and Illustrator.

  • Thanks for your answer. Inkscape has a feature called "path simplification" (see tavmjong.free.fr/INKSCAPE/MANUAL/html/…). I do not know which algorithm is used for that. It seems to be a smoothing algorithm applied to bezier curves. It has no effect on simple polylines. In map publisher documentation (see 68.178.233.117/Downloads/Docs/MP83_UserGuide.pdf, page 123) I only found the very very famous Douglas-Peucker filter as simplification procedure. – julien Aug 2 '10 at 12:51
  • The simplification methods I was thinking of are part of Illustrator proper, not a Mappublisher extra. I don't know what algorithm they're using. It's the interactive method which has worked the best for me, but that's why only suitable for small and tightly focussed projects. – matt wilkie Aug 3 '10 at 17:29
4

just to follow up on SRG's FME recommendation, the Natural Resources Canada has done a significant amount of work using FME for generalization. They presented at the 2009 FME User Conference, and you can find there talk here http://www.fmeuc.com/archive/fmeuc2009/index.php (it is Talk 2. Generalizing a 1:250 000 National Topographic Map at Natural Resources Canada). The PDF of their talk is there also and it has many examples in it, as well as some links at the end to the authors, if you wanted to follow up with them.

In the time since this talk, there's been additional work done, including implementation of a "sherbend" generalization algorithm in the latest FME, which is definitely worth a look (The algorithm iteratively simplifies bends in a line by using a diameter parameter to select bends for simplification, which may combine or eliminate bends.)

Contact support@safe.com if you'd like to try it yourself or find out more.

Dale

4

Postgis has two simplification function based both on Douglas-Peucker ST_Simplify - Returns a "simplified" version of the given geometry using the Douglas-Peuker algorithm. ST_SimplifyPreserveTopology do the same but preserve topology

For theory, a reference for me is http://www.spatialanalysisonline.com Look on the web version and search "smoothing". You can also look on http://www.geom.unimelb.edu.au/gisweb/LGmodule/LGModule.htm (more for an introduction to concepts but really interesting in particular for mc master method)

  • If I understand correctly, Postgis supports multiple shape fields, so a single feature can have both a precise shape field and one that is generalized for large-scale display. – jvangeld Nov 10 '10 at 5:35
  • Yes, but most of the tools need you give in the geometry_columns table, the name of the columns you're using for geometry/geography. The problem is I don't think you can set for the same table, 2 or more declarations for a geometry. Maybe using a view e.g. i-proving.ca/space/Technologies/GeoServer. I don't have experiences with multiple geometries columns, so, not sure... – ThomasG77 Nov 10 '10 at 16:17
4

Rupert Brooks of the National Research Council of Canada has some open source gis tools for generalization built for the National Atlas of Canada. They're a bit older, late 1990s and early 2000s, and largely based on ArcInfo workstation though there are a couple of perl and C utilities.

I thought I remembered seeing some newer arcgis toolboxes bases on Brooks' work but I don't see them now; perhaps a false memory ;-) Brooks publication list is worth browsing, though many are not accessible online without a university libraries access. In any case the list led me to a book which appears to be the best relatively current overview of the state of automated generalization is Generalisation of Geographic Information: Cartographic Modelling and Applications (2007) from the International Cartographic Association. (I haven't read it yet.)

My favourite Brooks' quote: "GIS advocates, computer scientists and engineers have claimed to be “on the verge” of producing automated generalisation techniques for nearly 40 years" (Cartouche #39, fall 2000), now 50 years ;-)

  • Your favorite Brooks' quotation is a really good premonition! – julien Sep 1 '11 at 16:39
3

The QuantumGIS desktop software has the fTools plugin which has several tools for simplifying data.

http://www.qgis.org/

http://www.ftools.ca/plugins.html

  • 1
    Thanks a lot for this answer. I have tested it, but I only found a "polygon to centroids" algorithm and a "simplify geometries", that is a douglass peucker filter (one more time) – julien Jul 30 '10 at 11:58
3

The documents of the AGENT project available there is also a good source of information for people interested in this topic. It describes some transformation algorithms and spatial analysis methods.

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