miércoles, diciembre 31, 2008

SEXTANTE en la Web

El futuro, sin duda, está en la Web, y los clientes ligeros SIG están dejando de ser tan ligeros. Una cosa que aún no tienen son capacidades "serias" de análisis, pero para eso está SEXTANTE, ¿no?. :-)

Para despedir el año (y ésta ya sí que va a ser la última entrada antes de irme de viaje...), os dejo un enlace para que podáis ver en qué línea estoy trabajando para que SEXTANTE dé el salto a la Web en el lado del cliente (en el del servidor, ya tenemos a la gente de GeoServer y 52N dándole a las teclas). No es nada oficial, y lo he estado haciendo en mis ratos libres, pero creo que ahí está el futuro de SEXTANTE. Y si no, tiempo al tiempo.

¡Feliz año!

lunes, diciembre 29, 2008

Geomorphometry

Después de miles de lios y problemas varios, por fin me ha llegado a casa el ejemplar de cortesía que la gente de Elsevier me ha enviado por participar en el libro Geomorphometry. Concepts, Software and Applications. Eso quiere decir, por supuesto, que el libro ya está a la venta, así que todo aquel que lo quiera puede comprarlo en esta pagina (altamente recomendable, ya que participan personajes de la talla de Ian Evans, y además sale por unos bastante asequibles 90 euros, bastante buen precio para el tipo de libro que es).

Yo en particular aporto los capítulos "Geomorphomery in SAGA" y "Basic morphometrical parameters", y los curiosos podrán encontrar además en el prologo un par de fotos mías, cortesía del editor que es un tipo cachondo y ha añadido algún que otro comentario divertido. Me gusta que los libros de ciencia seria no sean siempre tan serios :-)

No aparece SEXTANTE, pero si alguno quiere saber mas sobre lo que hay por detrás de los algoritmos de geomorfometría e hidrología de SEXTANTE, o bien mira el código fuente, o si no siempre puede comprar este libro...

viernes, diciembre 26, 2008

SEXTANTE se va de vacaciones

Para lo que seguís atentamente las novedades del programa, esta entrada es para avisaros de que no va a haber muchas en los proximos 2 meses (hasta el 28 de febrero, para ser más exactos). Como este es un geo-blog, en lugar de escribir la razón de este parón, os pongo un mapa que seguro que lo deja bastante claro. Es muy poco detallado y probablemente sea poco fiel a lo que realmente acabe haciendo, pero sirve como idea general ;-)

Aunque quien esto escribe se va a ausentar una buena temporada, no hay que olvidar que el equipo SEXTANTE va creciendo y otros ya colaboran con el proyecto, y es probable que sigan aportando su granito de arena. La integración GeoServer-SEXTANTE sigue en marcha por parte de la gente de OpenGeo (y espero poder escribir algo interesante sobre este tema cuando regrese), y Nacho seguirá trabajando en los bindings con Kosmo. Yo por mi parte me desconecto de listas de correo, blogs y similares...aunque prometo volver con energías renovadas con que poner en práctica las muchas ideas que tengo para seguir mejorando SEXTANTE.

Feliz navidad a todos, y nos vemos a la vuelta :-)

viernes, diciembre 19, 2008

Bug tracking

Para todos aquellos que utilizáis SEXTANTE y estáis deseosos de colaborar informando sobre todos esos bugs y errores que vais detectando, os informo que ya podéis hacerlo a través del sistema de bug tracking de OSOR, que ya se encuentra activo. Podéis acceder a él en este enlace, o desde la página principal del proyecto. Es decir, no más mails directos a mi correo (que por otra parte, agradezco a todos aquellos que os habéis tomado la molestia de mandarlos en alguna ocasión. Ya sabéis que vuestra colaboración es muy apreciada) . ¡Gracias por vuestra ayuda!

Coruña 2.0

Para terminar este año lleno de charlas, viajes y eventos, estuve el martes en Coruña participando por segunda vez en el "Master en Enxeñaria del Auga", enseñando a los alumnos los elementos de SEXTANTE relacionados con la hidráulica y la hidrología.

Si SEXTANTE ha mejorado en este año (o eso espero...), parece que también la experiencia de asistir a cada evento va mejorando poco a poco, con lo que resulta más agradable repetir lugares. Si el año pasado fui y volví desde Plasencia en sendos autobuses nocturnos, este año también he tenido que hacer visita relámpago (el año que viene prometo quedarme más...éste la agenda estaba demasiado apretada), pero esta vez en cómodos trenes hotel desde/hasta Madrid. Y en lugar de volverme con las manos vacías, me han obsequiado con una chula camiseta de la universidad, que he de decir que me ha hecho mucha ilusión, entre otras cosas porque es de la pocas camisetas aptas para vestir que he recibido en los últimos cien congresos/charlas a los que he asistido.

En definitiva, una charla más a la que espero poder acudir el año que viene, ya que siempre es un placer disfrutar de la gente del CartoLab y el trato exquisito de sus miembros, con Alberto Varela a la cabeza. Y además, por si eso fuera poco, aprovechamos unas horas por la mañana para perfilar algunas ideas para colaborar en un proyecto relativamente grande que creemos que va a dar mucho que hablar. Aunque eso mejor lo cuento otro día... ;-)

miércoles, diciembre 10, 2008

Nueva versión

Ya esta en la calle la nueva versión de SEXTANTE, apenas unos pocos días después de que hayan acabado las jornadas de gvSIG. La tenía ya más o menos lista antes de ir para Valencia, pero he preferido esperar, aunque después de haber visto en vivo y en directo que la comunidad de SEXTANTE no para de crecer no he podido aguantar mucho a publicar una nueva versión.

No hay ningún cambio muy notable, aunque se han arreglado muchos errores de la primera versión, principalmente cosas que aparecieron en el paso a la librería y que se han detectado con el paso del tiempo.

Ya tengo mi lista de ideas para la siguiente versión, aunque por el momento voy a conformarme con ver cómo funciona ésta e intentar estar atento a los comentarios de los usuarios y corregir bugs que vayan saliendo.

Desde aquí un gran agradecimiento a todos, especialmente a aquellos con los que tuve ocasión de charlar e intercambiar opiniones sobre SEXTANTE en Valencia, por demostrar vuestro interés, aprecio y apoyo al proyecto. Espero que esta nueva versión sea más útil que las anteriores y podáis tener en ella a una herramienta valiosa y fiable con la que llevar a cabo vuestros geoanálisis.

viernes, diciembre 05, 2008

Jornadas gvSIG

Aún en Valencia a falta de que terminen por completo las jornadas, aquí van algunas reflexiones (tengo muchas, así que probablemente esta entrada tenga pronto una secuela cuando saque algo mas de tiempo)

  • La presencia de SEXTANTE ha aumentado muy notablemente. De los posters presentados, aproximadamente la mitad incluyen el uso de SEXTANTE, y se ha mencionado el programa como herramienta fundamental en algunas de las ponencias. Incluso en los carteles publicitarios de las empresas empieza a aparecer escrito. Esto es sin duda un signo de que estamos alcanzando una gran madurez, de que se empieza a dar un uso real al programa, y, sobre todo, de que existe un mercado y un amplio abanico de posibilidades para hacer negocio sobre la base de SEXTANTE. Sin duda, esto va a requerir replantearse algunas cosas, pero por el momento es una señal excelente, sobre todo teniendo en cuenta que este es probablemente el año en que menos esfuerzo he hecho yo directamente por darle promoción al programa. Parece ser que ya hay otros que lo hacen, lo cual me llena de alegría.
  • Hay todavía mucho que avanzar en SEXTANTE y en la unión entre SEXTANTE y gvSIG. Estas jornadas han sido importantes para darme cuenta de cuáles son los pasos más urgentes, cuáles los más interesantes a medio y largo plazo, y cómo hacer trabajo conjunto con las partes interesadas. Algunas de las ideas que me he apuntado y en las que espero empezar a trabajar pronto son:
    • Migración de nuevos algoritmos vectoriales y de elementos de análisis topológico, que han sido añadidos en la nueva versión de gvSIG. Con la ayuda de su creador, Álvaro Zabala, intentaré que esas funcionalidades se implementen con base en SEXTANTE y así puedan aprovechar las capacidades de la plataforma y ser aprovechadas además por todos los usuarios de SEXTANTE, ya sean usuarios de gvSIG o de otra aplicación
    • Terminar los algoritmos de enlace entre SEXTANTE y HEC-RAS. Comencé a hacerlos hace tiempo y lo he dejado aparcado por algunos problemillas, pero ésta es una funcionalidad que me la piden continuamente (y a lo largo de esta semana en numerosas ocasiones), así que habrá que subirla en la lista de prioridades.
  • La integración de SEXTANTE y 52N es ya una realidad. Aunque Bastian Schaeffer (de 52N) estaba esta semana aquí para la reunión de OGC, no conseguimos sacar un rato para mirar los pequeños problemas que había. Aun así, esta mañana me he encontrado con Laura Díaz (la otra responsable de esto) y casi sin quererlo nos hemos puesto a trabajar un poco en medio de un charla...y hemos resuelto los problemas en diez minutos! Las pruebas que hemos hecho despues han funcionado sin problemas, y ya hemos obtenido resultados viniendo directamente de un SEXTANTE sobre 52N. Hay más cosas que hacer para aumentar las posibilidades y darle más estabilidad (falta sobre todo más testeo), pero al menos la cosa ya marcha, que no es poco. Esto tampoco tiene mucho que ver con gvSIG...pero me apetecía ponerlo :-P
Y estas son algunas ideas más o menos técnicas. Las ideas y pensamientos más filosóficos y de similar índole me las guardo para otra entrada.

miércoles, noviembre 19, 2008

SEXTANTE en Kosmo

Kosmo es otra de las aplicaciones SIG de escritorio relativamente populares, basada en OpenJUMP aunque con bastantes modificaciones. La Junta de Extremadura utiliza indistintamente gvSIG y Kosmo, así que nos han encargado que implementemos también SEXTANTE en Kosmo, de forma que puedan disfrutar de las capacidades de análisis del programa en ambos SIG.

Por el momento, la parte vectorial está resuelta, ya que es muy similar a la de OpenJUMP y existían bindings que se han podido aprovechar bastante. Ahora falta la conexión con la parte raster y algunas piezas genéricas, y esto lo iremos haciendo poco a poco a lo largo de las próximas semanas.

El encargado de desarrollar este enlace entre Kosmo y SEXTANTE no soy yo, sino que por primera vez en la historia de SEXTANTE tenemos un programador más. El nuevo miembro del equipo SEXTANTE, que esperemos que pueda seguir trabajando con nosotros durante mucho tiempo (inicialmente van a ser 3 meses), es Nacho Varela, perteneciente al Cartolab de la Universidad de A Coruña. Nacho estuvo por aquí en aquel curso de programación de SEXTANTE que organizamos hace algún tiempo, así que esto de SEXTANTE no le resulta desconocido.

Ademas de esto, tiene también su propio blog sobre SIG, y seguro que irá comentando las novedades de su trabajo con SEXTANTE, así que no lo perdáis de vista porque la cosa promete ;-)

Si hay suerte y el trabajo se da bien, se publicará un paquete de instalación de SEXTANTE para Kosmo antes de fin de año, probablemente cuando lancemos la nueva versión (0.15). Ésta irá acompañada de novedades como la ayuda en inglés o algunos algoritmos nuevos, y corregirá todos los errores que se han detectado en la primera versión de la librería.

jueves, noviembre 13, 2008

Más algoritmos

Hacía tiempo que no escribía nuevos algoritmos y sólo trabajaba en el núcleo de SEXTANTE y en otras cosas para poder sacar una versión más estable para las jornadas de gvSIG, así que hoy me he relajado un poco y he añadido un par de ellos, para así romper la monotonía.

