<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p> Hola</p>
<p> Estoy haciendo un pequeño script que saque como resultado la
estructura de un proyecto, con las vistas que existen y las capas
que hay en cada vista. Me estoy iniciando en el scripting, así que
he buscado algo sencillo. El objetivo es tener el título del
proyecto y a continuación el nombre de cada vista con las capas
que contiene.<br>
</p>
<p> Me he basado en la Documentación de scripting de gvsig 2.4,
aunque lo estoy haciendo con la 2.5.1 build 3015.</p>
<p> La cosa es que me da un error al tratar de extraer las capas
de las vistas, el error es "object is not callable in
<script> at line number 16"</p>
<p> Creo entender que es por el método con el que he intentado
extraer las capas. como he almacenado en views el listado de
vistas, he tratado de acceder a las capas de cada vista con
views(i).getLayers() pero entiendo por el error que no es la forma
adecuada.<br>
</p>
<p> Pego el código por si alguien puede ver como lo podría
solucionar. He incluido comentarios para facilitar y he marcado en
negrita la línea que da error<br>
</p>
<p># encoding: utf-8<br>
from gvsig import *<br>
<br>
def main(*args):<br>
# Datos del proyecto<br>
project = currentProject()<br>
name = project.getName()<br>
prjcode = project.getProjectionCode()<br>
<br>
print "Project Name: ", name<br>
print "Projection Code: ", prjcode, type(prjcode)<br>
<br>
views = project().getViews()
#obtener las vistas del proyecto<br>
</p>
<p> for i in range(0, len(views)):
#iterar sobre las vistas<br>
print "Vista:", i, views[i].getName()
#imprime el nombre de cada capa<br>
<b> layers = views(i).getLayers()
#</b><b>obtener las capas de la vista - aquí es donde
da error</b><br>
for j in range(0, len(layers)):
#iterar sobre las capas<br>
print "Capa: ", j, layers(j).getName(),<br>
print "Tipo: ", layers(j).getTypeVectorLayer().getFullName()</p>
<p> Gracias de antemano</p>
<p> Carlos<br>
</p>
</body>
</html>