Bienvenidos!!

Este blog pretende ser una ventana al mundo de la enseñanza y la divulgación del proyecto gvSIG a través de tutoriales en video. Cada nueva entrada se acompañará de un vídeo y un comentario sobre el tema que se trate. De la misma forma, cualquier otro aspecto relacionado (problemas de instalación, nuevas funcionalidades, eventos, etc.) también serán comentados. Disfrutad aprendiendo!! Saludos.

Este blog se mueve...

Cargando...

Datos de los tutoriales

Aquí están los DATOS para trabajar con los videoturotiales

viernes, 14 de diciembre de 2012

Nueva sección de scripting

Hola a tod@s.

Como sabéis, la última versión de gvSIG (la 2.0) trae una extesión de scripting. Dicha extensión permite acceder a muchas de las funciones de gvSIG utilizando python. EdugvSIG comienza una nueva sección para ir demostrando la gran potencialidad que tiene desarrollar nuestras propias herramientas de una forma más sencilla. De esta manera, nos convertimos en desarrolladores de nivel medio, sin más que tener algunos conocimientos básicos de programación (python es relativamente sencillo y tiene montones de documentación para aprender).

Para empezar a abrir boca, os dejo algunos enlaces de scripts realizados por Víctor Acevedo, uno de los desarrolladores de esta extension:

- Valor máximo y mínimo de un campo asociado a una capa de polígonos.
- Crear un área de influencia.
- Crear una poligonal a partir de datos de distancia y acimut desde un archivo csv.

Bueno, con el ánimo de contribuir ahí va mi primer script. En este caso es un script muy sencillo que trata de contar el número de entidades de la capa activa de una vista. Debe haber una capa cargada y activa. En caso de no haber ninguna capa cargada o haber más de una activa, el script lanzará un mensaje de advertencia. El código debéis pegarlo en el editor (composer) y ejecutarlo desde ahí mismo o desde el lanzador (launcher). Ni que decir tiene que primero debéis tener instalados gvSIG 2.0 y la extensión de scripting :-)) (esto último se hace desde el administrador de complementos).

Aquí os dejo el código:

  
"""
Este script obtiene el número de entidades de la capa activa.
Autor: Jesús Palomar. 2012
"""
#necesario para acceder a las capas de gvsig
from gvsig import * 
#necesario para acceder a los cuadros de diálogo
from commonsdialog import *

def main():
  try:  
    #acceso a la capa activa
    layer = currentLayer() 
    #acceso al conjunto de entidades de la capa activa (FeatureSet)
    features = layer.features()
    #acceso al número de entidades
    n = features.getCount()
    #muestra el mensaje con el resultado
    msgbox("Entidades: %d" %n,"Entidades",1)
  except:
    """
    si se produce un error al capturar la capa activa bien porque no hay ninguna
    activa o no hay ninguna cargada, sale un mensaje. También falla si hay más de una
    capa activa o si la capa no es vectorial.
    """
    msgbox("Tiene que tener una sola capa vectorial activa","AVISO",2)

Saludos y espero que lo disfrutéis.

1 comentario:

  1. ¿es posible desde scripting realizar ventanas y mostrar valores alfanumericos o fotos almacenadas en una BD tipo Postgre?

    ResponderEliminar