Category Archives: meta

12 years with you

This blog makes today 12 years old. Yes, we haven’t posted that much lately, indeed we are still around, busy with our projects, families, and lives. We keep sharing some content in our twitter and LinkedIn social networks and will maintain this place for sure. 12 years is already a lot, but our passion for geospatial content and sharing it is not less than when we started this space.

Leave us a comment if you remember a content we created that you liked, or whatever comes to your head!

We love you!!

Photo by Audrey Fretz on Unsplash


Dear OSM, just chill out.

This is kinda a reply to Gary Gale’s “Dear OSM, it’s time to get your finger out“. The more I read that, the less sense it makes to me.

Update 2015-04-30: Read also Richard Fairhurst’s Realpolitik and the OpenStreetMap License and Simon Poole’s Is OSM business unfriendly?

I think of myself as a Linux nerd. I consider myself a hacker. And I’ve spoken so many times about open/libre licensing in conferences the issue became boring.

A couple of years ago, a psychologist asked me a question as part of a job interview: What makes you angry?. And my response was clear: Things not working and logical fallacies. So my brain hurt a little when I read these particular sentences in Gary’s blog post:

There are really only three sources of global mapping […]: NAVTEQ, TeleAtlas , and OpenStreetMap. […]

Surely now is the moment for OpenStreetMap to accelerate adoption, usage and uptake? But why hasn’t this already happened?

See, a tiny part of my brain screams “fallacy“. «OpenStreetMap has things in common with NAVTEQ and TeleAtlas, ergo it has to play in the same field and by the same rules as NAVTEQ and TeleAtlas».

Maybe OSM was given birth by SteveC to cover the lack of affordable datasources, and then a way for him and his VC-fueled CloudMade to compete with them. But for me and a whole lot of nerds, OSM basically was, and still is, a playground where we can run database queries all night long. OSM is a wholly different animal.

In 2010 I argued that Geo businesses and Geo hackers are playing the same game, but with different goals, which makes for an interesting game; a game in which it would be foolish to think that the opponent will play for the same goal as you. You have to play this game to maximize your score, which is not a synonim of decreasing the opponent’s score.

In other words: when I put something into OSM, I don’t frakking care what happens to NAVTEQ or TeleAtlas. The same way when I cook something for friends I don’t care what happens to the local pizza joint.

See, maps are an infrastructure. In Spanish GIS circles, specially those around the Spanish NSDI, cartography is often called “the infrastructure of infrastructures” You need maps to plan roads, power lines, land zoning. You need stupidly accurate maps to collect taxes based on how many centimeters square your house has, or to give out grants based on exactly how many olive trees you own.

During the late 2000’s I heard a lot of criticism about OSM. But most of it didn’t come from data-collecting companies – it came from public servants. “Volunteers use cheap GPS with low accuracy, OSM will never be accurate”, they said. “The OSM data model cannot be loaded into ArcGIS and won’t be of any use”, they said. “OSM data will never be authoritative”, they said. And a few years later, this happened:

That, right there, is the Guardia Civil (who are public servants) in a freakin’ control room using OSM for freakin’ pan-european coastal border patrols. Which means OSM is a freakin’ de facto infrastructure for sovereignty.

Fact is, government agencies play a wholly different game than commercial providers. The goal of a govt’ agency (and specifically those which maintain infrastructures) is to provide a service to citizens, not to make money. As a thought exercise, think about the public servants who place the border milestones, or the ones checking road surface quality, and guess how many fucks they give about NAVTEQ or TeleAtlas.

OSM is about the ownership of infrastructure. It’s about the efficiency of copyright law. It’s all about the digital commons, dammit.

And this is where I kick a wasps’ nest by turning this post into a political one.

A capitalistic liberal will argue that infrastructure is better handled by competing private entities, renting it to citizens for a fee. But remember, I’m a Spaniard, and that means that I’ve seen infrastructures such as power lines, water companies, telcos, motorways, airports and banks privatized under the excuse of theoretically running more efficiently in private hands. We have a nice word for what happened in the real world: “expolio“, which english-speakers might translate as “plunder”.

