Ben,

I am finally replying to your most helpful post about shapefile generation.

Indeed, we found that turning off multipolygon path simplification just before the call to_polygons() did the trick:

we find that multipolygons now preserve all of the vertices that define them -- in some cases in excess of 10K points.

Thanks so much for pointing us in the right direction.

Mark

On Tue, Sep 13, 2011 at 1:02 PM, Leidner, Mark <mleidner@aer.com> wrote:

Ben,Good to hear from you.We are using matplotlib v1.0.1_5 on an install from Macports.Hearing that there is simplification logic is very intriguing.

Mark

Try this and tell me if the results are better. Right before the line where you call to_polygons(), add this line:

multipolygon.should_simplify = False

The simplification logic gets triggered automatically if the rcParam['path.simplify'] is True and if there are more them 128 vertices and those vertices are all simple LINETO segments. I think in your situation, this is true. So, we can force a non-simplification directly like above, or set your rcParams file with path.simplify to False (but this may make graph rendering significantly slower and more resource intensive overall).

The path simplification logic is designed so that one does not see any visual differences, however, there might need to be some additional logic for those who are accessing the path directly.

I hope this helps!

Ben Root