8 votos

Esqueleto de vectores en QGIS/Python

Estoy tratando de encontrar una herramienta para crear un esqueleto de un gran conjunto de datos vectoriales utilizando QGIS y su paquete. Debe ser directamente programable a través de Python o de la línea de comandos (QGIS, GRASS, OGR, etc. están bien).

El objetivo es un polígono grande y delgado con agujeros que representan zonas de calles y necesito obtener una aproximación de la red de carreteras a través de la esqueletización.

Lo que he encontrado hasta ahora:

  • GRASS 7.0 tiene v.skeleton que debería ser suficiente, pero no parece que vaya a integrarse con QGIS en un futuro próximo.
  • CGAL tiene algoritmos de esqueleto, por supuesto, pero el soporte de Python es muy pobre.
  • pySkeleton no me funciona y probablemente no tengo tiempo para salvar el código.

Otras alternativas (openJump skeletonizer, este antiguo plugin de ArcGIS ...) no se pueden conectar fácilmente a QGIS/Python.

¿Alguna otra sugerencia?

6voto

Mue Puntos 2469

Este documento "Esqueleto de polígonos usando PostGIS" describe un proceso que utiliza herramientas de PostGIS y HIERBA , ambos de los cuales puede sea invocable. Menciona el uso de PostGIS para crear un esqueleto de los vectores y limpiarlo usando de nuevo PostGIS o GRASS.

Existen herramientas de la Caja de herramientas de procesamiento lo que, con suerte, simplifica las cosas cuando se llama desde Python/línea de comandos como:

Espero que esto ayude.

4voto

aditya Puntos 11

Una opción, un tanto indirecta, podría ser utilizar el módulo de esqueletado de cuadrículas de SAGA ( http://www.saga-gis.org/saga_module_doc/2.1.3/imagery_segmentation_1.html ), ya sea a través de QGIS o utilizando la línea de comandos saga_cmd utilidad. Primero tendría que convertir su polígono en una trama SAGA.

De lo contrario, como dice @Alpha-beta-soup, podría utilizar v.skeleton de GRASS en la línea de comandos.

Para utilizar una herramienta de línea de comandos desde Python, utilice la función subprocess para pasar la cadena de comandos al sistema.

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