Python: найти контурные линии из matplotlib.pyplot.contour ()

Я пытаюсь найти (но не рисовать!) Контурные линии для некоторых данных:

from pprint import pprint 
import matplotlib.pyplot 
z = [[0.350087, 0.0590954, 0.002165], [0.144522, 0.885409, 0.378515], 
     [0.027956, 0.777996, 0.602663], [0.138367, 0.182499, 0.460879], 
     [0.357434, 0.297271, 0.587715]] 
cn = matplotlib.pyplot.contour(z) 

я знаюcn содержит контурные линии, которые я хочу, но я не могу добраться до них. Я пробовал несколько вещей:

print dir(cn) 
pprint(cn.collections[0]) 
print dir(cn.collections[0]) 
pprint(cn.collections[0].figure) 
print dir(cn.collections[0].figure) 

но безрезультатно. я знаюcn этоContourSet, а такжеcn.collections это массивLineCollections. Я бы подумалLineCollection это массив отрезков, но я не могу понять, как извлечь эти отрезки.

Моя конечная цель - создать файл KML, который будет отображать данные на карте мира, а также контуры для этих данных.

Однако, поскольку некоторые из моих точек данных расположены близко друг к другу, а другие - далеко, мне нужны фактические полигоны (линии линий), которые составляют контуры, а не просто растровое изображение контуров.

Я несколько удивленqhull не делает что-то подобное

Используя Mathematica'sListContourPlot и затем экспорт как SVG работает, но я хочу использовать что-то с открытым исходным кодом.

Я не могу использовать хорошо известный алгоритм CONREC, потому что мои данные не находятся в сетке (не всегда есть несколько значений y для данного значения x, и наоборот).

Решение не обязательно для Python, но должно быть с открытым исходным кодом и работоспособным в Linux.

Ответы на вопрос(2)

Ваш ответ на вопрос