Thanks but no, thanks. I want infrastructures to be as close to the commons as possible. Maybe it’s because I now live in the land of the dugnad, and my bias makes me see maintaining the commons as beneficial for the society as a whole.

So when you look at OSM (or at the Wikipedia, for that matter) you’re really looking at a digital common good. Which puts OSM in the same basket as other digital common goods, such as programming languages, the radioelectric spectrum, technical RFCs, or state-owned cartography. Now go read the tragedy of the digital commons.

It’s sad to live in a world where the money-making is held above many commons, even at the expense of the commons. Fortunately it’s difficult for a private entity to pollute air, water or the radioelectrical spectrum without going unnoticed, but unfortunately copyright law cares next to nothing about intellectual commons.

<rant>Please, someone explain to me how giving me intellectual ownership of something I thought about until 70 years after my death makes me think about better things; then explain to me how that reverts into the common good. </rant>

TL;DR: Dear OpenStreetMap: just chill out and don’t listen to what they say. Corporations may come and go, but a common infrastructure such as you is here to stay.

EMT Madrid, or Open Data antipatterns

Today, february 21st 2015, is the Open Data Day. And given that I’m far asay from my favourite Open Data nerds down at the Medialab Prado, I decided to work on giving the old ¿Cuánto Tarda Mi Autobús? website a facelift.

The story behind ¿Cuánto tarda mi autobús? is rather simple. A couple of years ago I got my first smartphone, and one of the things I wanted to do is check for the bus times in Madrid. Back then, EMT Madrid (the public company which runs the buses) was heavily promoting its new website in the Spanish GIS scene. The major problem was that the website for checking the times was made with Flash (actually, with ESRI Flex) and simply there is no way to use that with a smartphone.

So I reverse-engineered the protocol (if you call “reading a WSDL document” reverse engineering), did a bit of PHP plus Leaflet, and I was able to check the bus times with a web app.


Fast-forward to the present. EMT had released the API details under the banner of «Open Data EMT», I had a saturday to devote to the Open Data Day, and my little web app needed some love after two years of no updates at all.

But, oh boy, every time I try to develop anything with interfaces made by big subcontractors, I cannot stop cringing at the amount of WTF found around.

The antipatterns

Antipattern 1: «Open Data» which isn’t actual Open Data.

In the same way that Open Source software can only be Open Source if it meets the Open Source Definition, Open Data is only Open Data if it meets the Open Definition. Period. These definitions are evolved versions of the DFSG and Free Software Definition, curated with years of experience and discussions about what is open and what is not.

So, the Open Definition states:

2.1.8 Application to Any Purpose

The license must allow use, redistribution, modification, and compilation for any purpose. The license must not restrict anyone from making use of the work in a specific field of endeavor.

From «OpenData EMT»’s terms and conditions:

1. The re-user agent is explicitly prohibited from distorting the nature of the information, and is obliged to:
a. Not to manipulate nor falsify the information.
b. Ensure that any information displayed in your system is always up to date.
c. Not to use the information to undermine or damage EMT’s public image.
d. Not to use the information in sites that might lead to a relation with illegal acts or attempts to sabotage EMT or any other entity, organization or person.

So apparently I cannot:

  • Display historical information (because my data must be up-to-date).
  • Say that the system is a complete piece of steaming crap from a technological point of view.
  • Use the information in sites such as Facebook or Twitter, because those sites might be used for an attempted sabotage to «any entity or person». Who the fuck wrote this blanket clause, folks?

Please, don’t call it «Open Data».

I have to give praise to the EMT, though. The previous version of the agreement obliged the reuser to not disclose that he/she signed an open data agreement. At least they fixed that.

Antipattern 2: Your SOAP examples contain raw XML.

The whole point of SOAP was to abstract data access. And, still, every public SOAP interface I’ve ever seen includes examples with raw XML fragments that you’re supposed to build up.

If you cannot write code that access SOAP without writing XML, you’re doing it wrong.

Think about how WMS interfaces work nowadays: you just publish the WMS endpoint, and your GIS software takes care of the capabilities and the

