Dear Python/Matplotlib/Ogr Users:
We are recent converts to Python, and are having trouble with some of its functionalities.
We’d like to submit our case for your consideration in hopes to get some educated help on the subject.
The problem:
When trying to use contour collections generated by contourf, the resulting shapefile contains overly simplified contours which poorly approximate the underlying field.
To reproduce the problem, we wrote a python script that specifies a 2-d analytical shape. This shape has small noise perturbations added, in order to simulate natural geophysical fields (wind speed, for example).
.
The shape is being sliced by contourf command, and the resulting collection is being plotted as a PDF file (PostScript) and converted to an output Shapefile using OGR module.
We also wrote several functions, defined inside the script, that take care of unpacking and exporting the contour collections as polygon or multipolygon shapefile entities thru OGR shapefile methods.
Two zoomed in views are attached (screenshot_* attachments): (1) a portion of the PDF figure, and (2) a visualization of the shapefile data for the same area. The PDF figure shows a contour line with fine scale structure (the fine structures are the noise we added) while a lack of fine structure is seen in the output shapefile. The PDF plot is what we expect. The output shapefile geometry is very different from what we would expect.
We can’t understand how a call to contourf can produce a plot that looks right AND shapefile data (taken from contourf’s collections) that appear to grossly simplify the geometry. We expect that both the plot and the shapefile come from the same contourf function results, yet look totally different.
We’d like to ask whether anyone else encountered limitations regarding the complexity of shapefiles written out by python?
Is this a possible problem with matplotlib.pyplot.contourf.collections method?
We would appreciate your help very much!
Test script and the resulting shapefile data set are attached.
Thank you!
Archive_0.002.zip (6.03 KB)
test_case.py (4.32 KB)
···
S. Mark Leidner
Staff Scientist/Oklahoma Business Development
Atmospheric and Environmental Research, Inc.
350 David L. Boren Blvd, Suite 1535
Norman, OK 73072-7264 USA
ph: +1 405 325-1137
cell: +1 781 354-5969
Sergey Vinogradov, Ph.D., Staff Scientist
Atmospheric and Environmental Research, Inc.
131 Hartwell Ave., Lexington, MA 02421, USA
Phone: 1-781-761-2256 sergey@…3763…
Fax: 1-781-761-2299 http://www.aer.com
Web page :: http://ocean.mit.edu/~svinogra