Python: encuentra líneas de contorno desde matplotlib.pyplot.contour ()

Estoy tratando de encontrar (pero no dibujar) líneas de contorno para algunos datos:

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) 

Lo sécn contiene las líneas de contorno que quiero, pero parece que no puedo llegar a ellas. He intentado varias cosas:

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

en vano. Lo sécn es unContourSetycn.collections es una matriz deLineCollections. Pensaría que unLineCollection es una matriz de segmentos de línea, pero no puedo averiguar cómo extraer esos segmentos.

Mi objetivo final es crear un archivo KML que traza datos en un mapa del mundo y los contornos de esos datos también.

Sin embargo, dado que algunos de mis puntos de datos están muy juntos y otros están muy lejos, necesito los polígonos reales (cadenas lineales) que forman los contornos, no solo una imagen rasterizada de los contornos.

Estoy algo sorprendidoqhull no hace algo como esto

Usando Mathematica'sListContourPlot y luego la exportación como SVG funciona, pero quiero usar algo de código abierto.

No puedo usar el conocido algoritmo CONREC porque mis datos no están en una malla (no siempre hay múltiples valores y para un valor x dado, y viceversa).

La solución no tiene que ser python, pero tiene que ser de código abierto y ejecutable en Linux.

Respuestas a la pregunta(2)

Su respuesta a la pregunta