[Gvsig_desarrolladores] PROBLEMAS AL CARGAR UN ECW EN GVSIGMOBILE

roeptisa mimo027 en gmail.com
Mie Oct 7 11:01:27 CEST 2009


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 wrote:
> 
> 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:
>  
> http://subversion.gvsig.org/gvSIG-mobile
>  
> 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)
> Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
> http://www.prodevelop.es <http://www.prodevelop.es/> 
> ---
> 
> ________________________________
> 
> De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de roeptisa
> Enviado el: mié 07/10/2009 8:47
> Para: gvsig_desarrolladores en listserv.gva.es
> 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?
> puesto que a veces me visualiza (quizás cuando está menos cargada la
> memoria) y a veces no (cuando está la memoria muy cargada)
> 
> 
> roeptisa wrote:
>>
>> 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.
>>
>>
>>
>>
>>      
>>
> 
> --
> View this message in context:
> http://n2.nabble.com/PROBLEMAS-AL-CARGAR-UN-ECW-EN-GVSIGMOBILE-tp3776262p3780089.html
> Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 
> 
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 
> 

-- 
View this message in context: http://n2.nabble.com/PROBLEMAS-AL-CARGAR-UN-ECW-EN-GVSIGMOBILE-tp3776262p3780558.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.


More information about the gvSIG_desarrolladores mailing list