El primero es un algoritmo para pasar un test de normalidad a una variable de una capa vectorial, en particular el test de Shapiro-Wilk. Como suponía que ya alguien lo habría implementado antes que yo, y probablemente en Java existiera algo ya hecho, he buscado un poco y he reutilizado codigo...de LimeWire! Ventajas del software libre ;-)

El segundo es una ampliación del anteriormente denominado "sinuosidad", que ahora se llama "propiedades geométricas de lineas" y ademas de medir las variables que medía antes, hace también algunos análisis estadísticos de los ángulos entre segmentos de cada línea.

Nada demasiado importante, pero poco a poco la colección de algoritmos de SEXTANTE va creciendo y mejorando, que es lo que en el fondo importa

lunes, noviembre 10, 2008

Algo de personalizacion

Sigo dándole vueltas a la forma ideal de disponer los algoritmos disponibles para que al usuario le resulte lo mas sencillo posible acceder a ellos y encontrarlos, al mismo tiempo que permita a los desarrolladores darle algo de identidad propia a su trabajo de forma sencilla, teniendo más posibilidades que simplemente incorporarlos a la gran masas de otros algoritmos ya existentes.

Una idea que acabo de implementar es la posibilidad de incorporar filtros en el panel que presenta el árbol de extensiones. Se puede crear cualquier filtro sin mas que implementar la interfaz IGeoAlgorithmFilter, y después se le pasa al constructor del panel, que sólo añadirá aquellos algoritmos que pasen dicho filtro.

De esta forma, se puede crear una caja de herramientas más personalizada, que contenga sólo unos algoritmos dados, o replicar el comportamiento de la antigua caja de herramientas, con varias pestañas (utilizando sencillamente varios paneles, cada uno de ellos con un filtro distinto). Asimismo, pueden crearse varias cajas de herramientas, lo cual puede ayudar a localizar mejor las extensiones (cada caja podría accederse desde un botón), así como a dar identidad propia a un grupo de algoritmos desarrollados por una empresa o bien a un conjunto de ellos que tengan algún rasgo común.

De cualquier forma, no es la solución definitiva, y la interfaz puede aún mejorar bastante. Seguiré dándole vueltas a la idea. Cualquier sugerencia por parte de los usuarios es, por supuesto, bienvenida.

miércoles, noviembre 05, 2008

Más allá de los ficheros

La concepción de SEXTANTE era hasta ahora muy fichero-céntrica. Esto se podía entender estando dentro del contexto de un SIG como gvSIG (a pesar de que gvSIG se conecta a bases de datos e incluso ya tiene capacidades para publicar cartografía), pero en la actual situación de librería es necesario que las salidas se puedan manejar de un modo más flexible, no necesariamente metiéndolas en un fichero.

Andrea Aime (GeoTools/GeoServer) está trabajando en integrar GeoServer y SEXTANTE, y apuntaba hace algunos días que él necesitaría poder hacer algún tipo de streaming con los resultados que va generando SEXTANTE, a medida que éstos se van calculando. Con todo esto, estaba claro que había llegado el momento de darle una nueva visión a SEXTANTE en lo que a gestión de salidas respecta.

He sustituido el nombre de fichero que iba asociado a cada salida (y que si era nulo implicaba que se guardaría en un archivo temporal) por un objecto que implementa la interfaz IOutputChannel. Básicamente se trata de un objecto que dice "dónde" hay que poner los datos. Hay un FileOutputChannel, que replica el comportamiento anterior, pero la arquitectura permite ya desarrollar muchos otros, según las necesidades.

En los bindings de GeoTools hay una clase de prueba que testea la clase StreamOutputChannel, la cual define la salida con un simple PrintStream. El ejecutar alguna operación que vaya generando entidades vectoriales, a medida que éstas se añaden a la capa correspondiente, en lugar de añadirlas a un archivo lo que hace es imprimirlas al PrintStream, imprimiendo la descripción WKT de la geometría y después los valores de los atributos.

Es un cambio pequeño que no ha de afectar nada a los antiguos usuarios, pero que abre muchas nuevas posibilidades para otros, que espero sepan aprovecharlas.

miércoles, octubre 29, 2008

Málaga OSWC 08

Estuve hace unos días en Málaga, participando en la Open Source World Conference 08. Aquí van algunas de mis impresiones al respecto.

-El evento de OSOR, donde participé con una presentación improvisada justo la media hora anterior(¡Gracias, Fernando, por dejarme el ordenador para hacerla, y Jose Antonio, por dejarme el pen-drive para copiarla!) me pareció muy interesante, y confirma que OSOR es un gran proyecto con el que puedo tener cierta tranquilidad en lo que al alojamiento de SEXTANTE respecta.
-La asistencia es masiva (hablaban de 9000 personas), pero el ambiente es totalmente distinto a otros congresos. Mucha cantidad, pero poca calidad. Acostumbrado a participar en eventos con un público mucho mas especialista, esta conferencia es demasiado general y además está abierta a todo tipo de personas con independencia de su interés, lo que hace que el 80% de los participantes sean adolescentes en busca de CDs, bolis, etc.; gente que va a ver de que va aquello del SL, o quien quiere pasar un rato y llevarse una camiseta de regalo, entre otros. Afortunadamente, la sesión de OSOR fue de las más enfocadas, en mi opinión.
-Aunque hay de todo en todos lados, en conferencias o eventos sobre SIG Libre siempre he tenido la sensación de que prima el aspecto técnico sobre los demás. En Málaga, me di cuenta de que al quitar la parte SIG, el mundo del SL no es lo mio. Demasiado mamoneo, mucho filosofo bohemio...y poca chicha. Me reafirmo en mi idea de que esto del SL a mí me gusta porque lo miro desde el punto de vista técnico. La parte filosofico-moral-ético-política es absolutamente secundaria para mí. Que no quiere decir que no me parezca bonita y mejor que otros modelos...pero la verdadera ventaja para mí es la técnica. Claro, que soy un desarrollador...
-Nos invitaron a los ponentes a una cena en un barco, muy chula y divertida. Hicimos un grupo muy divertido entre la gente de gvSIG (CIT + Iver + Prodevelop), igoSoftware, OrbisGIS y un servidor. Jorge Sanz hizo algunas fotos de la noche pirata, que podeis ver a continuación.



sábado, octubre 25, 2008

SEXTANTE programming guide

Está aún sin terminar, pero ya se puede acceder a la versión actual (que la voy cambiando casi a diario, porque ahora le dedico bastante tiempo a esto...) de la guía de programación de SEXTANTE.

Se trata de un texto en inglés destinado a todos los que quieren usar SEXTANTE desde su programas Java, o bien a implementar nuevos algoritmos sobre la base de SEXTANTE. Cubre un campo más amplio que la anterior guía de programación (ahora se pueden hacer más cosas con SEXTANTE, al ser una librería), y está actualizada a lo que tenemos hoy en día en el programa.

El texto está disponible en la web (en la sección "SEXTANTE for developers"), así como las fuentes en LaTeX en el repositorio SVN.

Espero que con esto la gente se anime a programar más sobre SEXTANTE y aparezcan nuevos desarrollos aportados por gente diversa.

Sobre numeros y versiones

Para evitar que la gente se confunda, una aclaración sobre los números de versión de SEXTANTE en la actualidad.

La última versión de SEXTANTE para gvSIG era la 0.53. La que ahora se puede descargar en la web es una versión más moderna, con mas cosas y muchos cambios, por lo cual debería ser algo mayor (por ejemplo, 0.6). No obstante, el cambio de enfoque es tan grande (de unas extensiones para gvSIG a una librería independiente), que lo considero como si fuera un nuevo programa, y por eso empiezo desde el principio. Es decir, borrón y cuenta nueva.

La versión 0.1 viene a indicar que es aún un producto reciente y ha de madurar, a pesar de que contenga ya más extensiones que la última versión sobre gvSIG. Hay que testear mucho aún, pero es probable que las versiones avancen rápido, ya que con todo el trabajo hecho anteriormente, alcanzar una estabilidad mayor uea la que había entonces creo que va a ser rápido.

En resumen, hay que ver SEXTANTE como una herramienta nueva que por ahora tiene en la calle una única versión, la 0.1. Asi evitamos líos y confusiones ;-)

jueves, octubre 23, 2008

Listas

Acabo de activar dos listas de correo para el proyecto SEXTANTE, que espero que sirvan como medio de comunicación para todos los interesados en el programa. Aunque hay mucho movimiento relativo a SEXTANTE en la lista de gvSIG, ahora ya no es la única plataforma sobre la que SEXTANTE funciona, así que es necesario tener una lista que sirva de punto de encuentro para todos los usuarios.

Las listas son sextante-users y sextante-devel, para usuarios y desarrolladores respectivamente. Podéis daros de alta en la siguiente dirección:

http://forge.osor.eu/mail/?group_id=13

miércoles, octubre 15, 2008

Primera version liberada

Poco a poco vamos avanzando en la mejora de la librería. Hoy he puesto en la web una primera versión compilada, así como algunos paquetes que permiten instalar el conjunto de herramientas de SEXTANTE en diversos programas, empezando por supuesto, por gvSIG. Con esto espero que los usuarios de gvSIG se vayan moviendo hacia estas nuevas versiones y otros usuario de otras aplicaciones se suban al carro de SEXTANTE, así como que los desarrolladores lo tengan más facil para usar la librería.

Se trata aún de una versión con mucho por pulir, pero es un buen primer paso.

Para acompañar esto, he redirigido la pagina del programa (www.sextantegis.com) al wiki de OSOR, donde a partir de ahora voy a mantener toda la información y toda la actividad de cara al público. Mantener dos páginas se me hace mucho más difícil y el tiempo de trabajo hace mucho que me es demasiado escaso como para atender a todas las necesidades del proyecto, así que de este modo me hago la vida más sencilla. Por el momento la página está en inglés, pero en breve actualizaré la parte en español.

Habrá otra versión pronto y más cambios adicionales en todo lo relativo al proyecto, así que cualquier comentario es bienvenido para encauzar todos esos esfuerzos por venir.

martes, octubre 07, 2008

Más del FOSS4G

Además de las cosas que puse en la última entrada, hay algunos otros asuntos que merecen ser mencionados sobre la conferencia de Sudáfrica, y que pongo a continuación:

Nuevos algoritmos: Una de las cosas que me han entusiasmado más de ver cómo la gente responde a la nueva situación de SEXTANTE es el hecho de que empieza a considerarse como una plataforma para estandarizar el acceso a algoritmos geoespaciales, y que empiezan a darse cuenta de que no existe en este momento algo similar y de que la importancia que puede cobrar de aquí en adelante es grande (esperemos que así sea...). Esto hace que haya ya ciertos grupos que se interesen en migrar sus algoritmos de análisis para beneficio propio y de todas aquellas otras aplicaciones que actualmente usen SEXTANTE, así como de todas las que en un futuro puedan emplearlo. Las propuestas mas interesantes son:
  • pgRouting. Con Anton Patrushev(que como buen ruso es hospitalario y me ha invitado a ir a verle en Enero a Novosibirsk cuando pase por alli, cosa que haré), tienen intención de migrar código en C++ de sus rutinas de análisis de rutas.
  • uDig. Recientemente se ha publicado una extensión para triangulación y calculo de curvas de nivel directamente desde una capa de puntos, que se ha desarrollado dentro del Google Summer of Code. Quieren adaptarla a SEXTANTE para que pueda seguir corriendo en uDig, pero también en otras aplicaciones.
  • JGrass. Tengo que echarle un vistazo con más detalle, pero creo que puede haber mucha colaboración aquí, ya que los algoritmos cuadran bien, algunos de ellos no están en SEXTANTE, y además JGrass está basado en uDig, que es una plataforma en la que ahora SEXTANTE corre y sobre la que se está haciendo bastante trabajo. Andrea Antonello parece interesado, aunque es cierto que durante el congreso no hablamos mucho del tema a pesar de pasar bastante tiempo juntos (hay que hablar de otras cosas, no solo de SIG vive el hombre...)
