|
|
|
roeptisa
|
Buenas,
Estoy teniendo problemas al intentar cargar una imagen con extensión .ECW en gvsiGMobile. Las pruebas que he hecho son las siguientes: => Añado ECW por primera vez => me da error. => Cierro y Vuelvo a ejecutar la aplicación y añado ECW => ya me lo coge bien, no me da error. => Me guardo un proyecto que tiene capas ECW y SHP, luego cuando reinicio y abro ese proyecto, las capas .shp se visualizan correctamente pero las .ecw no se se cargan, dan error, es necesario, eliminarlas y volver a cargarlas para poder visualizarlas. El error que me da en todos los casos que no se carga correctamente el ECW es el siguiente: Cuando llama a este método nativo: handler = EcwReader.openEcwFile(path.getBytes()); me devuelve handler = 0, he comprobado que path.getBytes tenga valores, así que el problema debe estar en el método nativo de la libreria de Ermapper. He comprobado que todas las librerias estén cargadas en el path, en mi configuracion de eclipse: -Xmx256M -Djava.library.path=${workspace_loc}/resources/lib/Win_X86 Esto me ocurre tanto bajo WXP como WMobile. |
||||||||||||||||
|
roeptisa
|
puesto que la imagen la guarda en memoria, puede ser que se quede si memoria?
puesto que a veces me visualiza (quizás cuando está menos cargada la memoria) y a veces no (cuando está la memoria muy cargada)
|
||||
|
jldominguez
|
Some javascript/style in this post has been disabled (why?)
Hola,
Durante unas semanas estuvo subido al repositorio de gvSIG Mobile un bug. Me imagino que tu workspace está conectado al repositorio y te bajaste esa versión mala. Sólo tienes que actualizarte estas clases:
libFMap/src/es/prodevelop/gvsig/mobile/fmap/driver/raster/ecw/EcwReader.java
libFMap/src/es/prodevelop/gvsig/mobile/fmap/driver/vect/shp/ShpReader.java
y también actualizar las DLL que hay en:
resources/lib/
Y después corregir los errores de compilación que saldrán, es decir, cambiar los:
open...(variable.getBytes());
por
open...(variable);
(variable es el path al archivo)
Todo esto se refiere al repositorio:
Carpeta:
/pilots/branches/pilot2
Asegúrate de que los nuevos DLL llegan a la PDA.
Y queda una restricción:
No debe haber caracteres raros en el path completo hasta el archivo, es decir las carpetas y el nombre de archivo ECW ó SHP en la PDA no deben contener caracteres como ñ, é, ü, etc.
Saludos,
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de roeptisa Enviado el: mié 07/10/2009 8:47 Para: [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE puesto que la imagen la guarda en memoria, puede ser que se quede si memoria? _______________________________________________ gvSIG_desarrolladores mailing list [hidden email] http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores |
||||||||||||||||
|
roeptisa
|
buenas,
He actualizado el repositorio y parece que ya me va bajo XP (me falta comprobarlo bajo Mobile) Pero es que ahora con la actualización del repositorio hay una funcionalidad que ya no me va, es al cargar Shapes, luego cuando guardo el proyecto, no se me guardan estos shapes, no los serializa. El problema está en estos dos ficheros: => FLayerFileVectorial.java => Esta clase crea una instancia de la Layer cuando se añade un fichero .shp, en el método createLayer antes me creaba una instancia de MemoryShpDriver, pero ahora con la nueva versión del svn, me crea una instanci de DiskShpDriver, está puesto obligatoriamente con un true: public static FLayerFileVectorial createLayer(File f, String lyr_name, MapContext mc){ MemoryShpDriver drv; logger.debug(Utils.time() + "MainWindow instancia el driver MEMORY SHP."); drv = new MemoryShpDriver(); try { if (true) throw new IOException(""); logger.debug(Utils.time() + "MainWindow llama open(f) de driver MEMORY SHP."); drv.open(f); logger.debug(Utils.time() + "MainWindow llama initialize() de driver MEMORY SHP."); drv.initialize(); } catch (IOException e) { logger.error("Error while opening file: " + e.getMessage()); logger.debug(Utils.time() + "No hay memoria suficuente: probamos DISK SHP."); drv = null; System.gc(); drv = new DiskShpDriver(); try { Entonces luego cuando guardo el proyecto, lo que se hace es serializar cada una de las capas añadidas al contexto, esto se hace en la clase: (es.prodevelop.gvsig.mobile.project) ProjectSerializer.java Esta clase lee cada una de las layers, pero creando una instancia de VectorialFileDriver, el cual implementa MemoryShpDriver: VectorialFileDriver drvV = (VectorialFileDriver)lyrV.getDriver(); path = drvV.getFilePath(); Que pasa, que antes cuando la hemos añadido hemos creado una instancia de DiskShpDriver, no de MemoryShpDriver, por lo tanto, al serializarlas si las lee como MemoryShpDriver pues da error. He visto en el svn, que el problema es por el cambio que se ha hecho en el fichero FLayerFileVectorial.java: drv = new MemoryShpDriver(); try { + if (true) throw new IOException(""); logger.debug(Utils.time() + "MainWindow llama open(f) de driver MEMORY SHP."); drv.open(f); logger.debug(Utils.time() + "MainWindow llama initialize() de driver MEMORY SHP."); No se si estoy haciendo algo mal, pero el tema, es que con este nuevo cambio, no me va la funcionalidad de guardar capas de vectoriales. Ya que este cambio obliga ha usar el driver DISK SHP, pero luego al serializarlas se usa el driver MEMORY SHP.
|
||||||||||||||||
|
jldominguez
|
Some javascript/style in this post has been disabled (why?)
Hola,
la línea de "if (true) ..." no deberia estar, bórrala.
A parte de esto, según lo que dices, hay un bug que solo se manifiesta cuando se persiste con DiskShpDriver. Vamos a mirarlo.
Gracias por avisar,
Saludos.
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de roeptisa Enviado el: mié 07/10/2009 11:01 Para: [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE buenas, _______________________________________________ gvSIG_desarrolladores mailing list [hidden email] http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores |
||||||||||||||||
|
jldominguez
|
Some javascript/style in this post has been disabled (why?)
Hola,
la última parte de tu email me había hecho dudar.
En el archivo de proyecto no se dice si el driver ha de ser 'Memory' o 'Disk'.
Con solo eliminar esa linea 'if true...' creo que debe funcionar bien todo.
Yo mismo subí esa línea sin querer porque estaba haciendo pruebas para saber si el DiskDriver funcionaba bien o no.
Saludos,
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de Juan Lucas Dominguez Rubio Enviado el: mié 07/10/2009 11:41 Para: Lista de Desarrolladores de gvSIG; [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW ENGVSIGMOBILE Hola,
la línea de "if (true) ..." no deberia estar, bórrala.
A parte de esto, según lo que dices, hay un bug que solo se manifiesta cuando se persiste con DiskShpDriver. Vamos a mirarlo.
Gracias por avisar,
Saludos.
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de roeptisa Enviado el: mié 07/10/2009 11:01 Para: [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE buenas, _______________________________________________ gvSIG_desarrolladores mailing list [hidden email] http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores |
||||||||||||||||
|
roeptisa
|
In reply to this post
by roeptisa
Vale, ya está, he hecho lo que me has comentado y ya me funciona correctamente el guardar capas shp.
Tbe he probado el tema de las ECW en mobile y con lo que me he actualizado del svn ya me funciona correctamente, puedo guardar un proyecto con imágenes ECW y luego al abrirlo me las carga correctamente. Tenía unas dudillas más sobre gvsigmobile: => No encuentro la funcionalidad de eliminar un punto, ¿no se encuentra de momento en gvsigmobile? ¿Sabeis, si eso, si está previsto?, y para cuando saldrá? Tbe he visto que se podría implementar haciendo uso de la clase VectorialEditableAdapter, al igual que para añadir una geometría se usa el método doAddRow, tbe he visto que se encuentra el método doRemoveRow, ¿podría entonces usar este método en mobile para eliminar geometrías? =>Otra preguntilla, sabeis si se encuentra en la librería libFMap algún método para hacer una asociación por cercanía, el join spatial. Muchas gracias por todos. Saludos. Ro.
|
||||||||||||||||
|
jldominguez
|
Some javascript/style in this post has been disabled (why?)
Hola,
sobre la opción de eliminar elementos:
si claro, ahí tienes lo necesario para hacerlo con poco esfuerzo.
Sobre busquedas por cercanía:
como puedes ver en las dependencias, está incluída la librería JTS. No hemos tenido ningún problema de compatibilidad con ella, creo que puedes usarla al 100% en la PDA, así que para hacer búsquedas por cercanía, podrías transformar una geometría al modelo de JTS y luego usar la operación buffer de JTS y despues intersectar el resultado con las geometrías de interés. Tengo dudas sobre el rendimiento de esas operaciones en una PDA, pero creo que algo sí se podrá hacer.
Una vez que hayas averiguado qué elementos están cerca de otro, la manipulación de los atributos es un tema que deberás implementar tú mismo.
saludos,
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de roeptisa Enviado el: mié 07/10/2009 17:24 Para: [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE Vale, ya está, he hecho lo que me has comentado y ya me funciona _______________________________________________ gvSIG_desarrolladores mailing list [hidden email] http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores |
||||||||||||||||
|
jldominguez
|
In reply to this post
by roeptisa
Some javascript/style in this post has been disabled (why?)
Hola,
acabo de ver que sí había un bug, aunque se manifestaba muy pocas veces.
Actualízate las clases MemoryShpDriver y DiskShpDriver de libFMap.
Saludos,
Juan Lucas Domínguez Rubio
--- Prodevelop SL, Valencia (España)
De: [hidden email] en nombre de roeptisa Enviado el: mié 07/10/2009 17:24 Para: [hidden email] Asunto: Re: [Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE Vale, ya está, he hecho lo que me has comentado y ya me funciona _______________________________________________ gvSIG_desarrolladores mailing list [hidden email] http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores |
||||||||||||||||
|
roeptisa
|
Vale, gracias.
|
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |