Posts tagged ‘glob3’

Simbología en glob3

En los últimos meses hemos estado trabajando bastante con la simbología en el rendering de vectoriales para glob3. A lo largo de este tiempo el proyecto ha ido derivando hacia ser una herramienta de visualización avanzada más que una herramienta SIG clásica.

En este momento nos encontramos desarrollando también una API de etiquetado, pero aún está en un desarrollo muy temprano aunque  los resultados son muy prometedores

Para empezar se ha implementado el Renderizado de capas vectoriales, los formatos de archivos funcionales son los más clásicos en SIG (Shapefile, postGis,GML,KML y se puede implementar fácilmente cualquiera que funcione en geotools) . El renderizado de vectoriales en glob3 en cuanto a la API tiene las siguientes características:

Escenarios de uso:

  • Renderizado en tiempo real (dentro de glob3)
  • Rederizado Batch para impresión, generación de SVG, etc…

ISymbolizer2D es una API simple y poderosa para cambiar la simbología de rendering en tiempo real (repositorio) . Usando esta interfaz se implementas 12 métodos para el control completo del renderizado.

GexpressionsSymbolizer2D / IExpression: Es un pequeño framework para crear expresiones (Interpreter Pattern) para la parametrización completa del comportamiento de renderizado

Esta arquitectura posibilita es uso de lenguajes de script de alto nivel para el control de la simbología en el renderizado (Jythos, BeanShell, Scala, etc…)

LOD: Se han implementado diferentes políticas (configurables) para la gestión del level of detail obteniendo un renderizado extremadamente rápido y optmizado

Clustering de símbolos: El amontonamiento de puntos (símbolos) es un problema, se definen políticas de visualización que permiten agrupar símbolos para mostrarlos como un grupo.

GSymbol2D: Interfaz para el renderizado simple de geometrías (Color, relleno, borde, etc…)

GVectorial2DRenderer: Quad-tree para consultas espaciales rápidas.

Coloreado: Esta es una de las partes más novedosas, pues hemos desarrollado el coloreado de set de datos mediante ColorBrewer (Basado en el trabajo de Cynthia Brewer, Mark Harrower y The Pennsylvania State University) . Hemos usado los tipos de coloreado y rampas propuestas por estos autores de manera que datos no secuenciales no tienen por qué tener una secuencia como se hace habitualmente. Por ejemplo, una rampa de color con muchas categorías (por ejemplo, un mapamundi) no tiene sentido que tenga una rampa de colores gradual. El uso de este tipo de simbología, obliga a la persona que diseña el mapa a elegir una rampa de color que siempre queda bien.

Arquitectura de renderizado: Posibilidad de renderizar símbolos 2d y 3d en tiempo real simultáneamente y renderizar 3d datos en 2d (extrusión, símbolos 3D, etc…)

Hemos desarrollado un interfaz para trabajar con esta API y demostrar su gran potencialidad:

Para cada geometría representada con glob3, puntos, curvas o superficies, podrá seleccionarse el color. Por defecto, en cada una de ellas aparecerá seleccionada la opción Color / constant; que permite cambiar el color a todo el conjunto de datos. Si se selecciona la opción Color / unique, se mostrará un panel

que permitirá utilizar colores diferentes para mostrar los distintos valores de los campos representados. Consta de una parte común, que se mostrará siempre que se seleccione la opción unique, y de una parte específica, para la elección de colores, que dependerá del valor seleccionado en Option. Este panel incluye las siguientes opciones:

AREA COMUN

  • Constant / unique: Modo de coloreado. Todos iguales o selección de colores.
  • Option: Permite seleccionar la opción para selección de colores. Por defecto utiliza la opción Brewer (color brewer). Otras opciones serán Ramp (rampa de colores) y otras aun por definir.
  • Default: permite seleccionar el color por defecto. Aplicado a todos aquellos valores no seleccionados.
  • Field: Pemite seleccionar entre los campos de las geometrías representadas aquel cuyos valores se desean colorear.
  • Lista de valores: Se muestra una lista con los valores seleccionados por el usuario junto con el color utilizado para representarlo. Tiene las opciones: Add value, add all values, remove value, remove all values.

AREA ESPECÍFICA

Depedenderá del valor seleccionado en el combo Option.

  • Option Brewer:
  • Classes: muestra un spinner, que permite seleccionar el número de valores/colores que se utilizarán en la representación.
  • Type: Permite seleccionar el tipo de colores a utilizar, entre los valores Qualitative, Sequential y Diverging.
  • Scheme: Combo para la selección del esquemade color de entre los disponibles.
  • Option Ramp: (En construcción)
  • Option Others: (En construcción)

julio 12, 2011 at 10:24 am Deja un comentario

3D-Arch 2011. Paper

This is the accepted paper in  4th International Workshopr 3D-ARCH 2011

3D Virtual Reconstruction and Visualization of Complex Architectures.

TRENTO 2-5 March 2011

