Contar y extraer nodos (vértices) para vectoriales de línea o polígono mediante PyQGIS

Siguiendo con las pruebas mediante PyQGIS en esta oportunidad me tocó explorar, usando get_patt, los métodos de la clase QgsGeometry que tienen ‘vert’ o ‘Vert’ como parte de su texto. Los resultados fueron los siguientes:

Sigue leyendo

Publicado en Código Python, PyQGIS, SIG, Software Libre | Deja un comentario

Región buffer con PyQGIS

En PyQGIS existen varias formas de determinar la región buffer de un vectorial (la más directa es a través de la clase QgsGeometryAnalyzer). No obstante, si se quiere verificar la lógica e intuición que se ha seguido hasta ahora es preferible construirla desde cero. En la clase QgsGeometry existe un método denominado ‘buffer’ que admite dos valores: un float para el ancho de la región buffer y un entero que es un índice a los rasgos seleccionados (-1 es el valor por defecto que señala que todos los rasgos tienen la misma región buffer).

Sigue leyendo

Publicado en Código Python, PyQGIS, SIG, Software Libre | Deja un comentario

Capa de centroides a partir de una grid mediante PyQGIS

En los dos artículos precedentes he estado exponiendo las herramientas para crear un script que produzca una capa de centroides a partir de una grid mediante PyQGIS. La grid de 5 filas por 10 columnas está proyectada en WGS 84 UTM12N y se puede ver en la imagen inferior. Hay que asegurarse de que es capa activa antes de correr el script.

Sigue leyendo

Publicado en Código Python, PyQGIS, SIG, Software Libre | Deja un comentario

Objetos de la Clase QgsCoordinateReferenceSystem en PyQGIS

En un artículo pasado ya había considerado la Clase QgsCoordinateReferenceSystem para reproyectar un shapefile usando PyQGIS. Sin embargo, se habían definido “manualmente” los CRS de partida y destino para ser usados directamente con el constructor de la clase; algo relativamente sencillo de hacer. Por otra parte, si se pretende, por ejemplo, crear una capa de centroides a partir de una rejilla (grid), entonces tengo que saber como “convertir” un objeto de la clase QgsVectorLayer en QgsCoordinateReferenceSystem y poder acceder a los métodos de ésta última para indagar cuál es el sistema de proyección de la capa grid que le voy a transferir a la capa de centroides. Aquí me ha vuelto a ser de utilidad la función get_patt del artículo anterior para tener una pista de cómo hacerlo (el PyQGIS Cook Book hace énfasis en los aspectos complejos y deja de lado los “evidentes”).

Sigue leyendo

Publicado en Código Python, PyQGIS, SIG, Software Libre | Deja un comentario

La función get_patt en el aprendizaje de PyQGIS

PyQGIS es la mezcla de Python y Quantum GIS (ahora QGIS) que permite escribir scripts y plugins para implementar, extender e incrementar las opciones de geoprocesamiento en QGIS o realizar tareas repetitivas de manera automatizada. Como PyQGIS tiene más de 500 clases listadas en la documentación y, por tanto, miles de procedimientos, la mayoría de las veces se nos hace abrumadora la tarea de estudiarlo de manera sistemática sin tener que consultar constantemente la documentación. Por ello, es necesario contar con alguna herramienta que permita verificar la sintaxis de los procedimientos o arrojar pistas acerca de éstos en las diferentes clases que tiene PyQGIS sin necesidad de estar conectado a Internet y desde la misma interfaz de la Python Console.

Sigue leyendo

Publicado en Código Python, PyQGIS, SIG, Software Libre | Deja un comentario

Ecuación del mochilero (backpakers equation) con SEXTANTE commander en QGIS

El esfuerzo que se realiza en un recorrido ha sido plasmado por Wheatley (2002) en una expresión que se ha denominado “ecuación del mochilero” o “backpakers equation”. Contabiliza el recorrido horizontal, los ascensos y los descensos ponderando con un factor significativamente mayor a los segundos. La expresión matemática puede representarse como sigue:

Sigue leyendo

Publicado en QGIS, SEXTANTE, SIG | Deja un comentario

Algoritmos de GRASS ejecutados con SEXTANTE commander en QGIS (Windows)

En el artículo anterior consideré un uso simple de SEXTANTE commander en QGIS para el entorno Linux. Me fue imposible ejecutar, por ejemplo, aplicaciones de GRASS desde fuera del entorno, es decir mediante SEXTANTE commander, por limitaciones propias de mi versión estable de Debian (aunque no tengo problemas para usar el plugin de GRASS). Para los que no están familiarizados con el poderoso entorno de GRASS puede ser muy útil tener acceso a ciertos módulos mediante la interfaz de SEXTANTE commander en QGIS porque es rápida y fácil de usar; sin necesidad de tener que acceder al espacio de trabajo de GRASS. Por ello, me dispuse a probarla en Windows; aunque la mayoría de las posibles aplicaciones de GRASS no están disponibles y algunas parecen no funcionar.

Sigue leyendo

Publicado en QGIS, SEXTANTE, SIG | Deja un comentario