PDF de programación - Funciones básicas

Imágen de pdf Funciones básicas

Funciones básicasgráfica de visualizaciones

Publicado el 24 de Mayo del 2018
909 visualizaciones desde el 24 de Mayo del 2018
569,1 KB
8 paginas
Creado hace 10a (04/10/2013)
Curso scripting en gvSIG 2: Manipulación de datos vectoriales                                                  

 1

Funciones básicas 

© 2013 gvSIG Association

Este documento se distribuye con la licencia Creative Commons

© 2013 gvSIG Association

Curso scripting en gvSIG 2: Manipulación de datos vectoriales                                                  
Índice de contenido
1 El objeto Proyecto (Project). Función currentProject....................................................3
Acceso a las vistas del proyecto..................................................................................................3

 2

2 El objeto vista (View). Función currentView..................................................................4
La capa especial Graphics layer................................................................................................4
Acceso a las capas de la vista.....................................................................................................5

3 Obtener el documento Table activo . Función currentTable.........................................6

4 Obtener la capa activa. Función currentLayer...............................................................6

5 Funciones de simbología. Creación de símbolos básicos.................................................6

6 Otras funciones..................................................................................................................7
Función getCRS..........................................................................................................................7
Función getDataFolder...............................................................................................................7
Función getColorFromRGB......................................................................................................7
Función getDefaultColor............................................................................................................7

© 2013 gvSIG Association

Curso scripting en gvSIG 2: Manipulación de datos vectoriales                                                  

 3

En gvSIG existe una clara jerarquía entre los distintos documentos que pueden formar un proyecto. 
De este modo, existe un "Proyecto" que a su vez tiene Documentos por ejemplo, "Vistas", "Tablas", 
"Mapas", algunos de estos documentos a su vez pueden tener colecciones de otras cosas, por 
ejemplo una  Vista  puede tener múltiples capas, es decir, podría decirse, que los documentos que 
forman un proyecto puede decirse que tiene forma de árbol.
Una de las ventajas de la extensión de scripting en gvSIG­desktop 2.0 es que está completamente 
integrada en la plataforma, lo que permite interactuar directamente con los distintos documentos 
que usa gvSIG, sin embargo, puede ser complicado acceder a un elemento concreto del proyecto, 
sobretodo si hay varios del mismo tipo. Para facilitar  la obtención  de estos elementos existen 
funciones que nos permiten acceder fácil y rápidamente a los documentos activos del proyecto. 
Estas   funciones   son  currentProject,  currentView,  currentTable  y  currentLayer  que   retornan 
respectivamente, el objeto Proyecto, la Vista activa del proyecto, la Tabla activa o la Capa activa de 
la vista.

1 El objeto Proyecto (Project). Función currentProject



El objeto que está más alto en la jerarquía es el Proyecto, y en gvSIG únicamente puede haber uno 
cargado   a   la   vez.   Podemos   obtener   el   proyecto   que   tenemos   cargado   mediante   la   función 
currentProject.
La sintaxis es muy sencilla:

project = currentProject()

El objeto project tiene los siguientes métodos principales:

­ getView( [name] )
­ getTable( [name] )
­ getProjectionCode()

• getView(name):   Devuelve   un   documento   de   tipo  Vista  o   None.   Si   se   invoca   con   el 
parámetro name, busca entre las vistas y devuelve aquella cuyo nombre, en la Tabla de 
Contenidos (Table of Contents, TOC), coincida. Si no hay una vista cargada en el proyecto, 
devuelve None. 

string name (opcional): Nombre de la vista en el gestor de proyactos

• getTable(name):   Devuelve   un   documento   de   tipo  Table  o   None.   Si   se   invoca   con   el 
parámetro name, busca entre las tablas y devuelve aquella cuyo nombre, en el gestor de 
proyectos, coincida. Si no hay una tabla cargada en el proyecto, devuelve None.





string name (opcional) : Nombre de la Tabla

• getProjectionCode(): Devuelve un string con el código de la proyección del proyecto 

Acceso a las vistas del proyecto
Como hemos mencionado, los distintos elementos que constituyen un proyecto están organizados 
de forma jerárquica en forma de árbol. De este modo, para obtener un elemento concreto debemos 

© 2013 gvSIG Association

Curso scripting en gvSIG 2: Manipulación de datos vectoriales                                                  

 4

preguntar a la rama superior por ese elemento.
Por ejemplo, supongamos que queremos obtener una vista distinta de la que tenemos activa en el 
proyecto. Para ello lo primero que debemos hacer es obtener el objeto que contiene las vistas, es 
decir el proyecto, y a continuación, una vez que tenemos el proyecto podemos pedir que nos de una 
vista concreta.
Como hemos visto anteriormente código para obtener una vista del proyecto sería:

project = currentProject()
vista = project.getView('nombreDeLaVista')

