Hoy vamos a comentar un par de lineas de código muy útiles para poder añadir una capa existente de nuestro ordenador a nuestra Vista desde el módulo de Scripting, de una forma sencilla seleccionando el archivo en un cuadro dialogo, y de paso sacar algo de información sobre la nueva capa agregada.
La función que permite cargar una capa ya existente a nuestra Vista actual es loadShapeFile. Esta función consta de dos parámetros, la ruta y la proyección. Lo recomendable sería utilizar, como en el ejemplo de abajo, la proyección utilizada en la Vista donde queremos añadir la capa, sino, por defecto nos añadirá la capa como si su proyección fuera WGS84:
layer = loadShapeFile(<rutaCapa>,[CRS=WGS84])
Nosotros, para facilitar la obtenención de la ruta al archivo que queremos, hemos utilizado un ventana de diálogo. En la función introducir el título y la ruta inicial que queramos por defecto, el resultado lo pasaremos como ruta a la función anterior:
openFileDialog("Titulo","C:/gvsig/")
Y el script que hemos hecho, y que permite agregar una capa que seleccionemos a la vista actual es:
from gvsig import * from commonsdialog import * def main(): """Cargar una capa existente""" ruta = openFileDialog("Ruta","C:/gvsig/") capa = list(ruta)[0] CRS = currentView().getProjection() layer = loadShapeFile(capa,CRS=CRS) print "\nCapa cargada con exito!" print "Nombre: ",layer.name print "Tipo: ",layer.getTypeVectorLayer().name print "Entidades: ", layer.features().getCount() print "Proyeccion: ", layer.getProjectionCode()