4 votos

¿Cómo se poligoniza un archivo de forma de polilínea en QGIS 2.2?

Cuando usé QGIS 1.8, pude transformar capas de polilínea en capas de polígono con el plugin Polygonizer. En QGIS 2.2, esta función ha sido subsumida en la caja de herramientas de procesamiento. Desafortunadamente, no parece funcionar. Veo que este problema ha surgido antes ( ¿Crear un polígono a partir de las líneas de intersección en QGIS usando Polygonize o similar? ) pero no se ha resuelto.

Aquí está mi capa de polilínea:

input

Y esto es lo que obtengo cuando ejecuto la función de poligonización:

output

Sólo una fracción de las formas cerradas han sido cerradas con éxito por la función de poligonización.

¿Puede alguien aconsejarme cómo puedo hacer que esto funcione correctamente? Como dije, pude hacer este tipo de cosas con el viejo plugin Polygonizer, usando la metodología lenta/antigua. Eso no parece estar implementado en la nueva función en QGIS 2.2. ¿Hay algún otro lugar donde pueda encontrarlo?

¡Gracias de antemano!

ETA: Funcionando en Windows 7. Instalado a través del instalador autónomo de la página web principal de QGIS.

ETA2: Instalé QGIS 1.8 de nuevo y fui capaz de producirlo con el antiguo plugin Polygonizer (con la salida de la función de procesamiento de QGIS 2.2 en la parte superior). Esto fue producido usando el "Viejo método" en el plugin Polygonizer. Llevó mucho tiempo pero funcionó mucho mejor. El "Nuevo método" del plugin Polygonizer producía los mismos polígonos que QGIS 2.2. ¿Así que parece que sólo el antiguo plugin "Nuevo método" ha sido llevado a QGIS 2.2?

old polygonizer output

0 votos

El hecho de que algunas de las líneas de tu shapefile se conviertan en polígonos sugiere que 'Polygonize' está funcionando como debería. En ese caso, lo más probable es que el problema esté en su archivo shape de líneas. ¿Podría intentar poligonizar este archivo shape de prueba? dl.dropboxusercontent.com/u/45121071/laxlines.zip

0 votos

Hola Nick, me sale el error de "división por cero del flotador" mencionado en el otro hilo. He añadido un par de detalles del sistema a mi pregunta anterior.

3voto

GreyCat Puntos 146

No es un problema del antiguo plugin Polygonizer frente a Processing:Polygonize (script /plugins/processing/algs/qgis/Polygonize.py).

Ambos utilizan el módulo de Python elegante y la función polygonize

Secuencias de líneas de contacto se pueden fusionar en MultiLineStrings o Polígonos utilizando las funciones del módulo shapely.ops ( shapely.ops.polygonize(lines) , shapely.ops.polygonize_full(lines) etc.)

Lo importante aquí es el líneas de contacto . El resultado final depende de la precisión de los nodos (¿se tocan realmente las líneas?) y del orden de las líneas en las capas

Ejemplo de resultados con elegante :

Las líneas

enter image description here

algunos resultados de poligonización según los criterios mencionados:

enter image description hereenter image description here

0 votos

Gene, por lo que veo, las líneas se tocan realmente, se encuentran en nodos comunes. ¿Puedes explicar tu comentario sobre el "orden de las líneas en las capas"? Eso suena alarmante, ya que no tengo control sobre los conjuntos de datos originales y cómo se crearon. Sin embargo, he podido obtener un mejor resultado de poligonización con el antiguo método del Plugin, como he añadido en la edición de mi pregunta original.

2voto

SpliFF Puntos 214

De acuerdo con este tema: ¿Cómo se hace con... mapas geológicos algo complejos en QGIS? la poligonización en QGIS 2.2 falla debido a algunos problemas con la biblioteca shapely. Se ha solucionado en el actual Master QGIS 2.3.0 utilizando pythons-shapely 1.2.18-1.

Desafortunadamente, no funciona con QGIS 2.2.0 desde la misma configuración de OSGEO4W. Así que tenemos que esperar a la estable QGIS 2.4. Según http://qgis.org/en/site/getinvolved/development/index#road-map esto debería ser en junio. Así que no está lejos.

0 votos

Hola André, muchas gracias por los consejos. He reinstalado QGIS 2.2 con la configuración OSGEO4W y la instalación avanzada. Eso no tuvo éxito. Sin embargo, QGIS 2.3 (qgis-dev) instalado de la misma manera tuvo éxito. Replicó los resultados que obtuve con el plugin Polygonizer, "método antiguo", pero mucho, mucho más rápido. Gracias de nuevo.

0 votos

Tienes razón, no funciona con 2.2.0, ni siquiera usando el mismo shapely. Lo mismo para Ubuntu.

0 votos

Yo uso Qgis 2.14 y no funciona...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X