Todo esto enlaza además con la decisión que la gente de gvSIG tomó en una reunión que tuvimos hace algunas semanas, y según la cual a partir de ahora tratarán de implementar todos los algoritmos de análisis de gvSIG sobre la base de SEXTANTE, incluyendo los ya existentes (geoprocesos, etc.)

Code sprint: la mayoría de los presentes hicimos un intenso "beer sprint" la noche anterior(había que despedirse del congreso y de los otros participantes que ya se iban...), así que la resaca no nos permitió ser muy productivos, pero aun así creo que saqué un par de cosas en claro. Ayude a solucionar algunos problemas en uDig, y el funcionamiento es cada vez mejor, acercándonos poco a poco a algo suficientemente estable como para publicarse. Ademas, hice un poco de wiki sprint y añadí mas información al wiki del programa, en la parte de desarrolladores y en otras secciones, que retoqué o amplié.

Nuevas ideas para mejoras: Entre lo que he visto y las vueltas que le he dado a la cabeza en los pocos ratos libres, me he traído algunas ideas nuevas para seguir mejorando SEXTANTE de forma progresiva. Hablar con alguna gente a la vuelta también me ha dado nuevas perspectivas sobre hacia donde llevar SEXTANTE. Éstas son algunas de ellas en orden prioritario de inteŕes, las cuales definen más o menos mis lineas de trabajo durante los próximos meses:
  • Rellenar huecos básicos: SEXTANTE tiene cosas muy raras y poco comunes, pero le faltan otras muy básicas. Herramientas de análisis vectorial como la intersección o la unión no están aún, en general por pereza mía al ver que gvSIG ya las trae. Pero ahora ya gvSIG no va a estar siempre detrás, así que es prioritario implementar estos algoritmos, ya que el gran público los usa a diario. Entre ayer y hoy ya he añadido la diferencia, la diferencia simétrica, la unión y la intersección. La operación "disolver" tengo que pensarla un poco más, porque los parámetros de configuración son algo diferentes, y quizás sea bueno hacerles una interfaz especifica.
  • Permitir el uso de interfaces de usuario específicas en el modelizador. Por ejemplo, para que pueda utilizarse la calculadora de mapas con sus botones y todo dentro del modelizador.
  • Mejorar la gramática del modelizador. Añadir mas elementos a las descripciones de las salidas, como el numero de bandas que van a tener (cuando pueda saberse de antemano, claro está), el tipo de capa vectorial, etc. Esto hará el modelizador más robusto.

viernes, octubre 03, 2008

Desde Sudafrica

Mientras Laura y Salva acaban su parte del taller (la mia viene justo despues), aprovecho para comentar rapidamente algunas de las cosas que he hecho hasta el momento, que creo que son bastantes y muy interesantes para el desarrollo del proyecto en general. Perdon por la falta de acentos y enyes...estoy en uno de los ordenadores que la organizacion nos ha dejado en el aula del taller...

Como hice una lista de cosas a hacer, sigo el mismo esquema para ver si las he cumplido todas ;-)
  • Reunirme con Mitasova, Markus Neteler y Tyler Mitchell para discutir nuestro libro que ya está en marcha. Helena y Tyler no han venido, pero Markus y yo hemos hecho algo de trabajo en el indice del libro, y hemos movido algunos hilos para 'fichar' co-autores que puedan echar un cable.
  • Presentar la actividad del capitulo español de OSGeo, en representación de los que no han podido ir. 2 minutos de charla al final de la conferencia. Poco que destacar aqui.
  • Presentar el modelizador gráfico de SEXTANTE en una charla. Exito rotundo. La sesion incluia resumen de actividades de GeoServer(por Chris Holmes), GDAL (por Frank Warmerdam) y de gvSIG(por Miguel Montesinos), o sea que era de pesos pesados, y mi charla era la ultima. El ordenador se me apago un poco antes de mi turno, asi que lo tuve que reiniciar conectado ya al proyector, perdiendo unos minutos. Chris, que era el chair de la sesion, aprovecho la ocasion para deleitar al personal con la mejor presentacion que me han hecho nunca, contando desde como nos conocimos el y yo hasta su opinion sobre el proyecto, y algunas otras cosas mas de forma relajada y simpatica. Viniendo de el, y teniendo en cuenta que no dijo mas que cosas buenas, la charla casi merecia la pena solo con eso. La demo salio sobre ruedas y tuve muchas preguntas al final, especialmente de Warmerdam, que demostro bastante interes en SEXTANTE e incluso dijo que le echaria un vistazo para intentar hacer su "primer proyecto en Java", incorporando un par de cosas que tenia hechas recientemente para analisis de imagenes.En resumen, mejor imposible.
  • Presentar el libro libre SIG en otra charla. El libro se presento en una charla el miercoles, y dio lugar a una segunda reunion del grupo de educacion de OSGeo, que habiamos mantenido una primera el martes por la tarde. La sala estaba llena y, pese a que el libro no es en ingles, la gente mostro interes y muchas ganas de colaborar. Lo mas destacable es que la fundacion Shuttelworth tal vez apoye el libro como parte de un programa de creacion de libros libres. Supondria la primera aportacion economica al proyecto, probablemente para ser empleada en traducciones. Comentar tambien que he cambiado mi enfoque actual de trabajo en el libro, a raiz de lo que he visto y para intentar agilizar el trabajo. Comentare mas al respecto en breve.
  • Dar hora y media de taller sobre SEXTANTE-gvSIG. Esto todavia no lo he hecho, sera dentro de 20 minutos :-P
  • Trabajar con la gente de uDig en la integración de SEXTANTE. Manyana es el code sprint. Jesse ha hecho algunos avances y manyana remataremos la jugada
  • Reunirme con Erwan Bocher, del equipo de OrbisGIS, que están tambien interesados en incorporar SEXTANTE a su programa (por cierto, un SIG muy interesante y prometedor...). Me ha encantado lo que he visto de OrbisGIS y ha ellos les ha encantado lo mio. Tenemos sobre la mesa un posible contrato de colaboracion. En un par de semanas me reuno en el congreso de SL de Malaga con Fernando, desarrollador del proyecto, para hacer cosas juntos, y despues volveremos a hablar para planificar la forma de colaboracion. Esta va a ser una linea de trabajo muy importante en los proximos meses, si todo sale como espero.
  • Reunirme con la gente de 52N para ver cómo servir procesos de SEXTANTE y cómo incorporar su cliente WPS dentro de SEXTANTE. Hable con ellos y Laura tambien les mostro su adaptacion de SEXTANTE a 52N. Estan mas interesados en la parte de servidor, y en breve tendran algoritmos disponibles que se basen en SEXTANTE. El 18 de noviembre me reuno con ellos, incluyendo a Theodor, cabecilla del equipo, que no ha podido acudir a esta cita.

jueves, septiembre 18, 2008

Planes Sudafrica

Aunque el congreso en sí no empieza hasta el 29, esta noche vuelo hacia Ciudad del Cabo para pasar algunos dias de relax por aquellas tierras antes de entrar en faena. No me vendrán mal, ya que la semana promete ser la mas intensa en la historia de SEXTANTE, al menos en lo que a colaboraciones se refiere. Esperemos que tambien sea la mas productiva...

Éste es, brevemente, el resumen de cosas que voy a hacer durante los dias que dura el evento:

  • Reunirme con Mitasova, Markus Neteler y Tyler Mitchell para discutir nuestro libro que ya está en marcha.
  • Presentar la actividad del capitulo español de OSGeo, en representación de los que no han podido ir (este tipo de cosas las suele hacer Lorenzo, que es el showman...pero como no va, me han entruchado)
  • Presentar el modelizador gráfico de SEXTANTE en una charla
  • Presentar el libro libre SIG en otra charla
  • Dar hora y media de taller sobre SEXTANTE-gvSIG
  • Trabajar con la gente de uDig en la integración de SEXTANTE
  • Reunirme con Erwan Bocher, del equipo de OrbisGIS, que están tambien interesados en incorporar SEXTANTE a su programa (por cierto, un SIG muy interesante y prometedor...)
  • Reunirme con la gente de 52N para ver cómo servir procesos de SEXTANTE y cómo incorporar su cliente WPS dentro de SEXTANTE
Muchas cosas, y si consigo hacer la mitad me volveré contento y sin duda con mucho trabajo que hacer. En la medida de lo posible, intentaré ir contando los avances que haga (incluyendo si veo leones y pingüinos...)

miércoles, septiembre 10, 2008

SIG artístico

Que el arte y la ciencia tienen una estrecha relacion es algo que se sabe desde antiguo. Para demostrarlo, aqui va un pequeño ejemplo sobre como hacer un poco de arte gráfico con SEXTANTE.

Resulta que Antonio está probando uno por uno los algoritmos de SEXTANTE, para comprobar que al realizar los ajustes necesarios para incorporarlos en la librería, no he introducido fallos. Así que, si encuentra algo que no funciona o un comportamiento extraño, escribe un pequeño informe y luego yo intento resolver el problema. Hoy, al intentar calcular una envolvente circular mínima, le ha salido lo siguiente.



Un bug, sin duda...pero es chulo, ¿verdad? ;-)

jueves, septiembre 04, 2008

Ampliando fronteras

A pesar de que todavía no he liberado ni una sola versión oficial y solo se puede acceder por el SVN a las fuentes, desde que SEXTANTE se ha convertido en una librería no paran de aparecer nuevas propuestas y la gente se muestra cada vez más interesada en emplearla. Esto me reafirma en la idea de que ha sido una decisión muy acertada, y me impulsa a seguir difundiendo SEXTANTE entre la comunidad de desarrolladores SIG, con la esperanza de que sean cada vez más los que aporten al proyecto.

Dejo tres de ejemplos, en diferentes estados de desarrollo, de trabajos relacionados con SEXTANTE:

1) Talend/Spatial Data Integrator. Ya lo comenté en otra entrada. La gente de Camp2Camp está incorporando componentes basados en SEXTANTE e intentarán tener una versión son ellos incluidos para el congreso de Sudáfrica de dentro de 3 semanas.

Algo más de información en esta pagina web.

2) OpenJUMP. SEXTANTE corre en OpenJUMP en su practica totalidad, casi del mismo modo que lo hace en la implementación de referencia (gvSIG). Estoy a la espera, de todas formas, de que la comunidad de desarrolladores de OpenJUMP se meta en serio a revisar los enlaces entre OpenJUMP y SEXTANTE, lo que seguramente mejorará el rendimiento y la estabilidad.

Uma imagen de muestra:




3) uDig. Este es un trabajo en el que yo no participo prácticamente, ya que no tengo experiencia en trabajar con la interfaz gráfica de eclipse (SWT), necesaria para implementar cosas bajo uDig. Ello hace difícil el incorporar los componentes gráficos de SEXTNATE, así que los chicos de uDig, con Jesse Eichar a la cabeza, están haciendo un trabajo increíble rediseñando todas las interfaces. Los resultados son mucho más bonitos y aparentes que los originales, como se puede ver en la siguiente imagen.

miércoles, agosto 13, 2008

Viajes SEXTANTE

Ahora que todos viajan en verano para irse de vacaciones, y yo sólo viajo para ir de trabajo voy a aprovechar para poner un pequeño mapa de los sitios a los que he ido (o tengo confirmada alguna charla próximamente) en mi labor de creador de SEXTANTE, para contar algo del programa, dar una charla, un curso, o algo similar. La verdad es que son ya unos cuantos lugares.

