martes, 26 de enero de 2010

Docking Skin - Video Tutorial

Hi all,

First of all is to say that we have decided to write some posts in english and some posts in spanish. We apologize for possible errors when writting in english.

One of the integration problems of the 3D extension in gvSIG was the windowing system. The 3D graphics windows are usually dependents on the operative system. So in Java/Swing and using JInternalFrame for the user interface, is not possible to merge correctly the system dependent windows and the Swing painted windows.

There exists various solutions:
  • GLJPanel: This is the adopted solution in JDialogSkin. JOGL (The java api used to create 3D windows), allows us to create a JPanel that merges correctly with swing and also allows to draw OpenGL. The problem is that under linux the performance of the system is really slow, and only is useful in parts where the view doesn't changes so much. The maximize buttons are not available in some platforms.
  • Docking System based on Swing: A docking windowing system fits all the application views inside a main window. Usually this systems allows the personalization of the views and even undock some windows. The gvSIG Docking skin is based on Infonode Docking Windows [1].
Currently most applications are designed in the same way, OpenOffice manage multiple documents but you can only work with the active in a specific window.

This first video tutorial is centered in how docking skin works. No layers are added but three different views are created and managed in different modes.






[1] http://www.infonode.net/index.html?idw

martes, 19 de enero de 2010

Arreglado el bug en las capas de elevación

En la entrada anterior, comentamos que se habia detectado un error en el recortado de capas de elevación de forma que los datos se extendian hasta rellenar las cuadrículas que forman la malla del terreno. Como se puede apreciar en las siguientes imágenes, hemos detectado el error y lo hemos solucionado:

En la imagen superior, vemos el resultado de cargar un tif con datos de elvación de la zona norte de España proporcioado por Agustín con datos de cobertura proporcionados por el servicio WMS de PNOA.

En la siguiente imagen podemos apreciar los mismos datos sin la capa de cobertura.

Al parecer, al generar los archivos de la cache teniamos activada la opción setAdjustToExtent de la clase BufferFactory, de manera que cuando se solicitaba un "tile" o extension que no estaba totalmente cubierta por la capa cargada, se estiraban los datos de dicha zona para cubrir el "tile" completamente.

Una vez solucionado este pequeño error, encontramos dos nuevos fallos. Primero, detectamos que se ignoraba el valor por defecto para aquellas zonas donde no se dispone de datos, que se indica mediante el método setNoDataToFill. Este error detectado en la libreria libRaster, ya ha sido notificado y se ha corregido en la el trunk de gvSIG. También hemos solucionado la excepción que se producia al calcular el área de interés de algunos de los "tiles" de manera que nunca llegaba a cargar los datos. Finalmente, hemos modificado la longitud de las faldas o bordes de los "tiles" para evitar que se vean agujeros durante la carga de datos.

Muchas gracias a Agustín Diez por reportarnos el error. Esperamos poder solucionar pronto el resto de bugs reportados y subir un nuevo build de la extensión 3D en breve.

jueves, 14 de enero de 2010

La comunidad prueba gvSIG3D en MacOSX

Desde que publicamos el build de gvSIG3D y concretamente la versión de MacOSX, hemos tenido ya algunos usuarios interesados y probando esta nueva versión.

Agustín Diez, fue uno de los primeros usuarios que comenzó probando la versión de Mac, y ya nos ha reportado algún Bug que otro!. Esto era precisamente lo que queríamos, que la gente nos reportara todos los problemas que encontrara, ya que así podemos mejorar cuánto antes esta versión.

En esta entrada se van a comentar algunos términos de carácter algo técnico. En entradas posteriores explicaremos cuál es la técnica usada para la representación 3D y explicaremos en detalle esos términos.

Concretamente el bug que ha encontrado es al cargar una capa de elevación desde fichero, se da el caso que no recortamos correctamente los "tiles", extendiendo los datos raster a toda la extensión que se pide. En esta imagen que nos ha remitido Agustín se puede ver el error.

La imagen muestra una vista 2D con la capa de elevación (inferior izquierda), la vista 3D de gvsig (superior izquierda) y a la derecha una captura tomada con grass y los mismos datos.

Además también se puede apreciar que, debido a que la exageración vertical está por defecto a 5 unidades, se observan los cortes entre los "tiles" y la falda que se genera para ellos para evitar agujeros, aún así no es lo suficientemente larga para evitar que se vea el fondo.

Ya estamos trabajando en solucionar ese problema y esperamos sacar un nuevo build que solucione el problema para todas las plataformas.

martes, 12 de enero de 2010

Nuevo blog y nuevo build

Tras el éxito en las 5as jornadas de gvSIG nos complace anunciar la publicación de este nuevo blog "no oficial" acompañado de un nuevo build de gvSIG 3D [1]!!

A parte de las mejoras realizadas para las jornadas, este build presenta una particularidad muy importante: al instalarlo se sobreescriben las librerías raster que estaban dando problemas en windows Vista/ windows 7. Además para macOSX se ofrece la aplicación completa en forma de dmg.

Es decir cuando instales la extensión 3D podrás ejecutar gvSIG en estos sistemas operativos y teniendo acceso a las utilidades raster.

En entradas posteriores iremos comentando ampliamente los nuevos desarrollos introducidos en la extensión, por ahora, y a modo de resumen podemos enunciar las siguientes características:

  • Nueva versión del núcleo integrada(osgVP-2.2.0)
  • Mejoras en el manejo de memoria.
  • Nuevo sistema de simbología.
  • Diferentes modos de visualización, incluyendo estéreo y pantalla completa.


Nuestro objetivo es que este build sirva para recoger impresiones de usuarios y desarrolladores, y también como campo de pruebas de estabilidad de cara a la integración con gvSIG 2.0.