domingo, enero 20, 2008

Calidad de datos en SEXTANTE

La calidad de los datos espaciales es un asunto bastante en boga actualmente, y que ha pasado de ser algo de lo que nadie se preocupaba allá por las épocas iniciales del SIG, a ser algo de gran importancia. Sé que en gvSIG ya se está trabajando para incorporar elementos relacionados con esto, en particular la gestión de metadatos, y, mientras voy acabando otras cosas, estoy dándole vueltas a la relación que puede existir entre la gestión de la calidad de los datos y SEXTANTE como conjunto de herramientas de análisis.

Por una parte, sin duda hay que aprovechar esa estructura de metadatos cuando esté disponible, y añadir metadatos a todos los resultados que genere SEXTANTE, especificando las características de los procesos que han dado lugar a esos resultados. Esto no debería ser difícil, y es más bien un trámite a desarrollar una vez que gvSIG implemente esos elementos de gestión de metadatos.

La parte que más me interesa, no obstante, es la que tiene que ver con análisis relacionado directamete con la evaluación de la calidad. Estoy haciendo una pequeña lista con ideas, y la verdad es que hay muchas cosas que pueden implementarse y, lo que es más importante, son cosas que no aparecen en los SIG habitualmente.

Por ejemplo, no hay programa de estadística que no incluya alguna formulación para detección de outliers, pero encontrar un SIG con herramientas para detectar outliers espaciales (o incluso no espaciales) es bastante raro.

Análisis como los de modelización de la incertidumbre a partir de simulaciones condicionales son de gran interés, y complementan a muchos de los algoritmos de análisis que hay en SEXTANTE, en especial a los de análisis del terreno y similares. Éstos se pueden desarrollar de forma sencilla utilizando el modelizador y los procesos por lotes, aunque quizás sería de interés ofrecerlos de una forma más directa y simple. Para el que no sepa de que va esto de las simulaciones, mi buen amigo Tomislav Hengl tiene en esta web una explicación breve pero ilustrativa al respecto. (Por cierto, que Elsevier está por fin a punto de publicar el libro editado por Tom -- "Geomorphometry. Concepts, software and applications"-- al que corresponde esa web, y en el que yo escribo dos capítulos y hay uno dedicado exclusivamente a la modelización de la incertidumbre en los MDEs).

Otros procesos, como los que he mencionado para la detección de outliers, requerirán hacer nuevos desarrollos, aunque gran parte de ellos no son complejos.
No sé aún cuando me pondré a implementarlos, pero es un área de trabajo que no hay que perder de vista, porque puede aportar un empujón importante para introducir la calidad de datos en el entorno de un SIG de escritorio, y eso es algo que sin duda tiene gran interés. ¿Alguno de los lectores del blog tiene alguna idea sobre formulaciones de este tipo que puedan implementarse dentro de SEXTANTE? Toda sugerencia es bienvenida...

jueves, enero 10, 2008

Línea de comandos (revisited)

Tengo la mala costumbre de que cuando algo me empieza a dejar de gustar o no me siento por completo satisfecho, lo elimino sin más y hago borrón y cuenta nueva. Con la línea de comandos me estaba empezando a pasar. No acabo de estar contento con el rendimiento (los algoritmos van rápido pero hace falta levantar todo gvSIG para ejecutar uno de ellos, con lo cual resulta muy lento para ejecutarlo desde otra aplicación), y no sé cuál es el volumen de usuarios que tiene, aunque presumo que poco. Así que, fiel a mi costumbre, estaba a punto de jubilarla y quitarla sin más, ya que además da bastantes problemas por ser una parte bastante "desconectada" del resto de gvSIG y SEXTANTE, y hace un poco de "lastre" al resto del programa.

No obstante, he decidido darle una segunda oportunidad y adaptarlo para usarse desde dentro de gvSIG, como una forma más de ejecutar comandos. Esto permite no sólo llamar a extensiones de SEXTANTE, sino también llevar a cabo otras tareas como por ejemplo abrir capas o eliminarlas de una vista, entre otras. Y, lo que creo que es más interesante, permite hacer scripts sencillos que son a todas luces más simples de crear que usando Jython (que no dudo que sea una solución potente, pero viene a ser tan farragosa de utilizar como ir directamente a Eclipse y programar una extensión desde cero). Así que, dicho y hecho. La primera versión ya está en el SVN.

Aquí os dejo un pantallazo.


Tengo más ideas para añadirle, que muchas son muy sencillas (por ejemplo, guardar un historial continuo como hace R), pero que por el momento no me he puesto a implementarlas. Tiempo al tiempo.

Respecto a la linea de comandos "clásica", estoy pensando lo que haré con ella, pero cabe la posibilidad de que, o bien la quite, o bien se quede estancada donde está, lo cual llevaría a su inutilización en breve viendo al ritmo al que avanza gvSIG y lo poco que me entero de los cambios que se hacen en él (lease entrada anterior del blog) ;-)

miércoles, enero 09, 2008

Vistas 3D

Una de las tareas que tenía previstas para haber hecho hace tiempo era la adaptación de SEXTANTE a las vistas 3D, de forma que todo lo que ahora se hace sobre una vista normal (2D) se pudiera hacer igualmente sobre una 3D. El piloto de 3D ha tardado en publicarse mucho más de los esperado, y por esta razón no he podido "meterle mano" a su código para empezar la adaptación. Pero anteayer, por fin, se liberó.

Antes ni siquiera de instalarlo en mi ordenador, ya he empezado a recibir mensajes de usuarios diciendo que SEXTANTE no va bien con el piloto 3D. Vaya...mal empezamos.

Investigando un poco, descubro que el piloto hace algún tipo de cambio en el sistema de ventanas, y la ventana en la que aparecen los parámetros de las extensiones SEXTANTE, que era un JInternalFrame, ahora es de clase JDialog Esto hace que al cerrar la ventana no pueda ejecutarse un proceso básico que consiste en expandir ésta previamente, para evitar que al arrancarse de nuevo pueda aparecer minimizada (recuerdo que la ventana se puede minimizar y expandir, y que hace esto al introducir interactivamente un punto).

El problema tiene simple y rápida solución, y el código que acabo de subir al SVN funciona con o sin el piloto 3D, aunque no estaría de más pulir la solución, ya que por el momento no deja de ser más que un apaño (útil, eso sí). Sigo sin hacer versiones actualizadas diarias, pero el lunes ya se podrá bajar un compilado, para todos aquellos que queráis utilizar el piloto 3D y SEXTANTE al mismo tiempo.

De cualquier forma, creo que voy a esperar un poco antes de dedicarle mas tiempo al tema 3D, ya que hay cosas más importante ahora mismo. Además, me curaré en salud por las posibles inestabilidades que pueda tener, y mejor empiezo a trabajar en ello más adelante cuando haya pasado un poco más de testeo por parte del público general.

Se agradecen comentarios sobre la interacción 3D-SEXTANTE, ya que por el momento no voy a dedicarle más tiempo a testearlo, y dependo de lo que vosotros, los usuarios, vayáis descubriendo. Gracias de antemano ;-)

sábado, enero 05, 2008

Procesos por lotes en Sextante

Mi descanso navideño por tierras moras alimentándome a base de cuscús y almendras garrapiñadas parece que ha dado sus frutos, porque vengo con energías renovadas. Prueba de ello es que ésta es mi segunda entrada del día en el blog, y que ya tengo más o menos lista la herramienta de proceso por lotes (por lo menos, no falla demasiado...), a la que puede accederse desde el gestor de extensiones haciendo clic con el botón derecho sobre cada extensión. Esta funcionalidad creo que va a gustar mucho, ya que añade gran potencia al uso de los algoritmos de sextante.

Aquí van uno pantallazos (en el primero puede además apreciarse la nueva estructura en pestañas).





La estructura de tabla es similar a la de los procesos por lotes en ArcGIS. No es que lo haya copiado vilmente (aunque algo de inspiración si que he cogido...no lo negaré) sino que tampoco hay muchas más formas de solucionar el problema. Hay, no obstante, algunas diferencias, aunque creo que el manejo es simple y a la vez potente. Quiero ampliar la forma en que se pueden rellenar automáticamente los campos con ficheros de salida, que es algo que en la herramienta de ArcGis no está tan desarrollado (al menos, juzgando por la ayuda on-line, que es la única fuente de información de que dispongo, porque debo confesar que no he visto un ArcGis funcionar mas que dos veces en mi vida...y nunca lo he usado yo mismo). Por ahora sólo he puesto la opción de numerarlos correlativamente, pero estaría bien poder hacer un nombre en base a otro campo o cosas similares. Para la próxima versión ;-)

Por el momento, sólo podrán disfrutar esta herramienta los que bajen las fuentes desde el SVN y compilen ellos mismos, ya que las actualizaciones diarias no se están realizando como antes. El motivo es que estoy fuera de Plasencia (y no volveré hasta el 14), y mi ordenador, que es donde está la tarea programada, esta apagado tomándose también su merecido descanso. A ver si a la vuelta empiezo además a preparar una nueva versión "oficial", que ya va habiendo material suficiente.

Fotos Jornadas gvSIG

Hay que empezar el año con una entrada relajada y poco seria (luego vendrán las novedades fuertes, que tengo unas cuantas preparadas...), así que ahí van esas fotos de las jornadas gvSIG que había prometido hace tiempo. En lugar de poner fotos de las jornadas en sí únicamente, añado algunas que nos hicimos en el apartamento que habíamos alquilado para esos días, y que se convirtió durante media semana en la sede central del Sextante, con todo el equipo al completo viviendo allí. Para que veais que somos un grupo de amiguetes más que un equipo de trabajo, y que nos sentimos orgullosos de que así sea.

Mi lugar de trabajo durante las jornadas :-)


Juan Carlos no programa...pero apunta maneras.


Hora de comer. La familia Sextante lista para alimentarse.


Para que luego digan que el becario no se gana su sueldo...


Charla de desarrolladores

La charla del día siguiente en la sala principal.

Juan Carlos en su mesa redonda