A ver si puedo añadir muchos más, especialmente fuera de Europa, que aún hay pocos.


View Larger Map

sábado, agosto 09, 2008

Reunion CampToCamp

Recién llegado de Suiza, aquí van algunos comentarios sobre mi reunión con la gente de CampToCamp, probablemente la más productiva de cuantas han tenido lugar en toda la historia de SEXTANTE, y en ejemplo inmejorable de trabajo en equipo.

Había estado trabajando bastante durante los últimos días, intentando llegar a esta reunión con algo "tangible", por supuesto dentro de la medida de lo posible. Es decir, tener algo que pudieran utilizar al menos para hacerse una idea de como podría emplearse la librería SEXTANTE en sus desarrollos, pero siendo consciente de que la librería es un desarrollo de gran envergadura al que le queda mucho tiempo por delante antes de poder tener algo estable. De hecho, a medida que voy desarrollando me doy cuenta de que queda más por hacer, y el paso de ser un conjunto de extensiones para gvSIG a ser una librería de algoritmos de análisis es una tarea muy grande que va a requerir gran esfuerzo y tiempo. Lo cual no quiere decir que no puedan tenerse resultados a medio camino y elementos ya utilizables, como ahora veremos.

El primer día de reunión presenté la estructura de la librería y el enfoque que le estoy dando, para que me dieran su opinión y trabajar en pulir el diseño general. La estructura gustó y aportaron algunas ideas sencillas en las que me puse a trabajar, aunque en general les pareció bien mi planteamiento y no fueron muchos los cambios. Básicamente, el diseño que estoy planteando de SEXTANTE les pareció muy bueno para una integración entre SEXTANTE y Talend (o cualquier otra herramienta...).

Jesse Eichar (desarrollador principal de uDig, y por tanto buen conocedor de GeoTools) estuvo toda la mañana trabajando en crear los binding entre GeoTools y SEXTANTE, de forma que se recubran las clases de GeoTools para que puedan ser aprovechadas por SEXTANTE. Es decir, que si tienes una capa vectorial que la has obtenido usando GeoTools, puedas pasársela a SEXTANTE para que trabaje con ella. A final del día ya teníamos listos los bindings para GeoTools 2.4 y la reciente 2.5, y cuatro pequeños ejemplos de uso (por supuesto, todo está ya en el SVN). Es decir, SEXTANTE ya funciona sobre GeoTools. En el SVN se puede encontrar también un pequeño "GIS", que lo único que hace es abrir capas usando GeoTools, y permite ya usar todas las herramientas de SEXTANTE (modelizador, linea de comandos, etc.). Y todo eso en un día.

El segundo día, Francois cogió SEXTANTE y el trabajo hecho por Jesse y consiguió meter en Talend 5 nuevos componentes basados en SEXTANTE, entre ellos algunos que usan capas raster y otros con capas vectoriales,para dar mas variedad. El ejemplo de modelo que aparece en el pequeño manual de SEXTANTE (calculo del indice de humedad topográfica a partir de pendiente y acumulación de flujo), ya se puede hacer en Talend, que genera automáticamente el código correspondiente y puede ejectura el modelo.

El tercer día fue mas relajado, revisando lo que habíamos hecho y discutiendo algunos temas nuevos, como la integración de SEXTANTE en uDig o el uso de la interfaz de procesos de GeoTool para integrar SEXTANTE en GeoServer el día de mañana. Hicimos mucho trabajo y dejamos en el aire muchas ideas, lo cual es una buena señal.

En definitiva, un paso de gigante para la librería SEXTANTE, que va cogiendo una proyección mucho mayor y poco a poco tomando forma. Esperemos que el trabajo siga a este ritmo durante mucho tiempo.

Los que estéis más interesados podéis echar un vistazo al SVN o mirar el wiki, donde estoy intentando añadir información a medida que voy teniendo cosas acabadas, para así conseguir más gente interesada que pueda comenzar a trabajar con SEXTANTE.

martes, julio 22, 2008

Curso de análisis geoespacial con SEXTANTE

Tenía ganas de hacer un curso de SEXTANTE más extenso que los habituales talleres de unas pocas horas, y por fin he encontrado el momento y la forma ideal de hacerlo.

En colaboracion con Càrol Puig, de la Universidad Politécnica de Cataluña, vamos a hacer un curso orientado a todos aquellos que quieran aprender no sólo a manejar el programa en profundidad sino, especialmente, a comprender los mecanismos que residen debajo de los principales algoritmos. El curso además donará sus beneficios a Ingenieros Sin Fronteras, con lo cual le añadimos una bonita componente social que creo que lo hace más interesante aún.

Aunque yo impartiré la mayoría del curso, contaré con gente que hara algunas de las charlas, para así hacerlo más dinámico. Por ahora la gente parece interesada (aunque hay mucha más gente que pide que el curso sea on-line, cosa por el momento descartada), y esperamos que venga gente de fuera, razón por la cual el curso es en inglés, para así poder recibir asistentes internacionales.

Sin entreterme más, remito a todos los interesados a la web del curso.

viernes, julio 11, 2008

Librería SEXTANTE

Como mencioné en una entrada anterior, hay cambios a la vista en SEXTANTE...y no son precisamente pequeños.

Después de ver las necesidades de muchos otros proyectos SIG durante estas semanas, uno se da cuenta rápidamente de que hay un nicho vacío en lo que a análisis respecta. Muchos proyectos requieren análisis, pero no hay una librería que pueda proporcionarles los algoritmos correspondientes. Y no parece que nadie este dedicando esfuerzos a desarrollar esos algoritmos y esa librería.

Por otra parte, SEXTANTE tiene una gran colección de algoritmos de análisis geoespacial, aunque para utilizarlos se requiere de gvSIG por debajo. Así que lo más lógico sería tratar de independizar SEXTANTE, de tal forma que gvSIG pueda seguir llamando a esos algoritmos, pero otros programas lo puedan hacer de forma igual de sencilla.

La decisión de hacer esto, como es fácil comprender, no es tan sencilla de tomar, y le he dado unas cuantas vueltas antes de lanzarme, pero creo que las ventajas son múltiples.

Hay bastante trabajo que hacer, pero poco a poco se irán añadiendo los elementos de SEXTANTE y es probable que con este planteamieto se pueda encontrar más apoyo en términos de desarrollo (ahora mismo SEXTANTE es popular en lo que a usuarios respecta, pero nadie salvo yo mismo esta programándolo, y no parece que nadie vaya a animarse...), ya que SEXTANTE será una herramienta útil para desarrolladores en el ámbito SIG.

La idea es que la librería contenga los algoritmos, pero también, separadamente, las partes gráficas ya desarrolladas, de forma que sea igualmente sencillo integrarlas en distintos GUI. Y por supuesto, se pueden crear otras y desde ellas llamar a los algoritmos directamente, o bien hacerlo sin interfaz gráfica alguna (linea de comandos, procesos remotos, etc.)

Por el momento, pocos detalles más. Yo estoy dedicando ya todo mi tiempo de trabajo a ir preparando la arquitectura de la librería, así que no habrá muchas mejoras en la versión actual sobre gvSIG, aunque es probable que en un tiempo sí que saque algo con algunas cosillas y bugs que he corregido desde que se publicó la 0.53.

Para usuarios (que son la mayoría de los que deben leer este blog), por el momento deberán contentarse con la versión que hay o con esa pequeña actualización cuando salga, y desde ahí todavía no tengo claro cómo será el trabajo que haré. Hace falta desarrollar cosas para llamar a SEXTANTE librería desde cada SIG, y la idea, como parece lógico, no es que yo tenga que hacerlo para todos los SIG o aplicaciones que vayan a usar SEXTANTE, sino que cada cual haga las suyas. No obstante, el caso de gvSIG es un poco distinto por la vinculación que ha existido (y existe) entre los proyectos, así que sí que es probable que esa parte la haga yo. Al menos sobre la 1.1, porque además necesito alguna plataforma para testear y ver cómo marchan las cosas. Para la 2.0, cuando la saquen ya se verá, pero bueno queda aún mucho tiempo. Quizás sea el momento de integrar el análisis plenamente en gvSIG y definir un marco unificado para procesos, y esa labor quedaría más en el lado de gvSIG, que por supuesto dispondría de la potencia de la librería SEXTANTE para usarla de la forma que corresponda.

Para empezar a poner en acción la librería, me ha invitado la gente de camptocamp a pasar tres días con ellos a principios de agosto para intentar desarrollar nuevos elementos para Talend basados en SEXTANTE. Intentaré ver con detalle las necesidades que tienen, para hacer un diseño mejor. Por el momento, no arranca mal la cosa, aunque yo quería parar ya los viajecitos por una temporada...pero bueno, la ocasión lo merece :-P

Por cierto, se supone que en español no debería decirse libreria sino biblioteca ¿no? Eso dicen los más puntillosos...no sin razon. :-)

viernes, julio 04, 2008

AGIT, Salzburgo

Ahí van unas líneas breves sobre el AGIT, aquí en Salzburgo, donde estoy a punto de comenzar el taller de SEXTANTE en apenas una hora. De hecho, estoy escribiendo esto con el ordenador ya conectado al cañón y probando que todo funcione correctamente, que aunque los austriacos son serios y responsables como los alemanes y parecen tenerlo todo bajo control, a veces las cosas fallan y es mejor cerciorarse.

En el anuncio del taller aparezco como "Víctor Playa"[sic], error mínimo e irrelevante, pero que demuestra que aquí tambien se equivocan y hacen pequeñas gañanadas. En la reunión de Bruselas se me anunciaba como miembro de la Universidad de Extramadura[sic], así que uno ya está en el fondo acostumbrado a estas cosillas :-)

De camino hacia aquí me encontré con Olaf Conrad (SAGA) en el tren, lo cual ya fue una interesante coincidencia. A medida que ayer daba vueltas por los stands (demasiado comercial para mi gusto, aunque algunos cacharillos en el stand de Trimble eran realmente flipantes y dignos de echarles un vistazo), no paraba de encontrarme gente conocida. Marc Compte, del SIGTE; un par de compañeros que estudiaron en mi escuela y están de hecho apuntados al taller de SEXTANTE; uno de la organización del AGIT que viene de Rumanía y fue alumno mío en el curso de geoestadística de Portici...y un largo etcétera. Cuanto menos te esperas conocer gente, más amigos te encuentras, que no está nada mal, la verdad.

El unico evento interesante al que he asistido fue la reunión de usuarios de SAGA, con unas 25 personas, donde se han presentado cosas interesantes y algunas de las ideas nuevas para continuar el desarrollo del programa, que lleva estancado algún tiempo. Si tuviera más tiempo libre me gustaría trastear algo más con el código de SAGA, pero la verdad es que hay muchas más cosas antes por hacer...así que mi presencia en la reunión fue más para encontrarme con viejos conocidos que por otros motivos más técnicos.

El taller va a ser el clásico, aunque intentaré añadir cosas nuevas. Todo sea por variar un poco, que si no la cosa se hace monótona.

Y después de esto, vuelta a casa y a la rutina, a ver si vuelvo a coger el ritmo bueno de programar y hacer código, que ya lo echo de menos. En 10 días tendría que estar en Ecuador, pero por suerte han anulado esa cita y queda aplazada hasta noviembre, con lo que tendré tiempo para programar un poco.

Aunque no he podido darle a las teclas mucho, estos días de reunirme con gente y ver otros proyectos me han dado una nueva perspectiva sobre SEXTANTE, y tengo muchas ideas y cambios previstos. Se acercan días de gran actividad y grandes cambios en SEXTANTE. A medida que vaya poniéndolos en práctica, lo iré contando por aquí, como es habitual.

jueves, julio 03, 2008

Bruselas, reunion OSOR

Como ya dije algún tiempo atrás, he migrado SEXTANTE desde los servicios de google code a la forja que la Unión Europea esta desarrollando para proyectos de software libre. El viernes pasado se organizó una reunión en Bruselas con objeto de intentar formar una comunidad de proyectos SIG dentro de esta forja, a la que me invitaron a participar como ponente, contando las líneas generales de SEXTANTE y nuestra experiencia actual en el uso de la forja.

Me esperaba que la reunión fuera más de tipo filosófico, con rollo político-retórico, pero al final hubo mucho contenido técnico y algunos proyectos me parecieron bastante interesantes. Al igual que en Bolsena, volví a comprobar que hay una gran cantidad de proyectos SIG que se beneficiarían notablemente si dispusieran de funciones de análisis fácilmente accesibles. SEXTANTE contiene muchas y tiene una arquitectura relativamente buena para esto, ya que los algoritmos están separados, pero aun así requiere cierto esfuerzo por parte del desarrollador que quiera utilizarlos en otro contexto. Esto me esta haciendo reflexionar sobre si convendría darle un rediseño a SEXTANTE para favorecer su uso por terceros.

En Bruselas compartí cartel una vez más con Arnulf y sus historias de OSGeo, y ahora mismo estoy en Austria en el AGIT y ayer ya le volví a ver por aquí (tres veces en tres semanas seguidas y en tres países, con lo que vuelve a demostrarse que el mundo SIG es un pañuelo. Realmente es más pañuelo aún, ya que aquí me estoy encontrando con más gente conocida aún, pero las historias del AGIT las reservo para otra entrada (voy, como siempre, escribiendo con algo de retraso sobre todos los viajes/fiestas/eventos relacionados con SEXTANTE...).

sábado, junio 21, 2008

Buenas noticias desde Sudafrica

Llegan buenas noticias desde Ciudad del Cabo (Sudafrica), donde se celebrará el próximo FOSS4G. Me han aceptado para presentación las dos charlas que propuse:
  • A free GIS book
  • A free gvSIG-based graphical modeling tool
La segunda es sobre el modelizador gráfico de SEXTANTE, y la primera no tiene nada que ver con SEXTANTE, pero aun así lo añado porque es buena noticia en general e impulsará un poco el desarrollo del libro, lo cual viene bien a todos.

Mi propuesta de un taller de tres horas ha sido reducida por problemas de espacio, y tendré un taller compartido con Salvador Bayarri (IVER), que a su vez había propuesto uno sobre gvSIG como cliente IDE. Es decir, que los dos talleres que tienen algo que ver con gvSIG se funden en uno. No es lo ideal, pero tampoco es mal plan.

Y aunque mi contribución ha sido más bien nula, mencionar el artículo que la gente de la UJI ha enviado ("Open Service Network for data processing with SEXTANTE"), aceptado en "Academic Papers", y que yo revisé brevemente y han tenido la gentileza de añadir mi nombre a la lista de autores.

La presencia de SEXTANTE va a ser notable, mucho más de lo que yo sinceramente hubiera esperado, así que no puedo sino alegrarme por ello. Habrá que ir preparándose para el evento...(y para los días que quiero estar viajando por Sudafrica antes de que éste empiece :-P)

viernes, junio 20, 2008

Breve resumen de cosas nuevas

Un par de cosillas nuevas. Una de ellas la he hecho aquí en Bolsena y otra justo antes de venir.
  • Ya se almacenan en el proyecto de gvSIG los enlaces dinámicos entre capas. La solución no es del todo completa, y es un poco rara la implementación, pero no había otra forma, ya que el diseño de gvSIG en ese apartado no es el más acertado. Se supone que cambiará en versiones posteriores, pero lo que hay ahora no esta diseñado para facilitar que extensiones como las de SEXTANTE persistan información en el proyecto
  • Las búsquedas en el gestor de extensiones ya funcionan bien con acentos y eñes. Antes no las reconocía, pero ahora ya no debería haber problemas de internalización (es decir, que también debería funcionar con ayuda en otros idiomas con caracteres raros)

martes, junio 17, 2008

Bolsena (I)

Ya ha comenzado la reunión de Bolsena, donde un buen puñado de desarrolladores de diversos proyectos SIG nos reunimos para compartir nuestras experiencias durante una semana. Para que la colaboración sea fluida, el entorno elegido es de lo más interesante: un monasterio a la orilla de un lago, con salas comunes con red inalámbrica donde trabajar, y bonitos espacios exteriores donde relajarse. Hay quien usa el jardín para programar, lo cual es bucólico pero ciertamente no muy práctico. Yo particularmente prefiero estar dentro trabajando, y despues salirme al jardín con mi guitarra de flamenco (una reunión así requiere venirse con algo más que un portatil bajo el brazo) a echarme unos toques, que no todo va a ser trabajar.

En la reunión hay gente bien conocida conocida, como el omnipresente Lorenzo Becchi o Arnulf Christl (OSGeo), con quien además estaré la semana que viene en Bruselas. De España hay otras tres personas más, todas ellas del equipo gvSIG. Javier Carrasco, de gvSIG mobile, ha puesto algunas fotos ya en su pagina de picassa. Las podeis ver en esta dirección:

http://picasaweb.google.es/jacarma/


Mi interés principal es juntarme con la gente de JGrass y tratar algunos temas de análisis, aunque hay un buen número de desarrolladores de geoserver (entre ellos Gabriel Roldan, viejo conocido de congresos y similares donde siempre coincidimos, y con quien comparto habitación) y, para mi sorpresa, la idea de servir por WPS los procesos de SEXTANTE les resulta muy interesante. Me han pedido que les explique más en detalle la plataforma de SEXTANTE, para poder hacerse una idea de cómo abordar esto, y en un ratillo haré una pequeña presentación.

Seguiré informando sobre lo que vaya pasando por aquí, que espero que sea bastante.

viernes, junio 13, 2008

Modelos dentro de modelos

Llevo diciéndolo en charlas desde casi el mismo día que se publicó el editor de modelos: "un modelo es a su vez una extensión y podría utilizarse como parte de otro modelo. No es difícil implementar esto". Y la verdad es que difícil no era, pero por alguna razón me daba mucha pereza hacerlo y no ha sido hasta esta semana que me he puesto a ello.

La cosa ha sido simple, y apenas he tenido que cambiar nada en lo que ya había hecho, solo añadir dos pequeñas tonterías. Así que ahora ya puede crearse un modelo y éste incluirse como parte de otro.

Como ejemplo, os dejo un pantallazo donde se ve un modelo llamado sencillamente "Modelo", el cual genera una capa raster (realmente es el modelo de ejemplo del manual de SEXTANTE, que genera una capa de índice topográfico de humedad), la cual después se usa para ejecutar la extensión de estadísticas básicas.


Esta nueva funcionalidad (y otra que comentaré en la siguiente entrada), como siempre en la versión diaria.

jueves, junio 05, 2008

Costes, costes y más costes

El viernes pasado estuve en Cáceres con Ángel Felicísimo, charlando agradablemente de unos cuantos temas, entre ellos por supuesto de SIG y de SEXTANTE. Por si alguien no le conoce, Ángel es uno de los pioneros del SIG en nuestro país, y un investigador de primera linea, habiendo llegado a ocupar la portada de Science con uno de sus trabajos.

Siguiendo la misma linea de investigación de ese relevante trabajo (el cual estudiaba el movimiento de musgos arrastrados por el viento), ahora ha dado un pequeño salto cualitativo y tiene entre manos un estudio similar pero con bichos algo más activos (pardelas, en este caso). Las metodologías de análisis de costes que empleó entonces (usando ArcInfo), parecen no dar una respuesta precisa en este caso, y los resultados teóricos son algo distintos de los que se deducen del propio movimiento de los simpáticos pajarillos. Básicamente, sucede que las pardelas son más listas que el ordenador y "atajan", encontrando un camino que parece (y seguramente lo sea) más optimo que el que la ruta de mínimo coste indica.

Así que nos pusimos a darle algunas vueltas a la idea y, con la inestimable colaboración de Juan Carlos (no está mal, tres humanos adultos suman la inteligencia de una pardela, y todavía está por comprobar...), hemos pensado un planteamiento alternativo en el que se calculan costes acumulados no con costes unitarios iso o anisotrópicos, sino con ambos tipos a la vez. Ello permite combinar el viento con la mera distancia euclídea, ponderar éstos, y tratar de obtener una ponderación que resulte en esas rutas mas cortas (darle más peso al factor isotrópico en este caso "endereza" las rutas, teniendo el efecto de esos atajos que toma el bicho).

Después de pensar la idea, queda implementarla, y eso, huelga decirlo, es algo que me corresponde a mí. En la versión inestable ya tenéis nuevos módulos de costes, uno de ellos este de costes combinados y el otro uno para calculo de costes por rutas predefinidas, utilizando costes unitarios anisotrópicos. Este último lo utilizará también para hacer otro tipo de análisis, y es algo que (que yo sepa) no está tampoco en ningún otro software.

Como no hay dos sin tres, me he apuntado también una idea que sugirió Ángel sobre las curvas ROC, y también lo encontrareis ya implementado. Esto es de utilidad para validar y ver la bondad de modelos predictivos, algo en lo que el propio Ángel es también un experto, y que probablemente en los próximos tiempos se potencie dentro de SEXTANTE (ya hay una extensión para ello, pero se le puede dar mucha más potencia).

martes, junio 03, 2008

Cambio de forja

Supongo que más o menos todo el mundo estará enterado de los "problemillas" que hemos tenido con Google Code. A pesar de que el servicio es intachable desde el punto de vista técnico, parece ser que nuestros compañeros cubanos no tienen acceso a él por razones políticas. Esto es sin duda un hecho muy negativo, por una parte desde el punto de vista puramente profesional (la comunidad de usuarios cubanos estoy seguro de que va a crecer rapidamente) y, sobre todo, desde el punto de vista humano (si es software libre, debería llegar a todo el mundo, sin excepción)

Como consecuencia de esto, he decidido mover SEXTANTE de la plataforma de Google a otra distinta. La pregunta es: ¿a cuál?. La verdad es que no he tenido ni tiempo de buscar otras alternativas, porque me han ofrecido utilizar en calidad de testing la forja que va a sacar la Unión Europea, y que en teoría será presentada el día 18 de este mes. Gracias a Ismael Olea (desde aquí un gran agradecimiento por su apoyo), involucrado en dicho proyecto, y que velozmente se puso en contacto conmigo y me ofreció toda la ayuda necesaria, ya está el proyecto registrado, los binarios de la próxima versión recién subidos, y ya estoy utilizando su SVN en lugar del de Google Code.

Voy a probarlo durante un tiempo (probablemente hasta el mismo día 18) a ver que tal va la cosa, y si todo marcha bien actualizaré ya todos los enlaces en la pagina web del programa, completando así definitivamente la migración

Para los que queráis echarle un ojo, la web del proyecto en la forja es la siguiente

http://forge.osor.eu/projects/sextante/

Como digo, ahí esta la nueva versión, que tiene algunas extensiones nuevas interesantes, sobre las que en breve escribiré una entrada más detallada.

domingo, mayo 25, 2008

Barcelona

Hacia tiempo que no me lo pasaba tan bien dando una charla como el jueves en Barcelona. Haciendo pareja una vez más con Alvaro Anguix, y con la intervención estelar de Lorenzo Becchi, quien se vino la noche antes a cenar con nosotros y apareció por allí a la mañana siguiente para improvisar unos minutos sobre OSGeo y asuntos similares, la charla fue de lo más divertido. En el limite justo entre charla técnica y show, como a mí me gusta.

Me viene bien este tipo de alegrías, porque tengo un mes a tope de conferencias y actividades "sociales" relacionadas con SEXTANTE, y hay que verles siempre el lado positivo. Este miércoles y jueves en Madrid en un curso sobre herramientas informáticas en hidrología, después en sendos cursos de SEXTANTE en Plasencia y Caceres para el Colegio de Ingenieros Forestales de Extremadura, uno de los cuales se solapa un día con otro curso para Tragsatec en Mérida, obligándome a hacer un bonito doblete... Y en medio de esto, una semana encerrado en un monasterio en Italia con otros 15 programadores SIG de diversos proyectos como GRASS, Mapserver o Geonetwork, compartiendo nuestras ideas y experiencias. Va a ser un junio intenso...pero divertido :-P

El verano tampoco se presenta mal: Salzburgo, Amsterdam, el FOSS4G en Sudáfrica, visitas por confirmar (pero altamente probables) a Venezuela y Cuba... La agencia de viajes SEXTANTE no descansa ;-)

Esperemos que todas estas reuniones sean tan positivas como la de este jueves en Barcelona. Desde aquí un gran agradecimiento a todos los implicados, en especial a Càrol Puig, que montó el evento y esperemos que repita invitación en breve, porque para mí es todo un placer acudir, como ella bien sabe.

Aprovecho para comentar que tenemos ella y yo entre manos la celebración de un curso sobre SEXTANTE de una semana, para usuarios que ya sepan usar gvSIG pero deseen profundizar en SEXTANTE y aprender además los fundamentos y algunas ideas más avanzadas sobre análisis espacial. El curso va a tener algunas características "especiales", de las que ya informaré puntualmente, ya que espero pronto poder hacer un anuncio oficial una vez que confirmemos ciertos aspectos organizativos. Los interesados, manténgase a la escucha.

martes, mayo 20, 2008

Luces, cámara...¡SEXTANTE!

Aunque ya hace un par de días que andan disponibles (y bastante visitados por lo que indican los contadores...), añado ahora una entrada en el blog sobre los nuevos videotutoriales que he subido. Hoy he añadido tres nuevos (visibilidad, densidad y geomorfometría), y tengo bastantes más aún pendientes de realizar, aunque a partir de ahora iré más despacio, ya que los vídeos que hay ya subidos son suficientes para ir iniciándose, y a medida que vaya creando nuevos, éstos serán cada vez más específicos.

La idea que tengo es la de poder además meter estos videos en un DVD y distribuir éste en cursos o talleres, para que los asistentes tengan más material con el que trabajar una vez que el curso acabe. Un curso de SEXTANTE de unas 20-25 horas (que es realmente un curso en profundidad en el que daría tiempo a ver muchas cosas...) creo que podría quedarse en unas 5-6 horas de vídeos como éstos, considerando que en los vídeos se va al grano o que no hay preguntas por parte de los asistentes, entre otras cosas.

El objetivo es llegar a grabar esas horas de vídeo, dividiendo las funcionalidades de SEXTANTE en bloques, e intentando dejar fuera el menor número de extensiones. Si quedan extensiones sin tratar no es tampoco un grave problema, ya que lo importante desde mi punto de vista es que esos vídeos sean no sólo un tutorial de SEXTANTE, sino un curso sobre análisis espacial, y que mediante ellos un usuario de SEXTANTE pueda aprender el manejo del programa y al mismo tiempo estimular la capacidad de análisis espacial y aprender a pensar espacialmente.

Como digo, seguiré actualizando la página poco a poco, incorporando también vídeos de terceros y todo lo que pueda complementar a lo que yo vaya produciendo.

viernes, mayo 09, 2008

Un par de errores

Informo de un par de errores de la última versión.

  • Es probable que deje de funcionar el sistema de ayuda contextual(incluyendo las búsquedas). Para solucionarlo, renombrar la carpeta "spa" en "sextante_help" (en el directorio de extensiones de gvSIG) y cambiarle el nombre a "es". Hay un problema con los identificadores de idioma, que gvSIG no devuelve siempre el mismo (estando en español, en algunos ordenadores devuelve "es", y en otros "spa"). Casualmente, todos los míos devuelven "spa", por eso no me había dado cuenta del fallo hasta que alguien con un ordenador de otro tipo (de los que devuelven "es") me lo ha comunicado.
  • El enlace dinámico falla en Windows por problemas con el simbolo de separación de directorios, ya que gvSIG lo devuelve siempre con el símbolo "/" , y en Windows eso se traduce en "\/" a la hora de formar la cadena, que luego no es realmente como se llama el directorio, y por eso no encuentra las capas dependientes a la hora de actualizar (sale en el esquema de actualización el símbolo de capa tachada). Está arreglado y la versión inestable ya incorpora la mejora. Mea culpa por sólo haberlo probado en Linux antes de publicarlo.

Espero que estos errores no os den muchos quebraderos de cabeza. ;-)

domingo, mayo 04, 2008

Enlace dinámico

Ya estoy mas o menos recuperado de mi baja y mañana debería empezar a trabajar...aunque realmente ya llevo unos días haciendo cosas por aquí. Entre ellas, terminar una curiosa funcionalidad que aquí os presento y que ya podeis encontrar en la actualización que acabo de hacer (v0.52, que ya se descarga de googlecode al igual que los restantes materiales, para así evitar temporalmente la caida del servidor de la UNEX. Es probable, no obstante que esto sea ya siempre así, y de esta forma aprovechamos, como dije en una entrada anterior, todas las posibilidades que googlecode ofrece)

Esta entrada se la dedico a Jorge, que se que le va a gustar, ya que todo esto viene de un comentario suyo que me hizo hace tiempo (y al que he estado dándole vueltas sin parar hasta que he implementado algo similar a lo que él me dijo...)

Como acabo de actualizar la ayuda del programa y el manual para añadir la descripción de esta nueva funcionalidad, en lugar de redactarlo de nuevo, pego a continuación dicha descripción para que os hagais una idea.

-------------------

A partir de la version 0.52, SEXTANTE incorpora una nueva funcionalidad que permite ahorrar esfuerzo a la hora de elaborar nuevas capas a partir de una o varias capas de partida, en caso de que estas capas base sean modificadas.

Por ejemplo, si se parte de una capa de carreteras, pueden efectuarse operaciones tales como calcular un área de influencia, calcular parámetros geométricos de ésta, hacer algun análisis estadístico de los valores contenidos en dicho area y cortar otra capa vectorial segun esa misma area de influencia. Si el trazado de alguna de las carreteras se modifica en la capa original, deben volver a realizarse todas las operaciones de cálculo de las capas derivadas, ya que éstas habrán dejado de tener sentido, pues la entidad original a partir de la cual fueron calculadas ya no presenta las mismas características.

Cada vez que se ejecuta una extensión de SEXTANTE, ésta almacena en las capas de partida la información relativa a dicha extensión, de forma que posteriormente puede ejecutarse de nuevo de forma automática. Esto crea un árbol de conexiones entre las distintas capas que se emplean para el cálculo y sus resultados, que puede emplearse para simplificar el trabajo en situaciones como las descrita anteriormente, creándose un enlace dinámico entre las capas.

Así, cuando se edita una capa vectorial, SEXTANTE actualiza (siempre que así esté configurado, como veremos más adelante) todas aquellas capas que dependan de ésta, es decir, todas aquellas que sean resultado de alguna extensión que haya tomado como capa de partida la capa editada. Si estas capas derivadas son a su vez entradas de otro proceso, las capas obtenidas a partir de ellas también serán actualizadas, y así sucesivamente.

Esta funcionalidad únicamente está activa por el momento para capas vectoriales, y en aquellas extensiones que a su vez generan tan sólo capas vectoriales como resultados. Esto es así debido a la arquitectura actual de gvSIG, así como al hecho de que las únicas capas que se pueden modificar actualmente en gvSIG son las de tipo vectorial.

En la configuración del gestor de extensiones, vimos que hay tres opciones para ajustar el comportamiento de esta funcionalidad en gvSIG:

  • Actualizar sin preguntar. Al editar una capa se lanza automaticamente la actualización. Si la capa A ha sido empleada para calcular una nueva capa B, al cerrar la edición de la capa A la capa B se recalculará de forma automática.
  • Preguntar antes de actualizar. Al cerrar la edición de una capa se mostrará una ventana como la de la siguiente figura, donde se esquematiza el proceso de actualización, y las capas que se verán actualizadas.Haciendo clic en Aceptar, se procederá a la actualización. Si se hace clic en Cancelar, las capas derivadas no cambiarán.
  • No actualizar. Al cerrar la edición de una capa no se realiza actualización alguna.
Tanto en este último caso como en el caso de seleccionar Cancelar en la ventana del esquema de actualización, puede ser que en un momento dado el usuario sí desee recalcular todas las capas derivadas de una dada. Para ello, puede siempre hacer clic con el botón derecho sobre la capa en cuestión y seleccionar Actualizar enlace dinámico. De este modo se accede a la ventana del esquema de actualización de la capa seleccionada.


Es importante reseñar que ésta es una funcionalidad en desarrollo, y que aún no posee algunos elementos necesarios para ser aprovechada al máximo, tales como la persistencia de los enlaces al cerrar gvSIG. Actualmente, si se abandona la sesión estos datos se pierden, ya que no se almacenan en el proyecto gvSIG. En un futuro esperamos que estas capacidades se integren dentro del núcleo gvSIG en la medida de lo posible, logrando una funcionalidad más práctica y potente.

----------

Pues eso, una funcionalidad nueva que puede probarse, aunque esta lejos de ser realmente potente, pero que como idea creo que puede dar mucho juego y ser algo muy interesante.

jueves, mayo 01, 2008

Con usuarios como estos...

No hay nada mejor que ver cómo un usuario te da una sorpresa agradable.

El servidor de la universidad está muerto desde hace unos días (para variar), y no pueden bajarse los binarios de SEXTANTE, así que estoy pensando en mover todo a los servicios de google code, excepto las versiones diarias, que hasta que no reviva el servidor de la UNEX tendré que prescindir de ellas temporalmente. Andaba yo mirando por mi pagina de google code, y he pensado que ya que estoy en ello podría intentar sacarle más partido a todas las cosas que ofrece, como el wiki o el servicio para informar de bugs. En su día puse un wiki donde los usuarios podían poner nuevas ideas, pero no me convencia mucho, así que ni lo comenté a nadie. Pero, para sorpresa mía, hay gente que ha dejado ideas en ese wiki (muy buenas, por cierto), e incluso gente que ha añadido algún bug en la sección correspondiente (que ya he solucionado...). Qué gran satisfacción me he llevado.

Viendo que la cosa parece funcionar, y encantado por descubrir que hay usuarios de SEXTANTE tan activos, voy a impulsar el uso de estas páginas a través de la creación de una nueva página en nuestra web desde la que se enlace a este wiki, al sistema de informe de bugs o a las listas de gvSIG donde se habla también de SEXTANTE, para así dar a los usuarios (que viendo cómo se portan, se lo merecen sin duda) todas posibilidades de las que disponemos en el proyecto.

Un saludo a todos, y especialmente a todos los que colaborais y haceis que desarrollar SEXTANTE sea para mí una experiencia tan agradable.

sábado, abril 26, 2008

Una de libros

Aprovechando que ha sido el dia del libro hace poco y que los chicos de geomatic blog también hicieron una entrada sobre libros, voy a escribir un poco sobre literatura, principalmente relacionada con SIG, aunque no exclusivamente. No es una entrada típica de este blog, pero ahora que no hay muchas novedades sobre el programa y tengo tiempo de sobra, al menos mantengo la frecuencia habitual para que no decaiga la actividad ;-)

Dos libros que creo que ayudarán a cualquiera a convertirse en un mejor usuario de SIG en general (y de SEXTANTE en particular) son los siguientes
  • Geospatial analysis de M.J. de Smith, M.F. Goodchild y P.A. Longley. Lo comenté en una respuesta a un comentario en este blog hace algún tiempo. El libro no es tampoco para morirse, pero básicamente es lo único que hay en el mercado si quieres una obra que cubra todo el campo del análisis geográfico con cierta profundidad. Útil para entender lo que hace cada extensión de SEXTANTE.
  • GIS:A computing perspective de Michael Worboys y Matt Duckham. Cuando lo compré, no esperaba gran cosa de este libro, pero me sorprendió completamente. Interesante para desarrolladores y para todo aquel que quiera saber más sobre cómo funcionan las "tripas" de un SIG, pero también para quienes son usuarios pero quieren comprender mejor los fundamentos de un SIG más allá de saber darle al botón. Muy recomendable.
Aunque no tiene (casi) nada que ver con SIG un libro que me encanta y es probable que guste a usuarios de SEXTANTE con ciertas inquietudes es The computational beauty of nature de Gary William Flake. Un pelín friki, con escaso contenido de tipo "geo-algo", pero divertido y apasionante como pocos. La maquetación en LaTeX es deliciosamente elegante.

Y por último, los libros que ando leyendo ahora, que no tienen demasiada relación con SIG (uno de ellos quizás un poco), pero aprovecho para comentarlos (y recomendarlos), que me están gustando bastante:

Y ya que estamos hablando de libros, aprovecho para anunciar que Springer ha aceptado la propuesta del libro que Helena Mitasova, Markus Neteler, Tyler Mitchell y yo vamos a escribir, cuyo título andamos discutiendo aún, pero que probablemente sea Handbook of Geospatial Technology: Analysis, Modeling & Visualization. Gran noticia, sin duda...y otro proyecto más en el que me meto. Espero no tener que sacrificar tiempo de otras actividades como el libro libre de SIG en español, al que un día de estos probablemente dedicaré una entrada aquí mismo.

miércoles, abril 23, 2008

Algunos comentarios

Estoy de baja ya desde hace una semana (una bonita operación de cataratas...), y estaré dos semanas más, con lo cual en este tiempo el desarrollo de SEXTANTE sera practicamente nulo. No obstante, puedo utilizar el ordenador un poco cada día para leer correos y esas cosas, así que puedo seguir poniendo cosas en el blog para mantener el interés de la comunidad de usuarios de SEXTANTE con algunos chascarrillos ;-)

Como no hay nada nuevo en temas de desarrollo, voy a aprovechar estos días para escribir algunas reflexiones y cosillas sueltas, que también creo que son interesantes. Iba a contestar a los comentarios de la última entrada, pero lo voy a hacer directamente aquí para que lo lea todo el mundo, ya que pueden ser de utilidad. Ahí van algunas ideas sobre dos temas citados: la ayuda de SEXTANTE y la colaboración de la comunidad cuando se detecte algún bug.

Respecto a la ayuda (me alegro, Agustín, de que te sea útil y te guste, aunque tú ya eras un usuario avanzado antes de que la sacaramos...no hay nada como investigar uno mismo), es aún algo sin acabar, tanto a nivel de detalle y desarrollo, como de capacidades del gestor de ayuda. Me gustaría profundizar mucho más en cada extensión, recopilando enlaces como bien comenta Jorge, o ejemplos o comentarios extensos al respecto. Además, hay módulos que ni siquiera tienen aún documentación. En lugar de enfocarlo ahora como una tarea concreta que hay que realizar para obtener un resultado en una fecha dada (nos interesaba tener una ayuda más o menos desarrollada antes de sacar una nueva versión estable), ahora lo plantearemos como algo que vamos a ir mejorando poco a poco. Cuando yo tenga un hueco, añadiré más detalles técnicos sobre los algoritmos o la forma de usar una extensión. Y cuando Antonio haga algun ejemplo interesante al testear un módulo, puede añadirse a la ayuda de éste. Así, iremos mejorando poco a poco, y essa mejoras ademas se iran reflejando en las versiones diarias inestables.

Al gestor de ayuda hay que añadirle herramientas que generen manuales a partir del arbol de ficheros. Es decir, que coja todas las ayudas, las estructure adecuadamente, y genere un pdf con los conceptos básicos de SEXTANTE y las ayudas de las extensiones ordenadas por grupos y convenientemente maquetadas. Esto no debería ser muy dificil...pero aún no me he puesto a hacerlo.

Un elemento de la ayuda novedoso van a ser los videos. Tengo ya grabadas casi dos horas de videotutoriales, aunque voy a rehacer una parte para que reflejen las novedades de SEXTANTE que he introducido recientemente. Antonio, por su parte, está ahora mismo creando nuevos videos sobre extensiones particulares. Los pondremos en la web en breve, y probablemente se incluya en la ayuda un enlace a estos videos cuando corresponda. Es algo novedoso, y creo que muy util. Además, es cómodo de hacer, más rápido que teclear largos textos, y más interactivo.

El otro tema interesante del comentario de Agustín es cómo informar de un error. Para todo aquel que quiera hacerlo, por el momento la mejor forma es simplemente mandarme un correo con una descripción y, a ser posible, las capas con las que da ese error. Así he corregido ya unos cuantos bugs mandados por usuarios (con el propio Agustín a la cabeza, aprovecho desde aquí para agradecerle una vez más, y ya de paso pedirle esas capas con las que falla el proceso de juntar capas...), y dado que el volumen no es muy alto, creo que por ahora no es mala forma de proceder.

Espero que estos comentario sean de ayuda, y doy las gracias una vez más a toda la comunidad de usuarios de SEXTANTE, que va creciendo poco a poco y nos ayuda continuamente a mejorar el programa.

viernes, abril 11, 2008

Nueva version y nueva web

Poquito a poco vamos avanzando hacia un mejor SEXTANTE, y ayer dimos un paso grande.

He subido una nueva versión estable que ya incorpora la ayuda contextual XML y todas las novedades que vengo comentando en las últimas entradas del blog (aparte de algunas como el nuevo gestor de resultados, que no me ha dado tiempo a comentar aquí). Además de esto, he renovado la página web para añadir algo más de "chicha" y darle un aspecto mejor (con las limitaciones que mis nulas capacidades diseñadoras me imponen), así que ahora podréis encontrar algunas cosas más.

La ayuda ya no es independiente, y va junto con el programa, tanto en la versión estable como la inestable, así que la versión inestable, además de incluir novedades funcionales, a partir de ahora incorporará también las mejoras que se vayan haciendo a la ayuda, que todavía pueden ser muchas, porque se trata de una documentación muy parca aún. El tamaño final del archivo es de unos 8 megas, pero en los tiempos que corren creo que sigue siendo un tamaño pequeño, y con ayuda y todo seguimos manteniendo un SEXTANTE relativamente compacto.

Tengo más ideas para la web, pero por ahora es un avance. Se agradecen comentarios y críticas al respecto ;-)

jueves, abril 10, 2008

Articulo para el OSGeo Journal y algo más

Tyler Mitchell me ha pedido que escriba un artículo sobre SEXTANTE para el OSGeo Journal, y como la propuesta me parecer realmente interesante (y una ocasión inmejorable para dar a conocer el programa), me he puesto manos a la obra y el artículo ya está más o menos acabado.

Los que querais echarle un vistazo (se agradecen los comentarios...) podeis encontrarlo en el SVN de documentos, sobre el cual ya escribí en el último post.

Respecto a este SVN, decir además que ya están subidos los ficheros XML de ayuda contextual, que serán los que acompañen al programa en su próxima versión, en lugar de los archivos HTML actuales.

Otro cambio respecto a la ayuda es que ahora la ayuda correspondiente a los elementos de SEXTANTE (modelizador, gestor de extensiones, etc.) se incorpora al mismo gestor de ayuda que la correspondiente a las extensiones. De esta forma, el manejo de toda la ayuda es más homogéneo.

He actualizado los ficheros de ayuda de los elementos de SEXTANTE, que ahora no se mantienen por separado, sino que se obtienen directamente del librito el LaTeX que tenemos en la web, utilizando latex2html. Eso en el caso de la ayuda en español, ya que ese libro aún no existe en inglés, aunque es una buena razón para que lo traduzcamos ;-)

jueves, marzo 27, 2008

Más SVN

Esto de crear repositorios SVN es un vicio ;-) A lo ya existentes para el codigo de SEXTANTE y las contribuciones de terceros, ahora tenemos también en un SVN abierto toda la documentación. Bueno, por el momento sólo están las fuentes en LaTeX de los tres pequeños manuales que hemos redactado, aunque también se pondrán mas adelante todos los ficheros correspondientes a la ayuda contextual.

La razón para que no esté aún esta ayuda es porque estamos cambiándola radicalmente, y los ficheros HTML van a ser sustituidos por archivos XML que van a dar mucho más juego, ya que va a ser una ayuda con mucha más semántica. Además, el usuario podrá incluso editar los ficheros a voluntad desde el propio gvSIG, y utilizar estas funcionalidades para desarrollar la ayuda de sus modelos, entre otras cosas.

Los que uséis la versión inestable probablemente ya os hayáis dado cuenta de que la ayuda no funciona en esta versión desde hace tiempo, porque el sistema ya está preparado para la nueva ayuda. Estamos en proceso de reescribirla, y pronto estará disponible en el SVN y probablemente se incluya en la próxima versión de SEXTANTE en un todo, no como hasta ahora.

También tenemos pensado integrarnos de la mejor forma posible con la documentación de gvSIG y lo que están montando para gestionarla, así que seguro que el publicar nuestra ayuda y el resto de contenidos en este nuevo repositorio será útil para ambas partes.

miércoles, marzo 26, 2008

Geoprocesos

Los geoprocesos llevan ahí en gvSIG desde hace unas cuantas versiones y son uno de los componentes más utilizados del programa. Por su estructura y funcionalidad, son perfectos para implementarse como una extensión más de SEXTANTE. Sin embargo, nunca había considerado esa posibilidad, ya que no existiría mucha diferencia entre ejecutarlos de la forma habitual, o bien desde el gestor de extensiones de SEXTANTE.

Ahora, no obstante, las cosas han cambiado: ahora tenemos procesos por lotes, modelos y línea de comandos, y convertir los geoprocesos en extensiones de SEXTANTE haría que estos fuesen más versátiles y pudieran usarse en más contextos distintos. Así que me he puesto manos a la obra y estoy incorporando nuevas extensiones con las funciones de estos geoprocesos, y por ahora llevo tres: juntar, buffer y recortar (tres facilitos...)

La estructura de la base sobre la que los geoprocesos se asientan y la de SEXTANTE son bastante diferentes, y la filosofía también es distinta, por lo que la adaptación no es muy sencilla. De hecho, es casi más sencillo hacerlas desde cero que coger fragmentos de código, así que voy alternando entre ambas formas de trabajo.

Los interesados pueden ir probando en la versión inestable esos tres geoprocesos que ya están listos. No sé a que ritmo voy a ir implementando los restantes, porque hay más cosas que hacer (iré poniendo las novedades en nuevas entradas, que todavía me falta contar unas cuantas...), pero por el momento están ahí y espero que a los mas aventureros les permitan hacer cosas nuevas con gvSIG.

miércoles, marzo 19, 2008

Adios a las ventanas activas

Aunque no es estrictamente necesario, la mayoría de las extensiones de SEXTANTE trabajan con algún tipo de capa, y por lo tanto, necesitan depender de una vista, pues es en éstas en las que se almacenan las capas en gvSIG. Para ello, los elementos de SEXTANTE se quedaban con la referencia de la ventana que estuviera activa en el momento de lanzar cada uno de ellos, y era de esta ventana activa de la que se alimentaban. Esto provocaba que muchos usuarios se perdieran un poco al principio, y que otros que ya se sabían el funcionamiento lo encontraran poco práctico (había que cerrar y lanzar de nuevo el gestor de extensiones si se quería trabajar con otra vista)

Para darle más flexibilidad, he modificado la forma en que SEXTANTE accede a los distintos datos, y ahora el programa tiene una visión global del proyecto, de forma que ya no existe esa referencia a la última ventana activa y no hay que preocuparse de nada más que de emplear cada extensión o cada funcionalidad de SEXTANTE de la forma adecuada. Aquí os pongo las ideas principales de este cambio, y la forma en que repercute sobre todos los elementos de SEXTANTE (que no es tan obvio como puede parecer en un principio).

  1. (el breikindance). Al llamar a una extensión desde el gestor de extensiones, las opciones que aparecen al seleccionar capas (sean raster o vectoriales) son todas las disponibles en todas las vistas existentes, estén o no abiertas. Para cada capa, se indica de qué vista proviene. Esto implica que pueden utilizarse capas de varias vistas a la vez, en caso de que la extensión requiera más de una.
  2. (el crusaito). La vista en la que se añaden los resultados se elije como un parámetro más. Para hacer esto lo más cómodo posible, la opción por defecto las pone en la misma vista que la primera capa de entrada. De este modo, y para tener un comportamiento igual que el de antes de introducir esta modificación, lo más normal es no tener que tocar para nada la configuración de ese parámetro. Si se desea, no obstante, puede especificarse una vista de destino concreta, o bien crear una nueva. En la linea de comandos, el comando activeview es ahora outputview, para que tenga más sentido.
  3. (el maiquelyason). Otros elementos como por ejemplo la selección interactiva de puntos también han cambiado. Ahora todas las vistas abiertas responden a la selección de un punto, y las coordenadas se pueden tomar de cualquiera de ellas. Igualmente, la selección de una extensión de vista para la salida raster ahora es mas rica, porque es necesario elegir una de las vistas (en este caso, de las vistas que estén abiertas).
  4. (el robocop). La linea de comandos plantea algún problema, como por ejemplo el hecho de que existan dos capas con el mismo nombre en dos vistas (esto también existía antes si había dos con el mismo nombre en la vista activa). Para desambiguar se puede usar el símbolo de arroba, de la forma mdt25.asc@Vista_1.
En general creo que este cambio es beneficioso y facilitará el uso de SEXTANTE, aunque queda todavía testeo que hacer, y seguro que aparece alguna situación en la que esta nueva filosofía plantee algún problema en el que aún no he caído. Iré resolviendo los fallos a medida que vayan saliendo. Por ahora, lo primero es actualizar la documentación para reflejar todo esto...

lunes, marzo 17, 2008

Avda del Sextante (II)

El otro día estuvo por aquí Luis Sevilla (gvSIG) para una reunión con la gente de la Junta, y le llevamos a ver nuestra fantastica avenida allí en Mérida. Aprovechando la ocasión, hicimos algunas fotos en tan señalada rúe. Las acabo de sacar de la cámara, y aquí os pongo la del bonito mosaico que indica su nombre (hay otras en las que salimos nosotros...pero salimos un poco feos :-) ), para que la disfruteis. Me gusta tanto, que estoy incluso pensando en usarla como splash al arrancar el programa. Estaría chulo, ¿no?. :-P

sábado, marzo 15, 2008

Balada en SIG menor.

El comentario de la anterior entrada sobre mi charla con Tyler me viene al pelo para contar algo más sobre un asunto que me parece curioso y divertido: la buena relación que parece existir entre el SIG y la música, y la afición que los desarrolladores SIG parecen tener a esto de tocar cuerdas o soplar por un tubito para hacer ruidos melodiosos.

El caso es que hace algún tiempo me invitaron a participar como profesor en un curso sobre geoestadísica y SIG, en Portici (Nápoles), al que acudían gentes de todas partes de Europa, entre ellos 3 españoles (con uno de los cuales, por cierto, me encontré en Girona, demostrando que el mundo es un pañuelo). Yo me encargaba de dar la parte de análisis del terreno, y ésta se relacionaba despues con la parte de geoestadística, que era impartida por nada más y nada menos que Edzer Pebesma (para los que no le conozcais, es EL gurú de la materia, y autor del bien conocido software gstats, ademas de ser un ultra friki de esa cosa insondable llamada R para análisis estadísticos y similares). El inimitable Tomislav Hengl orquestaba el curso, y se encargaba de poner la salsa a la mezcla y de redactar a posteriori resúmenes de lo ocurrido.

Además de la organización del evento científico, Tom es un tipo activo que sabe organizar todo tipo de saraos, incluyendo conciertos y actuaciones improvisadas, así que obligó a Edzer a llevar su saxo tenor, y juntos Edzer y yo dimos un concierto en un garito de la ciudad a cambio de algunas cervezas gratis, para sorpresa de los presentes. La guitarra que yo usé me la dejaron de la banda del lugar, aunque el dueño al principio estaba algo reticente (yo también lo estaría), hasta que comprobó que yo la trataba bien y que no era la primera vez que cogía una. Edzer es un saxofonista con una base sólida de jazz y algunas frases realmente elaboradas, y la verdad es que nos entendimos perfectamente.

Al día siguiente Edzer tuvo que irse, pero yo volví al lugar y el gerente, que debía haber quedado contento de la noche anterior, me dijo que si no me importaba unirme a la banda que tocaba esa noche y deleitar al respetable otra vez más. Por supuesto, acepté gustoso, previa entrega de la preceptiva ronda de birras frías que me correspondía en calidad de artista ;-)

Hoy me ha llegado un email de Edzer diciéndome que va a estar en Friburgo en el congreso sobre SIG libre que se celebra del 1 al 3 de abril, que ha visto que yo tengo que dar un taller allí, y que si quedamos para tocar aprovechando la ocasión. Por supuesto, le he respondido que sin duda lleve el saxo, que yo esta vez llevaré mi guitarra flamenca y así podremos intentar algo diferente.

Puede parecer que el hecho de que Edzer y yo toquemos algún instrumento es una mera coincidencia, pero hay mas coincidencias similares. Olaf Conrad, autor de SAGA y para mí un gurú similar a Edzer en temas de análisis espacial, es también un buen saxofonista, un relativamente buen trompetista y toca algo de guitarra. En el mes que pasé con él en Goettingen tuvimos la ocasión de tocar juntos varias veces (yo me llevé mi guitarra de jazz esa vez), e incluso participe en unos cuantos ensayos con su banda de entonces, The Dog Eating Men. (curiosas iniciales, por cierto, para un grupo donde toca un tio que hace el 90% de su trabajo con modelos del terreno...). Parece que, de los desarrolladores SIG que voy conociendo, una parte importante toca algún instrumento, especialmente saxofón. Dios los cría...y ellos se juntan.

La verdad es que ayuda mucho poder trabajar con alguien con quien compartes algo más que un interés laboral, y la música es un elemento inmejorable para afianzar cualquier tipo de relación, incluyendo la de dos tipos que se dedican a picar código o pasarse el día dándole vueltas a nuevos algoritmos de análisis espacial.

Desgraciadamente, Olaf no acudirá a Friburgo, porque sería genial poder juntarnos los tres e improvisar algunos temas. Incluso podría llevarme mi saxo alto y junto con sus dos tenores hacer alguna cosa curiosa. En fin, para otra ocasión.

jueves, marzo 06, 2008

May the FOSS be with you

Hace ya unos días que llegué de las II Jornadas de SIG Libre de Girona, y no he tenido mucho tiempo de escribir nada. Es la una de la madrugada y mañana por la mañana me toca coger el coche y subir de nuevo hacia el norte para tomarme una semana de vacaciones esquiando, así que tampoco ando muy sobrado de tiempo, por lo que no voy a añadir mucho. A la vuelta ya escribiré largo y tendido, que tengo cantidad de cosas que contar (las jornadas han sido lo mejor de lo mejor en mucho tiempo...) y nuevas cosas que he añadido a SEXTANTE en estos días. No obstante, no me quería ir sin poner unas palabritas, porque creo que la gente del SIGTE (con Lluis Vicens a la cabeza) se lo merecen por el increíble trabajo que han hecho.

Esta vez no me ha tocado dar charla, sino sólo un taller el primer día, y la verdad es que se agradece poder estar por ahí relajado sin tener que contar nada ;-) El taller salió perfecto y la gente creo que quedó muy contenta. En realidad, ha sido la primera ocasión en la que he presentado todo SEXTANTE al completo, repasando elemento a elemento ahora que están todos suficientemente desarrollados, y el resultado no podría haber sido mejor. Publico contento y yo también. No se puede pedir más. Además, el duo pseudo-cómico Anguix-Olaya es un clásico que nunca falla :-P

Han sido para mí unas jornadas de mucha comunicación, donde sobre todo he contado muchas cosas , y me han contado otras tantas, la mayoría de ellas muy interesantes. Si tengo que elegir una, me quedo con la inesperada charla sobre jazz que tuve en la cena cuando descubrí que había alguien en las jornadas que tocaba un instrumento tan minoritario como es el clarinete bajo. Increíble. Y es que no solo de SIG vive el hombre, y menos cuando uno toca el saxo... ;-)

Lo dicho, que un sobresaliente para la organización, que no merece recibir sino elogios, y para los asistentes, que también aportaron su grano (gordo) de arena para hacer que todo fuera tan ideal.

Ah, por cierto, el clarinetista en cuestión era Tyler Mitchell :-P

viernes, febrero 22, 2008

Algunas cositas nuevas

Ahí va un resumen de las cosas nuevas con las que cuenta SEXTANTE después de esta última semana, para aquellos que puedan tener interés.
  • La linea de comandos funciona como calculadora. Esto ya lo mencione en otra entrada y, como lo prometido es deuda, ya está implementado. Ahora en la línea de comandos se puede meter directamente una expresión como "mdt * 2 + 25" y, si existe una capa raster llamada "mdt", se crea una nueva con esa expresión. Lo que hace realmente es convertir esa en una expresión más compleja que llama a la extensión de la calculadora. si la expresión es solo numérica (como, por ejemplo "5 * sqrt(6) "), simplemente se devuelve el resultado de la operación en la consola.
  • Se puede variar el tamaño de letra en la línea de comandos. Básicamente, esto lo he hecho para que sea más fácil dar el curso de Girona sin que los alumnos se dejen los ojos mirando a las letrillas que salen del cañón ;-) .
  • El modelizador maneja salidas que son entradas modificadas. Hay extensiones de SEXTANTE que no generan algo nuevo sino que modifican algo existente. Éste es el caso de las extensiones de selección, por ejemplo (y es probable que muchas de las vectoriales sean de este tipo en un futuro...) Antes no se podían utilizar en el modelizador, porque en la cadena de procesos no se identificaba cuándo un proceso debía ejecutarse antes que otro. Al utilizar dos procesos la misma capa (aunque uno de ellos la altere), no se detectaba la dependencia. He hecho un cambio en la estructura y ahora este tipo de extensiones se integran sin problemas.
  • Se pueden modificar los grupos. Harto de que todo el mundo diga que no sabe donde encontrar una extensión dada, que es fácil perderse y que tal extensión estaría mejor en tal grupo, he añadido la posibilidad de que cada usuario ponga las extensiones en el grupo que desee (tanto de los existentes como de nuevos que se pueden crear). Es más, incluso en la pestaña que desee (que por defecto solo hay una llamada SEXTANTE, pero pueden crearse tantas como se quiera). Así que ahora, que cada cual se lo monte como más le guste.
A estas novedades hay que sumar una grande: hay versión nueva publicada y un primer paquete de ficheros de ayuda contextual. Eso, como requiere más detalles, lo dejo para otra entrada que escribiré dentro de un rato ;-)