Antipattern 3: Keep default fake values in your production code.

From the docs:


Note «». A quick search will tell you that the system was designed using Visual Studio, and some lazy so-called software engineer didn’t bother to change the defaults.

Antipattern 4: Fuck up your coordinate systems

Note to non-spaniard readers: The city of Madrid is located roughly at latitude 40.38 north, longitude 3.71 west.

Now look at this example from the EMT docs about how bus coordinates are returned:


Antipattern 5: Mix up your coordinate systems

Write things like “UTM” and “geodetic” in your documentation, but do not write which UTM strip you’re referring to (hint: it’s 30 north, and the SRS is EPSG:23030). Make some of your API methods to return coordinates in EPSG:23030 and some others to return coordinates in EPSG:4326.

And for extra fun, have your input coordinate fields accept both of those SRSs as strings with comma-defined decimal point, and then do this in the documentation:


Antipattern 6: Self-signed SSL certificates



Antipattern 7: Wrap everything up in HTTP + JSON and call it “REST”

REST is a beautiful technology because it builds up pretty much on top of raw HTTP. Every object (“resource”) has its own URI (“universal resource identifier”), and the HTTP verbs are used semantically (GET actually gets information, POST modifies information, DELETE deletes a resource, and so on).

Also, HTTP status codes are used for the return status. An HTTP status code 200 means that the data is OK, a 404 means that the resource doesn’t exist, a 401 means that you are not authorized to get/post/delete the resource. Reusing the semantics of HTTP is way cool.

So, in a REST interface for bus stops, the stop number 1234 (a resource) would be located at its URI, e.g. http://whatever/stops/1234. It’s beautiful because the URI has a meaning, and the HTTP verb GET (which is the default when a web browser is fetching something) has a meaning. The server would answer with a “200 OK” and then the resource.

Low-level, it should look like:

GET /stops/1234 HTTP/1.1


HTTP/1.1 200 OK
Content-Type: text/JSON

"stopId": 1234, 
"latitude": 40.3,
"longitude": -3.71,
"stopName": "Lorep Ipsum Street",
"lines": ["12", "34"]

Now compare the theoretical RESTful way to fetch one bus stop with the real-life mess:

POST /emt-proxy-server/last/bus/GetNodesLines.php HTTP/1.1


HTTP/1.1 200 OK
Content-Type: text/JSON

"resultDescription":"Resultado de la operacion Correcta",

So, meaningless URI, POST request to fetch a resource, duplicated return status codes (for the HTTP layer and some other underlying layer).

Let me say this very, very clearly: In REST, you do not wrap a resource in a call to get that resource. Geez.

My takeaway

Readers will do good to keep in mind that I’m using my spare time in order to participate in the Open Data Day, for fun. The problem is that working with such an arquitecture is no fun at all. I can deal with these kind of enterprisey, Dilbertesque software stacks in a day-to-day basis, but only if I’m getting paid to endure the cringing and teeth-grinding.

I think it’s because the mind of an Open Source / Open Data nerd like me is difficult to understand by the classic propietary software people. I develop software just for the fun of doing so, just because I can, just because I like the feeling of empowerment of creating my own tools.

I write a lot of open source stuff. I fix wikipedia from time to time, I map stuff on OpenStreetMap if something’s wrong. I like to do it, and I empower other people to build upon my work.

Building upon good Open Source/Data doesn’t feel like standing on the shoulders of giants. It feels like standing on the soulders of a mountain of midgets… and if you’re lucky, you’ll be one of those midgets and someone will stand upon your shoulders.

For me, that involves a great deal of humility. When I watch the closed-source crowd talk about their latest product or software, they are congratulating themselves, but when I watch the open-source crowd, they’re constantly critizising themselves. And I can critizise them and they can critizise me and we all learn and that’s why they’re awesome.


6th anniversary!

all-vegan birthday cake!

