Blog

Notes from FOSS4G

FOSS4G It's been some days and FOSS4G storm is calming down. This year I've been lucky enough to enjoy a great Maptember experience attending first The State of The Map, then a week for holidays enjoying Great Britain rains, castles and people and finally spend a whole week in Mappingham with all the geofolks.

Regarding the OSM conference, well I'm more an advocate and a casual mapper than an active OSM guy, anyway I enjoyed the conference with lots of good talks with new and old friends and learn a trick or two. The big twohits on this conference were in my opinion about the role of women on the OSM community and the importance of accessibility information on the map, so people with different disabilities can get an useful representation for their needs. Both points make me think OSM community and projects are mature, and raising new necessities far more evolved that just have a nice rendered map of our cities and roads.

And then the FOSS4G conference. When I registered, here at the office we concluded that for this year it would be more productive for me to just attend and do networking (well and some beers) instead of working on talks and slides as I did in Denver. So I thought it would be a relaxed conference and even decided to volunteer as a way to meet more people and help the organization team. Then in August someone convinced me to apply for the OSGeo Board elections and crazily I was elected. So I found myself attending the conference as a volunteer and fresh member of the OSGeo Board of Directors. Personally it's been a great experience, tiring but also rewarding and this is just the start of a lot of work I hope to do for the foundation.

The conference was amazingly well organized. The team was restless, and from the outside the coordination was perfect. The sessions run smoothly (maybe some sessions got more attendants than expected), the parties were funny and entertaining and the venue well distributed and organised (the walk to the second building was a good stretch our legs).

I won't talk about technical highlights, there are lots of good reviews and after thoughts, i.e. Paul RamseySteven FeldmanJo CookAttle Frenvik, etc. If you are looking for resources you will find many many great photos at the FOSS4G Flickr group, an archive of tweets at Eventifier, and most of the slides and materials from workshops will be available at the ELOGeo repository. I highly recommend to take a look on the Map Contest gallery, there are really good works on static and web maps.

I'm looking forward to see some of the most commented talks that for one reason or another I couldn't attend. As with previous FOSS4G conferences, the amount of materials, websites and slides to review is overwhelming. I don't know if I will be able to attend FOSS4G 2014 in Portland, Oregon, but for sure, and at least, I'll do my best to go the new FOSS4G Europe, next summer in Bremen, Germany.

P9190727

Credits to Addy and Barry for the pothos on the Flickr group, mine are too bad to be used here :-)

Under development: copy-pasting features in gvSIG 2.1.0 through the clipboard using WKT

Rápido ejemplo que muestra cómo se pueden copiar/pegar geometrías usando el portapapeles (clipboard) del sistema con el formato WKT. En este caso los campos toman valores por defecto ya que la información proviene de otra aplicación. Esta funcionalidad será descrita con más detalle en futuros artículos. A quick example showing how to copy-paste features by using the clipboard and the WKT format. In this case, attribute values are set to default values because the WKT comes from another application. This functionality will be explained in more detail in future posts.


GeoStore: parametrized creation of vector tiles in JSON/KML format from PostgreSQL/Oracle/MySQL databases

Prodevelop ha desarrollado, en el ámbito del proyecto GEOSTORE, una aplicación para la creación parametrizada de teselas (tiles) vectoriales en formato JSON y KML, a partir de tablas de PostgreSQL, Oracle o MySQL. In the context of the GEOSTORE project, Prodevelop has provided an application to create vector tiles in various formats (KML, JSON) from different databases (Oracle, PostgreSQL, MySQL).
Todos los parámetros que controlan el proceso se encuentran en un archivo .properties en el que se detallan: parámetros de acceso a la BD en la que se encuentran los datos, campos de la tabla a utilizar, nombre del campo geométrico o campos (longitud, latitud) en los que se encuentran las coordenadas asociadas a cada registro; el tipo de BD y el formato de salida, así como otros parámetros para ajustar los métodos de clusterización (agrupación) y división de los datos (teselado). Esta imagen muestra solo los parámetros más importantes: All the parameters involved in the process are set in a properties file: database access parameters, table fields to be used, name of field (if geometry is available) or fields (if longitude and latitude are available) where coordinates are to be found; type of database (currently supports PostgreSQL, Oracle and MySQL); output format (KML or JSON) as well as other parameters which determine how the tiling and clustering processes will work. This image shows only the relevant parameters of a typical properties file:
Aquí puede apreciarse el resultado al acercarse a un mapa en el que se han desplegado los archivos KML generados. Los clusters se expanden a medida que la escala de visualización lo permite: This image illustrates what happens when the user zooms in after the generated KML files have been deployed on a map. Clusters are expanded as zoom scale allows it:
Los archivos forman en disco un árbol de directorios similar al que se usa con las teselas de imágenes (Google Maps, OpenStreetMap, etc): Files are generated in a tree-like structure, similar to the one used by Google Maps or OpenStreetMap for their image tiles:
Esta otra captura de pantalla muestra un ejemplo similar con teselas JSON. En este caso, el cliente web estará probablemente escrito en Javascript: This screenshot shows a similar example using JSON tiles. In this case, the web client will typically be written in Javascript:
Finalmente, este vídeo muestra la creación y el uso de teselas KML desde una tabla Oracle y teselas JSON desde una tabla MySQL: This video shows the creation and use of KML tiles from an Oracle table and JSON tiles from a MySQL table:

Notes about the Open Source Oportunities in GIS Summer School

Last week Alberto Romeu and me had the pleasure to participate at the fourth edition of this summer school organized by the GIS and Remote Sensing department of the University of Girona. This is the very same team that organizes the Spanish FOSS4G (Jornadas de SIG libre) and the Spanish version of the international UNIGIS master.

We did last three days of the summer school, first day on GeoServer, second on OpenLayers and the last one on GeoExt and OpenGeo Suite Client SDK (formerly GXP). On their first two days the students had lectures on Open Source, PostGIS and OGC standards, so the complete summers school offered a great outlook on the publication of geospatial data using standards and Open Source software.

We did also a small lecture on HTML/CSS and JavaScript as many of the students had no experience on development. Furthermore, for many of them it was their first contact with a Linux desktop, as they used OSGeo Livefor all their practical work . They really learned A LOT.

Day 2

Our experience was great, very exhausting, but at the end most of them enjoyed the exercises and results, even with the tight schedule. Being two at the classroom helped a lot, as one was giving the lecture the other was helping the students with their issues, small computer problems, etc. We tried to cover as much as we could and give them open exercises to continue their own self training at their places afterwards. In fact for us is always a key objective of the trainings to give the students tools to continue learning by themselves. Specially on development topics, one needs to go home, grab a big cup of coffee and dive into the materials, experiment on your own and learn by failure. As I told them, we have to get used to failure, debugging a web application is on the most important skills one needs to learn, the sooner one gets into it, the better.

Our materials were almost all entirely based on awesome OpenGeo workshops. We forked their GitHub repo into a new one to remove anything we didn't need and modify the materials to work with the OSGeo Live set up. As all the materials were written with Sphinx, we were able to set up one project on Read The Docs per workshop. Read The Docs is a great hosting for Sphinx based documentation, one can hook the GitHub repo with the service so on every push the docs are regenerated and everything is always updated. Even more, they not only produce the HTML website, but also PDF, ePub and HTML zipped versions so one can use all the materials off-line if needed.

Finally, another cool resource that we used a lot during the three days was a kind of real time sharing page called HackPad. Our Hackpad was updated all time with links, small advices and anything interesting that was appearing over the lessons. In fact one of the students was proactive on helping us with the contents. You'll find all the links to the workshops, slides and resoruces on the hackpad.

Group Photo

Improved Map Sheets plugin for gvSIG 2.0 now available

Se ha publicado el plugin Map Sheets para gvSIG 2.0. Permite generar automáticamente series de mapas para un cierto área de interés. Incluye la mejora de poder rotar el marco asociado a cada hoja durante el ajuste. Pinche para ver imágenes completas y el vídeo: An improved version of the Map Sheets plugin for gvSIG 2.0 has been released. This plugin automatically creates series of maps for a given area of interest. It now allows rotation of frames associated with each sheet by using the adjustment tool. Click to see full sample images and video:
El marco de cada hoja puede rotarse arrastrando y manteniendo pulsada la tecla SHIFT (mayúsculas).
.
Descripción de algunos elementos del mapa final.
.
Vídeo demostrativo

gvSIG 2.0: Checking correctness of symbol and label sizes on printed maps without a printer

Al decidir la anchura o tamaño de puntos, líneas o bordes y el tamaño de las etiquetas, podemos elegir las opciones "tamaño en el mundo" (generalmente metros o kilómetros) y "tamaño en el papel" (generalmente milímetros).

Para comprobar la corrección del resultado sin imprimir el mapa, podemos usar PDFCreator, que funciona como una impresora virtual que genera archivos PDF:
When we decide the width or size of points, borders and lines and the height of labels in a printed map, we can choose the options "size in the world" (usually meters or kilometers) and "size on paper" (usually millimeters).

In order to check the correctness of the result without actually printing it, we can use PDFCreator, which acts as a virtual printer and produces PDF files:


Una vez creado el archivo PDF, debemos graduar el zoom del visualizador de PDFs hasta que el tamaño en pantalla coincida con el tamaño en mundo real: Once we have the resulting PDF file, we can tune the visualization zoom in the PDF viewer until the virtual sheet on screen matches the sheet in the real world, which I have placed on my laptop. Due to small differences in the dot density of monitors (DPI) we need to set the zoom to 92% to get the exact coincidence:


Ahora sabemos que en este visualizador de PDFs el zoom debe ser del 92% para que el tamaño en pantalla sea el del mundo real. Esto será así para cualquier tamaño de página (DIN A4, A3, etc.). Finalmente, podemos colocar una regla directamente sobre la pantalla para comprobar que la simbología y las etiquetas tienen el tamaño adecuado: Now we know that this particular PDF viewer on this particular laptop needs a 92% zoom to show the virtual sheet in its real-world size. That will be true for any page format (DIN A4, A3, etc). Finally, with a real-world ruler we can check that line widths, label heights, etc are as expected:

FOSS4G Buenos Aires

La semana pasada pude asistir al primer FOSS4G Buenos Aires organizado por el grupo de Geoinquietos BsAs de la misma ciudad. A algunos les sonará el acrónimo FOSS4G porque efectivamente así se ha venido llamando a la conferencia internacional que organiza OSGeo desde 2006. En realidad ese nombre ya venía usando desde 2004 y el término sirve para identificar cualquier conferencia relacionada con software libre aplicado a las ciencias de la tierra, no necesariamente a eventos organizados por la fundación, aunque en general hay siempre alguna relación entre el comité organizador y OSGeo. Bien, hace algo más de medio año el grupo de Geoinquietos bonaerense decidió lanzarse a la aventura de organizar un evento sobre geomática libre. Para ello han contado con el apoyo del Instituto Geográfico Nacional de Argentina, así como de algunas asociaciones argentinas relacionadas con la geomática o el software.

Yo participé en este evento invitado por el comité organizador y con el apoyo de Prodevelop por lo que primero debería agradecer a ambos el permitirme pasar unos días en Buenos Aires aprendiendo bastante y contando algo de lo que sé.

El primer día por la mañana impartí un taller de MapProxy que recientemente había dado con Pedro-Juan e Iván en GeoinquietosVLC. Desgraciadamente la gente no contó (como yo esperaba) con el DVD de OSGeo Live y tampoco teníamos muy buena conectividad a Internet así que el taller se convirtió en una larga demostración y discusión del uso de MapProxy en diferentes escenarios y ejercicios. Me hubiera gustado que la gente pudiera practicar allí mismo pero creo que en cualquier caso se hicieron una buena idea del software. Por la tarde cubrí la baja del profesor del taller de GeoServer impartiendo un taller improvisado que aunque con un arranque complicado por tener que configurar este servidor en máquinas de todo tipo, al final los asistentes pudieron seguirme en un repaso general de las principales características de este servidor de mapas y algunas herramientas asociadas al mismo.

En el taller de MapProxy

