A while back, I posted about a very cool site created by InfoMagnet called Glogbal-i. As a result of that post, I had some communication with Matthew Leigh of InfoMagnet. I had stated in the post that taking a set of polygons representing geographic data and simplifying them was 'pretty straightforward.' Matthew was amused by this statement - maybe he knew I was speaking from ignorance.
So I figured I should actually look at the problem. Below is the result of some work I did on reducing a set of geographic data to provide a simplified map. The main goal here is to use fewer data points while maintaining the coherence of the data. It is actually a really fun problem, and I certainly haven't taken the solution as far as I want.
The solution tracks every point in the data set and ensures that polygons that share points also share the transformations of those points - that's the easy part. Making the decision regarding transforming a point is something of an art. I currently look at the variance of the points in a window and make a decision based on a threshold. Regardless of the decision of how or when to transform the points, this approach will miss cases where lines are shared but no points. In this case it is possible for the transformed points to result in very different lines which no longer coincide.