Today this blog is six years old. That’s a lot of time and it deserves at least a small post to remind you this blog is still alive even if we don’t post a lot. Vicente is busy with his company, Pedro is busy with his recent fatherhood (his baby was born yesterday!!) and me, well I’m busy with my stuff ^_^. But we are lucky at geomatic blog because we have a lot of friends and from time to time we convince someone to join the family and post about what they love as Roberto our astronomer did recently about the summers solstice.

We will try to keep posting as we have time, energy and interesting stuff to share. In the meantime, follow us on twitter (we post interesting links from time to time there) and of course, if you are close to us and don’t have or want your own blog, you are invited to join the team and consider geomatic blog as your home for your geogeekery.

Congratulations to all the team!!

Ideas sobre geoinquietos

Me llega esta tarde este correo desde el formulario de contacto de que creo que vale la pena compartir por aquí por aquello de rentabilizar los ladrillos que mando. La idea es dar unas pinceladas sobre qué es geoinquietos, cómo se puede arrancar un grupo local, en fin, mover un poco el asunto. Estoy muy contento de ser parte de un ¿movimiento? que está consiguiendo fomentar las tecnologías de la información geográfica, la geomática, la cartografía colaborativa, los datos libres y tantos otros temas interesantes. Bueno, ahí va.

> Hola, estamos intentado organizar geoinquietos en XXXXX, ¿alguna
> recomendación?
> Saludos

Hola YYYYYY, hace mucho que no coincidimos en ningún sarao!

Mira yo lo que haría es buscar un foro en el que contactar con gente afín, el que sea. Puedes usar la lista de OSGeo Spanish para coordinar lo que haga falta y si al final tenéis mucha actividad pues ya os pedimos una lista de correo si queréis a OSGeo.

En realidad lo más importante es que quedéis aunque sea a tomar algo y planteéis qué tipo de actividades os apetecen más. No hay recetas, no hay guías, cada uno va a su aire y busca la forma de “enganchar” a la gente con las armas que tiene.

Esta charla de Micho está en gallego pero se entiende bastante bien, cuenta algunas cosas que igual os dan una idea.

En Valencia llevamos medio año quedando una vez al mes (el segundo viernes) y hemos hecho básicamente charlas con debate. La última fue con invitados, las anteriores por los sospechosos habituales, la próxima será un taller; en fin vamos variando y evolucionando sobre la marcha así que realmente uno no sabe muy bien qué será de esto en un año, la gente tiene ganas y si hay dos o tres personas que empujen tranquilamente hay fuerza para mover algo y luego la gente se puede ir sumando. Da trabajo pero en fin, la gente se lo está pasando bien así que no hay plan de dejarlo más bien al contrario, en mi opinión tiene aún mucho recorrido y hay mucho potencial, contactos que hacer, líneas a explorar… en fin hay muchas ideas en la recámara.

Oye me ha quedado un correo que lo voy a repostear en el blog 😛

Cualquier cosa nos preguntas aquí o por las listas de correo. Cierto es que no hay una lista de correo genérica de Geoinquietos y que estamos usando la de OSGeo Spanish para esto (y a mí me parece bien) así que tú mismo.

Venga seguimos en contacto.

Descarga masiva de información del Catastro

Ayer se realizó en el Ministerio de Economía y Hacienda una jornada para informar sobre el nuevo servicio que la Dirección General del Catastro (DGC) ha puesto a disposición de los ciudadanos, el Servicio de descarga masiva de información catastral. Este permite, a través de la Sede Electrónica del Catastro, descargarse la cartografía pública de este organismo en formato vectorial, así como la información alfanumérica (archivos cat). La idea como se comenta en el la presentación de la Jornada, es mediante el acceso a la información, promover la creación de empresas, empleo y avanzar en un uso mas transparente de la información por parte de los ciudadanos.

Es una buena noticia que los organismos oficiales empiecen a poner los datos a disposición pública. Puede que técnicamente todavía no sea la mejor manera, ya que de momento existen algunas limitaciones, como la descarga por municipio que hace extremadamente tedioso descargarse la información para grandes zonas, la necesaria identificación mediante firma electrónica, rellenar una encuesta de utilización, indicarle una estimación de costes o de tiempo que se tardaría en obtener dicha información o la inexistencia de un API pública de acceso a los datos, pero se agradece la linea en la que se ha gestionado la idea.