El método  getView  del proyecto nos permite obtener la vista que esté activa o una concreta que 
especifiquemos mediante su nombre. En el caso de que no encuentre una vista que coincida con el 
nombre devolverá None, siendo nombreDeLaVista una cadena de texto que coincida con el nombre 
de la vista con la que deseamos trabajar.

Observa que si invocamos el método sin pasar como parámetro el nombre de 
la vista que queramos, el comportamiento es el mismo que si invocamos a la  
función  currentView,   que   se   puede   invocar   sin   necesidad   de   obtener   el  
proyecto previamente.

2 El objeto vista (View). Función currentView



Esta función nos permite obtener directamente la vista activa de nuestro proyecto, sin necesidad de 
estar buscando entre las vistas que tenga el proyecto cargadas.
La sintaxis es:

vista = currentView()

Los métodos principales del objeto Vista son:

­ getLayer([name])
­ getLayers()
­ getGraphicsLayer()

• getLayer(name):   Devuelve   un   documento   de   tipo  Layer  o   None.   Si   se   invoca   con   el 
parámetro name, busca entre las capas cargadas en la Vista y devuelve aquella cuyo nombre 
en el TOC, coincida. Si no hay una capa cargada en el proyecto, se produce un error. 



string name (opcional): Nombre de la capa

• getLayers(): Devuelve una colección con las capas que haya en la Vista. 
• getGraphicsLayer(): Devuelve una capa especial de la vista que se sitúa sobre ella 
• getProjectionCode(): Devuelve un string con el código de la proyección de la vista 

La capa especial Graphics layer
Graphics layer es una capa especial asociada a una vista de gvSIG. Esta capa vendría a ser como un 
acetato que se pinta sobre las capas que componen la vista. La capa Graphics se puede utilizar para 
pintar  cosas  sobre el resto y se accede mediante el método  getGraphicsLayer  de la vista. Los 
objetos graphics que se insertan en esta capa especial se agrupan mediante identificadores del grupo 
(groupId).

© 2013 gvSIG Association

Curso scripting en gvSIG 2: Manipulación de datos vectoriales                                                  

 5

La sintaxis es:

vista = currentView()
vista.getGraphicsLayer()

Los métodos principales del objeto graphicsLayer son:

­ removeGraphics(groupId)
­ addSymbol(symbol)
­ addGraphic(groupId, geom, idsym, label)
­ getTypeVectorLayer()







removeGraphics(groupId): Borra los objetos graphics que haya en el objeto graphicsLayer 
especificado mediante el parámetro groupId.

• groupId, string: identifica el grupo al que se van a eliminar los objetos 

addSymbol(symbol):   inserta   el   símbolo   especificado   como   parámetro   en   el   objeto 
graphicsLayer y devuelve un identificador del símbolo.



symbol, Symbol: Símbolo que se inserará en el graphicsLayer 
addGraphic(groupId, geom, idsym, label): Añade un graphic a la capa.

• groupId, string: identifica el grupo al que se va a añadir el graphic 
• geom, Geometry: Geometría que se va a usar para añadir el graphic 


idsym, int: Identificador, dentro del graphicsLayer, del símbolo que se va a usar (se 
obtiene del método addSymbol) 
label, string: Etiqueta que se le añade al símbolo. 



• getTypeVectorLayer(): Devuelve el tipo de geometría de la capa graphics. 

Un uso correcto del objeto graphicsLayer implica que lo primero que debemos hacer es borrar los 
graphics que haya dentro del groupId que vayamos a utilizar. Después insertaremos los símbolos 
que queramos utilizar y por último añadiremos los graphics a la capa.
El siguiente código define una función que recibe como parámetros una geometría y un símbolo y 
los añade a la graphicsLayer de la vista activa.

def insertSymbol(geometry, symbol):
graphicsLayer = currentView().getGraphicsLayer()
graphicsLayer.removeGraphics("ejemplo")
idSimbolo = graphicsLayer.addSymbol(symbol)
graphicsLayer.addGraphic("ejemplo", geometry, idSimbolo, "Etiqueta")

Acceso a las capas de la vista
Como hemos visto podemos obtener la capa activa de la vista mediante la función currentLayer, 
pero si deseamos obtener una capa distinta debemos solicitarsela a la vista mediante el método 
getLayer pasándole como parámetro el nombre de la capa que deseamos obtener.
La sintaxis es:

vista.getLayer([ *nombreDeLaCapa* ])

Siendo nombreDeLaCapa una cadena de texto que coincida con el nombre de la capa que deseamos 
obtener.

Si   invocamos   el   método   sin   parámetros,   devolverá   la   capa   activa,   si   hay  

© 2013 gvSIG Association

Curso scripting en gvSIG 2: Manipulación de datos vectoriales
  • Links de descarga
http://lwp-l.com/pdf11250

Comentarios de: Funciones básicas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad