Scripting en gvSIG: getSelection

getselectionVamos a utilizar el comando getSelection, este comando está dentro de la librería de gvSIG en la clase Layer y en la clase Table. Se utiliza para agrupar las entidades seleccionadas dentro de la capa o de una tabla. Y se utiliza de la forma:

.getSelection()

En nuestro ejemplo del post anterior sobre Unir puntos en una linea podemos modificarlo simplemente cambiando la linea donde se agrupan las entidades, esto haría que los puntos utilizados para la unión en una linea solo fueran los seleccionados:

unirLineaGetSelection

features = currentLayer().features()

por:

features = currentLayer().getSelection()

Aunque esto no implica necesariamente que a la hora de unir los puntos los haga en el orden que hemos hecho la selección. Haré un ejemplo de esto en próximos artículos.

A continuación veremos un ejemplo donde queremos información sobre las entidades que tenemos seleccionadas.

Nota: Si la selección la tenemos activa en la capa, debemos utilizar currentLayer() a la hora de agruparlas en nuestro código. Si tenemos una tabla, deberíamos de utilizar currentTable().

El código que se nos quedaría es este.


from gvsig import *

def main():
 """Muestra entidades seleccionadas"""
 #Al usar currentLayer() debemos tener
 #una vista y capa activa, sino podemos usar getLayer()
 #para una capa especifica

 #Obtenemos la lista de las entidades seleccionadas
 selection = currentLayer().getSelection()
 #Podemos contarlas ya que es un featureSet
 numero = selection.getCount()
 #if para controlar que exista alguna selección
 if (numero == 0): return

 print "Entidades selecionadas: ", numero
 #Las imprimimos por consola, justo a su 1a y 2a columna
 for select in selection:
     print ("Codigo de ID %s : %s" % (select[0],select[1]))

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: