Tengo un shapefile con áreas de la ciudad, pero desafortunadamente el shapefile solo contiene líneas simples. El archivo de forma se ve así:
Quiero convertir esas líneas en un archivo de forma de polígono de área en QGIS. Lo probé con la herramienta "Líneas a polígonos" (Vector> Herramientas de geometría> Líneas a polígonos), pero no funcionó correctamente. Después de usar esta herramienta, el archivo de forma se ve así:
¿Hay alguna otra forma de convertir el archivo de forma de línea en un archivo de forma de polígono de área en QGIS?
Por cierto, estoy usando QGIS 2.14.3 Essen.
Respuestas:
La
Polygonize
herramienta de la caja de herramientas Procesamiento todavía funciona bien para mí en líneas simples:Sin embargo, es necesario que las líneas se crucen o compartan vértices comunes. Y las líneas no deben tener auto intersección.
Es posible que deba ajustar los vértices de las esquinas para que funcione. Por lo general, establezco la tolerancia de ajuste a 10 píxeles en el vértice.
fuente
Solo una pista si no puedes encontrar la
Polygonize
herramienta. En mi instalación de QGIS 2.18.3 (Windows) no pude encontrar laPolygonize
herramienta enVector geometry tools
el cuadro de herramientas. Me tomó un tiempo darme cuenta de que necesitaba instalar lapython-shapely
biblioteca con OSGeo4W (gracias Nick Hopton: Perfect Polygons en QGIS ).fuente
Mirando su imagen, supongo que cada línea no abarca completamente un área, las líneas solo actúan como cercas y no se vuelven a conectar al principio. Sus polígonos se están creando desde los extremos de las líneas, por lo que la herramienta 'líneas a polígonos' funciona bien, son los datos los que son el problema.
Me temo que lo único que puedes hacer es pensar en digitalizar una nueva capa de polígonos. Afortunadamente, QGIS lo ha hecho realmente fácil con la herramienta de digitalización de trazas (un icono de imán) que está disponible en 2.14
fuente
Si no hay agujeros, crearía una capa de cero con un solo polígono lo suficientemente grande como para cubrir toda su área. Luego lo intersectaría con el resultado de las líneas a los polígonos y lo dividiría aún más según sea necesario.
fuente
Puedo sugerir el uso de un a
"Virtual Layer"
travésLayer > Add Layer > Add/Edit Virtual Layer...
.Supongamos que tenemos cinco características de línea
"lines"
, vea la imagen a continuación.Con la siguiente consulta, es posible lograr el resultado.
La capa virtual de salida se verá así
Como ya fue mencionado por @AndreJ, las líneas se intersectarán o compartirán vértices comunes. Y las líneas no deben tener auto intersección. En términos de limpieza de la topología de la capa, puedo sugerir explorar el
v.clean
conjunto de herramientas GRASS.En caso de que las líneas tengan auto-intersección, puede usar un ConvexHull con la siguiente consulta
Referencias
fuente
Si las polilíneas se superponen, la
Polygonize
herramienta no puede manejarlo de la siguiente manera:Sin embargo, la
Lines to polygons
herramienta funciona como se espera de la siguiente manera:fuente