Ya el miércoles arrancaron las jornadas con las sesiones plenarias de Jeff McKenna (presidente de OSGeo) y un servidor sobre OSGeo en primer lugar y su capítulo local para la comunidad hispanohablante así como qué son los Geoinquietos por mi parte. En OSGeo-es y Geoinquietos están disponibles mis diapositivas. El resto del día siguió con interesantes charlas sobre infraestructuras de datos espaciales, estándares OGC, casos de uso etc.

Geoinquietos es Anarquía

El jueves tuvimos la charla plenaria de un representante del equipo humanitario de OpenStreetMap (HOT). Yo participé moderando una interesante sesión con temas variados como MapServer, cartografía social en Colombia, proyectos GIS en el parque tecnológico de Itaipú o el futuro del estándar WMS. Por mi parte el jueves di una charla llamada OSGeo Live, probar todo sin instalar nada y otra que cerró el evento sobre gvSIG 2.0, motivaciones y novedades y que aunque me pilló ya bastante cansado, tuvo buena aceptación y se hicieron bastantes preguntas.

El sábado para acabar la semana tuvimos la primera reunión de la comunidad OSM argentina en la que se siguieron diferentes charlas y demostraciones intercaladas con propuestas de ejercicios prácticos para introducir a los asistentes en qué es OSM y qué se puede hacer con los datos que se publican en esta gran base de datos.

Geoinquietos Buenos Aires

En fin, ha sido una semana intensa pero al compartirla con gente tan apasionada como Geoinquietos de Buenos Aires, se me ha pasado volando, si bien la he terminado fundido. He conocido un poco de la ciudad y me he quedado con ganas de volver y tener la oportunidad de conocer más sobre Argentina, espero volver en no mucho tiempo.

Bife de chorizo

gvSIG 2.0.0 - Cómo usar el plugin WFS (BN 2078) - WFS plugin usage hints

Tras las mejoras introducidas en el plugin WFS de gvSIG 2.0.0, ya es posible elegir el CRS en el que se realizan las peticiones así como la versión del protocolo WFS a utilizar (de entre los que ofrece el servidor). De este modo, casi siempre podremos evitar usar la versión 1.1.0 de WFS con un CRS en el que el orden de los ejes se haya invertido. Se realiza reproyección al vuelo para ajustarse al CRS de la vista. En este vídeo pueden verse varios ejemplos (disponible en alta defición): After the recent improvements in the WFS plugin of gvSIG 2.0.0, it is now possible to choose both the CRS used in our requests and the version of the WFS protocol to use (among the ones provided by the server). Therefore, we can in most cases avoid the combination of WFS 1.1.0 and a CRS with the new (inverted) axis order. On-the-fly reprojection happens automatically to match the CRS of our view. Some examples can be seen in this video (high definition available):

Uno de los servidores WFS de la IDEE funciona de modo extraño


En esta URL hay un servidor WFS de la IDEE:

http://www.idee.es/IGN-WFS-SIGLIM/ogcwebservice?

Haciendo tests para depurar el plugin WFS de gvSIG 2.0.0, veo que este servidor WFS tiene al menos dos errores aunque no muy importantes:

  1. El servidor dice ser de versión 1.1.0, sin embargo las geometrías se entregan con el orden de los ejes tradicional aunque el CRS sea geodético (longitud, latitud):

    -2.90101792242301,41.3255642175087
    -2.9028336707309,41.3259350724949
    -2.90666700724418,41.3276316778423
    ...

  2. Al hacer una petición con filtro geométrico con BBOX, no se devuelven las que intersectan con el rectángulo sino las que intersectan con el perímetro del rectángulo. Aquí deberían aparecer todas las provincias del SE de España, no solo las que tocan el borde del rectángulo:

Mejoras en el plugin WFS de gvSIG 2.0.0

Se están realizando mejoras en el plugin WFS de gvSIG 2.0.0 para que sea posible la reproyección al vuelo de capas WFS y próximamente la elección del SRS en el que se realizan las peticiones. Como anécdota, he encontrado este curioso servidor que proporciona sin contraseñas la planta de los ochenta y pico mil edificios de la provincia de Guipúzcoa. Esto es la iglesia neogótica de San Sebastián:

La tabla de atributos sólo muestra un ID y un NAME que es el nombre público del edificio, por tanto está casi siempre vacío:

Distribuir contenido