Aun así sigue dando la impresión de que los organismos públicos son reticentes a liberar su información, de que les cuesta acercarse a un modelo de datos totalmente abiertos que es la base para la transparencia y el desarrollo de una sociedad. El hecho de tener que identificarse mediante firma electrónica a la hora de acceder a la información da la impresión de que a pesar de la buena intención, queda patente un intento de que parezca que se tiene control sobre las descargas, como si en algún momento alguien pudiese dedicarse a comprobar la utilización que se ha hecho de esos datos y responsabilizar a la persona que realizó la descarga. No es que se dude de la capacidad para hacer esto, sino mas bien de su utilidad.

Además se exige que los datos han de ser transformados antes de su publicación, para evitar ofrecer el servicio para el que está destinado la misma DGC. Por transformación hace referencia a los términos establecidos en la Ley de Propiedad Intelectual, o sea, “traducción, adaptación y cualquier modificación de su forma de la que se derive una obra diferente”, lo que da pie al debate sobre lo que entendemos nosotros como transformación, ¿cambiar los estilos?, ¿traducir el nombre de las calles?, ¿transformar el sistema de coordenadas?, o ¿mover las geometrías un milímetro?. En el mismo Artículo 21 hace referencia a que una reordenación de la base de datos se considera una transformación, ¿cargar esos datos en nuestra base de datos es una transformación?.

Sin dudar del esfuerzo que han hecho desde la DGC por poner estos datos a nuestra disposición, no tenemos mas que alegrarnos por la iniciativa y sacar provecho de ella.


[1] Información de la Jornada:

[2] Artículo 21 del Real Decreto Legislativo 1/1996, de 12 de abril, por el que se aprueba el Texto Refundido de la Ley de Propiedad Intelectual, regularizando, aclarando y armonizando las disposiciones legales vigentes sobre la materia.

[3] Manual de usuario para descarga información alfanumérica en formato CAT

[4] Consulta masiva, Sede Electrónica del Catastro

[5] Resolución de 23 de Marzo de 2011, de la Dirección General del Catastro, por la que se aprueban los criterios de acceso, formatos de entrega, y condiciones de la licencia-tipo para el acceso al servicio de descarga masiva de datos y cartografía, a través de la sede electrónica del Catastro

Máquinas esclavizadas

Acabo de llegar a un documento (PDF) elaborado por el Ayunamiento de Zaragoza, “Migración Escritorio Software Libre” y después de ver el índice (son 113 páginas, tiene muy buena pinta) me doy una vuelta buscando por el término CAD, directo a donde duele y leo (pág. 26):

En algunos casos especiales, ciertas máquinas han quedado esclavizadas con el sistema operativo Windows, hasta que se encuentre una solución de aplicativo libre compatible con las necesidades de los usuarios o alguna manera de que esta aplicación privativa funcione en el Escritorio libre (aplicaciones CAD – diseño asistido por ordenador – por ejemplo).

30/07/09 - Facepalm

Bimba! Era esperable, los usuarios de CAD son siempre los más “resistentes” a las migraciones porque no hay una alternativa real a las necesidades que tienen (o creen que tienen). Hay soluciones parciales, como algunos CAD libres o incluso ya más cerca del mundo GIS como gvSIG, pero Autodesk lo ha hecho bien estos últimos años y su vendor lock-in va a ser duro de romper. Lo único ahora mismo cercano a romperlo sigue siendo un CAD privativo, Bricscad ya que tiene versión para Linux. Pero da lo mismo, seguro que no gustará a delineantes, topógrafos, arquitectos y demás técnicos porque le falta la última chorradita del susodicho AutoCAD y por tanto seguirán llevándo de cráneo a los responsables de las migraciones de sus organizaciones.

La foto la pongo porque esa es seguro la expresión del administrador de sistemas cuando lee un correo de un técnico diciendo que su CAD favorito es irreemplazable 🙂