Blog

Vídeo del geoportal de tursimo de la Comunitat Valenciana

Un pequeño post para mostrar el vídeo que se han currado en la Agencia de Turismo de la Comunitat Valenciana para explicar al sector turístico en qué consiste el nuevo Geoportal de la web principal de turismo de la Comunidad Valenciana, realizado en esta casa.

Es una presentación puramente de usuario, no se explican por tanto detalles técnicos que estaría bien comentar más adelante. Creo que pueden ser una buena muestra de la utilización de diferentes técnicas y componentes para lograr un producto bien acabado, con mucha funcionalidad y orientado a tanto a equipos convencionales como a teléfonos móviles.

Pantallazo del víde del geoportal

DrupalCamp 2011

Este fin de semana pasado asistí a la DrupalCamp cerrando mi ronda post-vacacional de saraos y congresos, el cuarto en un mes, ya va bien. El caso es que el viernes en un avión que como alguien dijo, bien podría haberse llamado el DrupalJet, 11 drupaleros volaron a Sevilla, aunque algunos más estarían por llegar en las horas siguientes desde tierras valencianas. En total asistimos al evento unas 300 personas, creo que superando por poco el evento del año pasado, lo cual dada la situación económica actual no está nada mal. Corrijo: Pedro Cambra acaba de confirmar que el año pasado fueron 375 asistentes. Supongo que ayudó dos cosas: el precio del evento continuó siendo casi simbólico y la organización trabajó bien el tema del alojamiento consiguiendo un buen precio para alojarse en un buen hotel cercano a la sede. De esto último hablaré más tarde.

Respecto al congreso como tal, se organizó en dos días, con tres o cuatro tracks de sesiones de 45 minutos, dejando los 15 restantes para preguntas y cambio de conferenciante y que el público pudiera cambiarse de sala. La sede fue la escuela de informática de la Universidad de Sevilla, que como en todos y cada uno de los congresos a los que he asistido en universidades, puso las cosas difíciles a público, organización y conferenciantes para conectarse a la red. Las salas eran tres aulas y un cómodo auditorio, perfectos. Tal vez el único pero a la sede fue el espacio para las comidas, realmente estrecho para poder comer y charlar cómodamente, pero bueno, me parece un detalle menor.

IMG_2329
Sala CENATIC. Autor Pedro León

En cuanto a las charlas, bien realmente mi nivel en drupal es digamos de usuario avanzado con conocimientos de cómo funciona el desarrollo de módulos en drupal (gracias a las sesiones de Drupal Valencia) por lo que casi cualquier cosa que me contaran me iba a gustar. Asistí a sesiones sobre temas geo, sobre migración de contenidos, sobre delegación de búsquedas en Apache Solr, sobre la gestión de la colaboración en el proyecto, sobre la reciente creación de la Asociación Española de Drupal (y me asocié) y algún tema más. Realmente he aprendido bastante, he notado bastante madurez en los contenidos respecto al año pasado y sobre todo, gracias a ser ya miembro de una pequeña comunidad y no un visitante despistado, he disfrutado mucho más del evento. 

El hecho de conseguir que una buena parte de los asistentes se encuentren alojados en un número reducido de sitios ayuda mucho a que la gente disfrute del evento mucho más. Esto es algo que por ejemplo yo acusé bastante en el FOSS4G del año pasado y que en este ha funcionado mucho mejor. Me gustan los congresos donde la gente interactúa más allá del fin de las sesiones del día, donde uno está de congreso casi las 24 horas del día, aprendiendo, comentando y disfrutando de lo más importante del congreso: los asistentes.

 

DSC_0013
Embolsando, soy el de verde de espaldas, todavía no sé muy bien como acabé ayudando :-). Autor: Pedro Cambra

Un tema que me resultó raro es el formato de las sesiones, no sé, tras la experiencia reciente de los lightning talks de los congresos de OSM y OSGeo, creo que el formato es realmente bueno para transmitir cierto tipo de mensaje, de forma muy ágil y dinámica, haciendo que se te pase el tiempo volando, dejando los contenidos más profundos para sesiones de hora y media o dos horas enfocadas a conseguir que la gente salga con un conocimiento práctico de algo. Tal vez sea que las DrupalCamps «son así» y que en otros eventos sea de otra forma. Drupal es un proyecto maduro en el que tienen tipos de eventos diferentes, pero a mí este formato me cansa bastante, se hace largo pegarse apenas 6 sesiones así, cuando en otros congresos unu puede ver el doble de sesiones.

En fin, por ir cerrando esta especie de resumen, tan poco técnico que me ha salido. Me interesa Drupal desde hace mucho tiempo, primero por ser un estupendo CMS y ahora ya un verdadero framework de creación de aplicaciones web, pero desde el último año me interesa casi igual por cómo funciona su comunidad, cómo se organiza y cómo los diferentes grupos de nivel local, nacional e internacional interactúan entre ellos.

No sé dónde será la DrupalCamp del año que viene pero espero poder ir, ni cómo evolucionará el grupo de Valencia en el que participo, pero seguro que nos lo vamos a pasar bien.

IMG_2429
Foto de grupo de la DrupalCamp de este año. Autor Pedro León

Notes from the SotM and FOSS4G

Well I'm at office and I imagine is a good time to try to recap my experience at SotM and FOSS4G events.I arrived at Denver on September 8, the day before SotM started and just a few minutes after I checked in at the hotel I met César Medina, a good friend from Chile with I was lucky to spent the next days, as I travelled alone this time from Spain.

The State of the Map is the main annual conference of the OpenStreetMap project. There, people from very different backgrounds show their new projects or experiences around the OpenStreetMap data and technology. 

I attended the "business session" but was in fact a mixed session of companies showing their products with another session more education focused. We had also a nice session by Daniel Kastl (Georepublic) about the issues at Japan about geocoding because of the different ways to express addresses. At the afternoon we went to a baseball game, less boring than I expected, indeed (thanks to some beers and so good company). 

Coors Field

My second day at SotM was mostly dedicated to attending the lightning talks. I really enjoyed them and I think is a very good format for this kind of conferences, having just 10 minutes to tell your story is great to enforce people to focus on the important stuff they want to tell. I imagine a conference full of lightning talks with some time for demos and more time to discuss openly, it would be more interesting for attendants, isn't it?

I wasn't able to attend the last day a I was at the OpenGeo first partner meeting where we discussed about OpenGeo suite and how to find the way to convince to our customers to adopt free software supported by professional services.

During Talks at SotM11

And then the FOSS4G. I won't surprise anyone saying that for me it is the best geospatial conference of the year by many reasons. The first is because I can meet friends and highly skilled experts from all parts of the world. An then you have an amazing program full of workshops, tutorials and sessions. It's really difficult to choose what to see: should I go to this new node.js thing or go the always great FrankW session about fine tuning GDAL, or should I go to see what this GeoMoose is all about?

DSC_7178

Technically speaking, the buzz words in my opinion maybe were

  • PostGIS 2, we will be 10cm higher with all the new features are coming
  • node.js and server side scripting in general, javascript behind your servers, can you imagine that 5 years ago?
  • WPS, finally that standard seem to be mainstream, probably helped by the scripting features before mentioned
  • 3D globes, mainly with WebGL related sessions, but also with the nice presentations by our friends from igo software and La Laguna university

Regarding the exhibitors, well I really didn't gave a lot of attention to them, except a little bit of staying around the OSGeo booth (less than I should in fact).

DSC_7422

And finally the social events, well I only went to the gala dinner that was fine and on a nice place, the Denver Modern Art Museum where we visited an exhibition of western paintings while chatting on geo-geekery. There were also a reception and a lot of beers and night partying but I was quite busy and tired so I didn't did a lot of "social networking" at night.

In fact there was another kind of social event, well it was in a session, but Geoglobaldomination The Musical probably was a mix of both. Set up by Iván Sánchez, co-starring with Schuyler Erle and Kate Chapman with Jeff McKenna as an special guest, we had all a lot of fun with their performance. You should check it and judge by yourself.

DSC_7714

Even travelling alone from Spain, I enjoyed this FOSS4G as all the previous I have had the luck to go. It's always a great conference to learn and share all the new projects and experiences from the last year, as well as meet the good fellows from OSGeo, all the other projects and companies. The feeling of participating on a big great community is strong, even when the event has evolved from Lausanne and the variety of people backgrounds is increasing.

Next year FOSS4G will be at Beijing, I can't say if I'll be there but for sure someone from Prodevelop will attend.

 

Contra el vicio de pedir, la virtud de no dar

Hace relativamente poco vi por primera vez este mensaje en gvSIG, al intentar poner en edición una capa vectorial reproyectada al vuelo:



Si uno lo piensa, se da cuenta de que nunca o casi nunca puede tener sentido poner en edición una capa cuyo SRS en origen es diferente al de la vista. La edición es algo parecido a la cirugía. No tiene sentido afinar a mano la posición de los vértices para después reproyectar a otro SRS, cuando sabemos que esta reproyección va a introducir errores casi con toda seguridad. Por otro lado, el implementar la edición y la reproyección simultáneas, aunque pueda parecer sencillo, nos lleva a dificultades inesperadas: ¿qué pasa si se trata de una reproyección con parámetros especiales o con rejilla? ¿sabremos siempre calcular esa reproyección inversa? ¿es posible que la reproyección inversa sea más imprecisa que la reproyección directa original? etc. Al final, estamos dedicando recursos a intentar resolver un problema al cual no deberíamos haber llegado. Como dice el diálogo, lo razonable es reproyectar primero la capa y editarla después, o viceversa.

Edición de capas gigantes

Otro caso quizá no tan claro es el permitir que se ponga en edición una capa con varios cientos de miles de geometrías. Hay dos casos mucho más comunes que el resto: editar un shapefile gigante (que es relativamente factible, salvo casos verdaderamente extremos) o bien editar una capa GeoBD gigante (generalmente PostGIS u Oracle Spatial).

Este segundo caso sí da problemas graves en un número no pequeño de casos, puesto que no es raro tener una base de datos geométrica en la que hay tablas con cientos de miles o incluso millones de registros.

Afortunadamente, el diálogo de creación de capas GeoBD prevé la inserción de restricciones geométricas o alfanuméricas en el momento de añadirlas a nuestra vista, de modo que la capa creada es relativamente ligera en comparación con la tabla enorme en la que se apoya. Esa es, en mi opinión, la vía correcta para editar tablas geométricas gigantes, y hacia ahí hay que procurar reconducir al usuario. Llegado el caso, habría que mostrar al usuario un mensaje que dijera por ejemplo: "No es posible iniciar la edición de esta capa GeoBD porque tiene más de 300.000 registros". El umbral no permitido podría calcularse en el momento, dependiendo por ejemplo de la potencia del PC, o se le podría preguntar a la capa (es decir, al driver) si en la actual situación (número de registros y vértices, velocidad estimada de la red) se considera capaz de aceptar el modo de edición.

¿Una negativa es siempre mala?

Si permitimos que el usuario use opciones en condiciones que nos llevan a procesos larguísimos o muy complejos, nos arriesgamos a que el comportamiento de la aplicación sea substandard, como diría Steve Jobs, es decir, no usable, de modo que el usuario se frustra porque no se da cuenta de que lo que ha pedido implica una cantidad de cálculos inimaginable, y además hay otras vías mucho más adecuadas para conseguir lo mismo. A partir de ese momento, ese usuario va a difundir la idea de que la aplicación no funciona bien, y si por casualidad tiene un blog con unas cuantas visitas al mes, el daño puede ser tremendo.

En cambio, si denegamos la petición (o al menos informamos de que lo que va a hacer es poco recomendable y le ofrecemos una alternativa explicada en un diálogo informativo), estamos evitando esa situación de la que no saldremos bien parados.

Por decirlo (quizá) exageradamente: en el 98% de los casos, el usuario no necesita editar una capa reproyectada al vuelo ni poner en edición un millón de geometrías, y se le puede y debe reconducir a la opción razonable. En el 1% de los casos, se trata de un usuario curioso que prueba casos extremos para ver cómo se las arregla la aplicación, y sólo en el 1% restante se trata de usuarios que realmente necesitan poner en marcha esos procesos tan exigentes, y además han sido capaces de hacerlo antes con algún otro software. En este último caso, se trata objetivamente de una derrota nuestra, pero casi siempre habrá otro motivo por el cual gvSIG es preferible: su licencia GPL, sus muchas otras funcionalidades, el tamaño de la comunidad, etc.

Automatically creating map series with gvSIG EIEL printing module

gvSIG Association has developed for the Deputación Provincial de Pontevedra a new gvSIG extension for generating printable map series in a professional way.

In coordination with Cartolab (*), Prodevelop SL has developed this new gvSIG extension that lets you automatically create series of maps. These are either sent directly to an available printer or stored as PDF files.

After choosing some simple creation options, a new special layer (or grid) is added to your view, where each rectangle represents the extent of the map which will be printed in each single map sheet. This grid can be modified with an ad-hoc fast-editing tool to add, remove and drag the grid's frames:



Then you can tune the map layout in the traditional way, while you preview each sheet with the help of a floating dialog:



Finally, you can choose to send all the sheets to your printer or store them as PDF files in your hard drive:



This extension will work with the upcoming gvSIG 1.12. Visit its web page here for full documentation and downloads.

————

(*) The gvSIG Map Sheets extension (gvSIG EIEL printing module) has been funded by the Deputación de Pontevedra in association with Dirección Xeral de Sostibilidade e Paisaxe de la Consellería de Medio Ambiente, Transporte e Infraestruturas de la Xunta de Galicia to the gvSIG Association.

Mapping the 1957 flood in Valencia with gvSIG

After georeferencing with gvSIG this image from Las Provincias newspaper archives website, and using the transparency options, we can see the areas affected by the historical 1957 flood which triggered the development of the new riverbed which bypasses the city to the south.

(Click on image to enlarge)

Google Summer of Code 2011: Final evaluation

After 4 months of work Google Summer of Code has finished. I'm really happy with the final results. Fernando finally finished all the tasks scheduled and the first tests I've made with the code he has written look promising. After all there's some work left for both of us. While he is going to contribute gvSIG Desktop with the GPX provider and some patches to the GPE library. I'm going to integrate all his work for the next release of gvSIG Mini, so it will be able to load local vector data; a great feature in my opinion.

All the documentation written during this summer can be found at the project wiki. The source code at the Subversion repository. And these are some preview snapshots of the project:

Regarding my own impressions about this summer I have to say I'm really satisfied with the experience. My personal motivation since the beginning was continue working for gvSIG Mini and try to join others to work also for it, so that goal has been fully acomplished. On the other hand, being a mentor there's also a path to learn. During this summer I've learned to teach others in topics that were unknown for them, to manage and track their tasks. I've learned also a bit of Kanban and of course I've coded a lot.

Apart from this, the very real motivation was to give my father the GSoC t-shirt :P

In the end a great experience I hope I could repeat following years.

Preparando el FOSS4G

FOSS4GQueda poco más de una semana para que empiece el combo de eventos geoespaciales del año, en decir, por primera vez se concatenan el congreso anual de OpenStreetMap, conocido como The State of The Map, y el FOSS4G, el congreso nacional de la Fundación OSGeo.

Este año acudiré yo en representación de Prodevelop. En el primer evento no tendremos participación activa al menos a priori porque en estos eventos uno nunca sabe del todo qué se va a encontrar, y en el segundo caso sí que daré tres charlas. En medio además participaré en el encuentro de partners de OpenGeo, presentando a Prodevelop y en general viendo qué tienen pensado en OpenGeo para su OpenGeo Suite para los próximos meses.

El FOSS4G es desde luego mi evento geoespacial favorito por su dimensión, cantidad y calidad de contenidos, por los talleres, por volver a ver a gente con la que no se tiene la oportunidad de conversar en persona en todo el año, y en general por concentrar una alta cantidad de conocimiento y diversión en un muy corto espacio de tiempo. Como se suele decir, viene a ser como hacer un master en poco más de cinco días.

Respecto a las charlas en concreto contaremos:

  • Desarrollos en gvSIG Desktop para acceder a datos raster almacenados en la base de datos Postgres
  • Desarrollo del soporte en gvSIG mini para almacenar, gestionar y visualizar cantidades elevadas de puntos de interés
  • Integración de orígenes heterogéneos de puntos de interés en OpenLayers, concretamente datos provenientes de redes sociales y servicios que exponen APIs con parametrización geográfica.

Queda bastante (todo) por preparar así que se me viene una semanita intensa, de seguro el viaje va a ser muy cansado, pero así y todo la experiencia es siempre reconfortante profesional y personalmente así que de seguro tendré cosas que contar durante el evento (supongo que le daré duro al twitter) y a la vuelta por estos lares.

Ya lo comenté en el blog de OSGeo.es pero lo repito, si lees esto y vas a estar por el FOSS4G y me ves, no dudes en saludarme, aunque no seremos pocos los hispanohablantes por el congreso, escuchar un poco la lengua materna será de agradecer.

A quick GDAL utilities use case

Today I had to perform some raster data management for my colleagues and ended up with a little bit o CLI kung-fu with GDAL utilities. By the way I want to share them also as a reminder for the next time :-) I had a number of Arc/Info ASCII Grid files to convert, merge and finally transform to serve them on a WMS service.

First, convert all of them from agr to tiff (execute it all in one line)

find . -name "*.agr" -exec bash -c 
'file={};i=${file%.*};
 gdal_translate -of GTiff -co "TILED=YES" $file $i.tiff ' \;

Then merge all of them (see the acutes to execute ls and expand the list of files):

gdal_merge.py -o 31.tiff `ls *.tiff`;

And finally an easy transform from UTM31N (ETRS89) to Lat/Lon (ETRS89)

gdalwarp -s_srs EPSG:25831 -t_srs EPSG:4258 31.tiff 4258.tiff

I know this is pretty basic stuff, but not everybody knows how to combine good CLI programs like find to avoid some extra executions.

Google Summer of Code 2011: Mid-term evaluation

The second month passed by and with it the mid-term evaluation. I guess this has been the first time in my life I have had to evaluate someone, so I’ve read a lot about the experience of other mentors in previous years, which are the ‘minimum requirements’ to pass someone, etc. and finally, besides I knew very well both students, I decided to be as objective as I could in the evaluation.

Unfortunately, being objective, I could not pass both of them. Failing a student is always bad news but as someone said once: “a lesson lived is a lesson learned”. When failing someone it’s important for the student to know exactly the reasons, and for the mentor, think about what he/she could have done to help the student. I’ve also talked with org admins to try to find paths to avoid that situation next years.

I’m sure all of us (mentor, student and org admins) have learned something useful :) and I have to thank him for applying. Finally I hope I could mentor him in future years.

On the other hand the gvSIG Mini GPE project is going on very well. The student has finished the support of GPE events and during the second part of the program is planned to develop some Android related tasks: building UI to list features and show details of a single feature. Also we have gained a GPE developer as he is ready to send a patch to the gvSIG tracker, so I’m very happy with this situation.

As for me, I’m taking advantage of this GSoC to refactor the architecture of gvSIG Mini. I’m mavenizing the Android projects and uploading to Maven central some artifacts, so it would be easier building a workspace and manage the different gvSIG Mini based applications.



Finally I’m also trying to refactor the core of gvSIG Mini, as the Android UI and Map components were a bit coupled. That is indeed a big refactor that I'm hoping to have finished by the end of the year.

Distribuir contenido