[Gvsig_usuarios] Error FilesystemExplorer al llamar a createShape. gvsig 2.2

Óscar Martínez masquesig en gmail.com
Jue Mayo 26 14:07:45 CEST 2016


Buenas,

Parece que es un problema de la ruta, si existe un fichero ya con ese 
nombre es posible que de error. También te recomiendo ponerle un r 
delante de las comillas en el path quedando algo así: rutaLine = 
r'c:/gvsig/testline01.shp'

Para la nueva 2.3 hemos modificado el createShape para que pueda crear 
directamente nombres únicos y no tengamos que preocuparnos de esto.

Por si quieres usar una función que tenemos preparada:

from org.gvsig.andami import Utilities

def getTempFile(name, ext, tempdir=None):
     if tempdir==None:
         tempdir = Utilities.TEMPDIRECTORYPATH
     if not os.path.isdir(tempdir):
       os.makedirs(tempdir)
     t = time.time()
     f = os.path.join(
       tempdir,
       "%s-%x%x%s" % (name,t,(t-int(t)) * 10000,ext)
     )
     return f

Se usaría como:
rutaLine = getTempFile("testline",".shp",r"C:/gvsig")

Creará un nombre único dentro de ese path.

Si estás con la versión 2.2 aquí explico también un posible fallo que te 
esté ocurriendo (está dentro del curso en la pantalla principal encima 
de los enlaces a los foros): 
http://moodle.gvsig-training.com/mod/forum/discuss.php?d=3212

En la versión 2.3 será más sencillo, quedando algo así:
...
schema = createSchema()
schema.append("ID", "INTEGER")
schema.append("GEOMETRY", "GEOMETRY")
schema.get("GEOMETRY").setGeometryType(LINE, D2)

newShapeLine = createShape(schema) # si no se asigna un crs pero hay una 
vista abierta, cogerá el de la Vista


Cualquier duda que tengas del mooc no dudes en preguntarla, intentaré 
contestarte también como serían en la 2.3 para que tengas en cuenta los 
cambios. Por lo general es la misma sintaxis, solo cambiarían algunas 
pequeñas cosas (y facilitaría muchísimas más). También cualquier 
recomendación sobre el curso será bien recibida, estamos en proceso de 
renovarlo así que a tiempo de cambiar y añadir cosas que veáis 
interesantes estamos.

Creo que eso es todo, avisa si se te soluciona el problema o si sigue.

Un saludo,
Óscar

On 26/05/2016 11:39, jgonzac wrote:
> Hola a todos,
> Soy nuevo en gvsig (no en programación) y estoy siguiendo un tutorial paso a
> paso. Sin embargo a la hora de crear un createShape así:
>
> from gvsig import *
> from geom import *
> def main(*args):
>    rutaLine = 'c:/gvsig/testline01.shp'
>    
>    crs = currentView().getProjectionCode()
>    layer = currentLayer()
>    schema = createSchema()
>    schema.append("ID","INTEGER")
>    schema.append("GEOMETRY", "GEOMETRY")
>    
> *  newSchapeLine = createShape(
>      schema,
>      rutaLine,
>      CRS=crs,
>      geometryType = LINE,
>    )*
> [...]
>
> Salta una excepción de la que no encuentro información suficiente para
> resolver el problema. He probado con diferentes rutas, todas accesibles,
> modo administrador por si eran problemas de permisos. Reiniciado gvsig,
> reiniciadas las vistas, añadidas capas, activas... y no encuentro forma.
> Añado la traza por si sabéis qué puede ser. (Windows 8.1)
> Por cierto, estoy siguiendo el tutorial MOOC "Introducción a Scripting en
> gvSIG 2." Muchas gracias de antemano. Saludos!
>
> Stript script_tema_06 aborted.
> *java.lang.RuntimeException: java.lang.RuntimeException: Can't create layer,
> org.gvsig.fmap.dal.exception.ServerExplorerAddException: Exception creating
> 'FilesystemExplorer'. in <script> at line number 12*
> org.gvsig.scripting.ExecuteErrorException: java.lang.RuntimeException:
> java.lang.RuntimeException: Can't create layer,
> org.gvsig.fmap.dal.exception.ServerExplorerAddException: Exception creating
> 'FilesystemExplorer'. in <script> at line number 12
> 	at
> org.gvsig.scripting.impl.DefaultScriptingScript.invokeFunction(DefaultScriptingScript.java:314)
> 	at
> org.gvsig.scripting.impl.DefaultScriptingScript.run(DefaultScriptingScript.java:301)
> 	at
> org.gvsig.scripting.impl.DefaultScriptingScript$ScriptTask.run(DefaultScriptingScript.java:372)
> Caused by: javax.script.ScriptException: java.lang.RuntimeException:
> java.lang.RuntimeException: Can't create layer,
> org.gvsig.fmap.dal.exception.ServerExplorerAddException: Exception creating
> 'FilesystemExplorer'. in <script> at line number 12
> 	at
> org.python.jsr223.PyScriptEngine.scriptException(PyScriptEngine.java:191)
> 	at org.python.jsr223.PyScriptEngine.invokeFunction(PyScriptEngine.java:126)
> 	at
> org.gvsig.scripting.impl.DefaultScriptingScript.invokeFunction(DefaultScriptingScript.java:312)
> 	... 2 more
>
>
>
>
>
> --
> View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-FilesystemExplorer-al-llamar-a-createShape-gvsig-2-2-tp5268327.html
> Sent from the gvSIG usuarios mailing list archive at Nabble.com.
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios en listserv.gva.es
>
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
>
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios



Más información sobre la lista de distribución gvSIG_usuarios