The paper title is: POINT CLOUD VISUALIZATION IN AN OPEN SOURCE 3D GLOB3

The paper is:  3d-arch_paper_o

The conference site is: http://www.3d-arch.org/

febrero 8, 2011 at 8:51 am Deja un comentario

Liberando glob3

Después de varios meses de desarrollos, de unificar un montón de cosas que teníamos, de hacer varios proyectitos y de enseñarlo por varios sitios nos hemos animado a liberar glob3, la web del proyecto es  http://glob3.org.

Como es normal en un proyecto de software libre dirigido a cualquiera que le pueda interesar está todo en inglés. Hemos intentado hacer una página extremadamente simple en la que se encuentren rápido todas las cosas que le pueden interesar a los usuarios.

Esta liberación es un poquito de bajo perfil ya que aún no tenemos un producto suficientemente maduro para poder ser usado por usuarios finales SIG.

Por tanto podemos decir que esto está dirigidos a desarrolladores y a abrir el proyecto a futuras colaboraciones con distintos grupos de desarrollo que han mostrado en algún momento interés por trabajar con esta herramienta. Tenemos aún un API muy poco estable (la estamos cambiando continuamente) pero desde luego que ya se pueden hacer cosas y es exactamente el mismo código que usamos en productos finales que estamos instalando en nuestros clientes. Por otra parte, como no podría ser de otra manera, trasladamos todo nuestro desarrollo al repositorio público con lo que cualquier puede estar completamente al tanto de nuestros avances.

Hemos tenido un pequeño debate interno sobre el tipo de licencia que íbamos a usar, al final hemos elegido una BSD muy poco restrictiva, sabemos que corremos ciertos riesgos pero también estamos convencidos de que es la mejor de todas las que podíamos elegir en este momento, si las cosas no van bien siempre hay tiempo para relicenciar nuestro código.

El proyecto lo hemos subido a sourceforge y hemos cambiado nuestros repositorios de código de SVN a GIT y estamos muy contentos por ello. El código está en:

http://sourceforge.net/p/glob3/git

y cuando uno se lo descarga lo que hacemos en realidad es bajarnos varios proyectos de eclipse, en el wiki del proyecto viene más detallado cómo hacer que todo funcione y estamos completando una demo con datos reales.

Bueno, y ¿Qué hemos liberado realmente? glob3 es un Framework que pretende en un futuro ser suficiente para hacer aplicaciones SIG en 3D, por lo que tiene una doble vertiente, es un herramienta de desarrollo y además puede ser un SIG para usuarios finales, aunque ésta aún no es una prioridad. Ahora lo que tenemos es un pequeño RCP que nos permite extender la aplicación, hemos huido de archivos de configuración con XML y todo se hace con código, basta con heredar de unas pocas clases e implementar algunos interfaces para poder extender de manera sencilla el globo. Además de esto, hemos liberado la librería de geometrías multidimensional EUCLID, y gracias a ella y a otros componentes tenemos listo un cargador de objetos 3D y un visualizador de nubes de puntos independientemente del tamaño que tengan. Hemos subido (o lo estamos haciendo ahora mismo), la primera versión de S3xtante , o lo que es es lo mismo, todo el potencial de análisis de sextante, en un globo 3D, esto será la puerta del SIG 3D. Queremos un poco más adelante introducir la cargar de ficheros vectoriales y raster en los formatos más conocidos y hacer de una manera más rigurosa los cambios de coordenadas, es decir, no queda bastante trabajo, pero esperamos poco a poco tener cada día mayor cantidad de funcionalidades. Todo esto se puede consultar en la web del proyecto.

El proyecto en sí, tiene alguna peculiaridad más. Como el proyecto es nuestro y por ahora hacemos lo que nos parece bien, hemos puesto una serie de reglas (fáciles de cumplir) para quien quiera participar, por ejemplo, hemos subido al repositorio unas preferencias de eclipse que cuentan con una configuración de warnings más restrictiva que la que viene por defecto en esta herramienta. Para nosotros es esencial que todo lo que sube al repositorio funcione y además no tenga ningún warning (la idea es que si tienes 700 warning en tu proyecto, estos no valen para nada), por tanto cuando alguien se baje el código e importe las preferencias se encontrará con un proyecto limpito (ni errores, ni warnings) listo para empezar a trastear. Development_rules

Una muestra de las cosas que se pueden hacer son estos vídeos:

1. Prototipo de Museo de la Frontera. Visualización de vídeos, panorámicas y modelos 3D

[Vimeo 14057752]

2. Multidimensiona viewer. Visualización de datos científicos multidimensionales

[Vimeo 16685897]

3.Lidar. Visualización de datos LIDAR con LOD (Level of Detail)

[Vimeo 11228888]

4. Historic GIS 4D. SIG con cartografía histórica y uso de la variable temporal

[Vimeo 8531344]

 

noviembre 10, 2010 at 4:58 pm Deja un comentario


Entradas recientes

Blog Stats

  • 69,116 hits

Top Clicks

  • Ninguna