[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