Thursday, December 13, 2012

Don't "upgrade" to WMS 1.3.0 unless you really have to, stick to 1.1.1

Chances are that you already heard me say something along the lines of "Don't 'upgrade' to  WMS 1.3.0 unless you really have to because it's a mess, stick to WMS 1.1.1 if you can". This may sound like an old story to those who have been around since the adoption of WMS 1.3.0 in 2004, but believe it or not we still hit those 1.3.0 issues today 8 years later. The last time was a few weeks ago and that got me started on that same old rant once again. I figured that I'd archive a copy of it here once and for all, and next time I can just point people to this blog.

The long story


"Don't 'upgrade' to  WMS 1.3.0 unless you really have to because it's a mess, stick to WMS 1.1.1 if you can"... well, I may not have used those exact words, but I mean it, WMS 1.3.0 is a pain to support properly, both on the client and on the server side, and should be avoided unless you have very good reasons to switch to it, like requirement for ISO compliance for instance. If you can stick to WMS 1.1.1 then you will be much happier.

I was involved with the OGC revision working group (RWG) that worked on the adoption of WMS 1.3.0 and I had the "chance" (or not?) to witness what happened. The "problem" is that OGC was trying to get WMS 1.3.0 approved as an ISO spec, and the ISO review process forced them to break compatibility with WMS 1.1.1 and older on a few aspects in order to meet the very strict ISO requirements.

One of those aspects was a requirement to honour the axis order defined by EPSG in its database of coordinate systems. In WMS 1.1.1 and older, early day OGC WMS authors and implementers had made a "mistake" and always assumed an x-followed-by-y axis order for coordinates, so the BBOX for EPSG:4326 (WGS84 geographic coordinates in degrees) was treated as:

  BBOX=lon_min, lat_min, lon_max, lat_max

But the EPSG database that WMS refers to defines the axis order for its 4326 SRS to be latitude followed by longitude (or y-x for the mathematicians around the table), so in WMS 1.3.0, you have to use:

  BBOX=lat_min, lon_min, lat_max, lon_max

However, for most projected coordinate systems, EPSG still defines the axis order as x followed by y, so nothing changes between 1.1.1 and 1.3.0 in those cases. For instance, with EPSG:3857 (Google Mercator projection in meters), the BBOX coordinate order remains the same for both WMS 1.1.1 and 1.3.0:

  BBOX=xmin, ymin, xmax, ymax

This strict compliance requirement imposed by the ISO review process on the OGC RWG means that WMS 1.3.0 server and client code needs to be aware of the axis order for each SRS that it supports and to use the correct coordinate order in its BBOX (and also the BoundingBox elements of the GetCapabilities output IIRC)... that's the mess I was alluding to. (There are a few thousand codes in the EPSG database that software needs to be made aware of.)

The issues that we encounter the most often with WMS 1.3.0 implementation range from incomplete axis order support for some EPSG codes to some implementations incorrectly assuming that WMS 1.3.0 just swaps the axis order to y-x for every SRS. And yes, there are still some implementations in 2012 that don't get this right.

Note that to help work around this issue for those writing simple clients/servers who want to avoid using EPSG codes and be free to continue with x-y axis order everywhere, the WMS 1.3.0 RWG invented a new "CRS:*" namespace for projection codes in which it defined a few well-known coordinate systems. They are listed in Annex B of the WMS 1.3.0 spec. The most common one is CRS:84 which is essentially EPSG:4326 with lon-lat (x-y) axis ordering. Unfortunately this is just a patch and doesn't address the core issue which is a brutal incompatibility between WMS 1.1.1 and 1.3.0.



Since MapServer complies with all those requirements, here are some example showing the change in behaviors between WMS 1.1.1 and 1.3.0 with MapServer WMS, taking the following BBOX:


Using WMS 1.3.0 with EPSG:4326 (with lat-lon, a.k.a y-x axis order):


this bbox is interpreted as

  lat_min = 90 South 
  lon_min = 0
  lat_max = 0
  lon_max = 90 East

and you get the following map image:

 However, if you want to keep it simple and stick to x-y axis ordering, and want the BBOX treated as

  lon_min = 90 West
  lat_min = 0 
  lon_max = 0
  lat_max = 90 North

then you can either use WMS 1.3.0 with CRS:84:


Or stick to WMS 1.1.1 with EPSG:4326:


and in both cases you'll get this:

Hopefully now you'll understand next time you hear me mumble "... stick to WMS 1.1.1...".

P.S. Also note in the examples above that the WMS 1.1.1 "srs=..." parameter was renamed to "crs=..." in WMS 1.3.0, but that's a story for another day.

Monday, May 14, 2012

Appel de présentations pour le Rendez-vous OSGeo-Qc 2012

Mise à jour: la date limite pour soumettre une proposition a été étendue au 18 juin 2012.

Vous avez jusqu'au 1er 18 juin 2012 pour soumettre vos propositions de présentations pour le Rendez-vous OSGeo-Québec 2012 qui se tiendra les 17 et 18 octobre 2012 à Saguenay.

Je vous rappelle que pour cette édition, le Centre de Géomatique du Québec (CGQ), l'Association de géomatique municipale du Québec (AGMQ) et OSGeo-Québec s'associent pour la tenue d'un événement commun. Il s'agira donc de Vision Géomatique 2012, combiné au colloque automnal de l'AGMQ, et au Rendez-vous OSGeo-Qc 2012.

Techniquement, les trois événement se dérouleront en parallèle sur deux jours et une seule inscription permettra à tous les visiteurs d'assister aux conférences des trois événements. Une salle de conférences du programme sera dédiée aux thèmes du Rendez-vous OSGeo-Québec pendant les deux jours de l'événement.

Plus de détails sont disponibles sur le site et l'appel de propositions de présentations est disponible en suivant ce lien.

Puisqu'il s'agit d'un événement combiné, nous utilisons le même formulaire d'appel de propositions de présentations pour les 3 groupes. Il vous suffit de cocher "Rendez-vous OSGeo-Qc" dans la 2eme page du formulaire pour bien indiquer que vous soumettez une présentation sur le thème des logiciels et/ou données libres.

Plan de visibilité

Finalement, comme dans les éditions précédentes, un plan de visibilité est disponible pour les entreprises intéressées à s'afficher en tant que partenaire de l'événement ou à exposer leurs produits et services dans un kiosque.

N'oubliez pas de soumettre vos propositions de présentations avant le 1er 18 juin 2012!

Friday, April 27, 2012

17-18 Octobre 2012: Vision Géomatique, AGMQ et Rendez-vous OSGeo-Qc

 Les 17 et 18 octobre prochain, le Centre de Géomatique du Québec s'associe à l'AGMQ et à OSGeo-Québec pour la tenue au Saguenay de la 3ème édition de VisionGÉOMATIQUE, combinée au colloque bi-annuel de l'AGMQ et à la 2ème édition du Rendez-vous OSGeo-Québec.

Plus de détails sur l'horaire de l'événement ainsi qu'un appel de propositions de présentations seront diffusés très bientôt. Comme en 2010, je suis membre du comité organisateur, et je vous invite donc à réserver vos dates pour ce qui sera sûrement l'événement de l'automne de la géomatique au Québec.

Wednesday, April 4, 2012

Mapgears continues its growth and launches Mapgears Solutions

(Version française)

Mapgears and Mgeospatial just announced the merge of their respective geospatial consulting operations to launch a new division: Mapgears Solutions. Thus, it is with great pleasure that we welcome two new members in the Mapgears family: Simon Mercier and Charles-Éric Bourget.

Technically, the new entity will be based in Quebec City and will operate under the direction of Simon Mercier, vice president of the new Mapgears Solutions division. Its mission will be to complement the technology offer of the current team based in Chicoutimi with highly specialized consulting services to assist customers in the setup and deployment of MapServer and related open source technologies.

Simon founded Mgeospatial a little over a year ago based on this same vision that will remain at the core of Mapgears Solutions. With respect to the current Mapgears team that you all know, we will now refer to it as Mapgears Technologies, and as the name says, it will continue to focus on the development and support of MapServer and related technologies, which is what we do best and has led us to where we are today.

I am very glad that Simon accepted the opportunity to join Mapgears. The synergy between the two teams will allow us to better serve our clients and to accelerate the growth of the two entities who were having a hard time responding to the growing demand for our technologies and services. I already expect a few more names to join the teams in the coming months, stay tuned.

BTW, Simon, Julien and I will be at FOSS4G-NA in Washington next week and we'll be happy to discuss this further with you.

P.S. With this announcement comes the need for a new website to better reflect today's Mapgears product and services offering. A preview of the new style is already available at and the new site currently under construction should hopefully be available in the coming weeks.

Mapgears continue sa croissance avec Solutions Mapgears

(English version)

Mapgears et Mgeospatial viennent d'annoncer la fusion de leurs activités de consultation en géomatique respectives afin de fonder une nouvelle division: Solutions Mapgears. C'est donc avec grand plaisir que je souhaite la bienvenue à Simon Mercier et Charles-Éric Bourget au sein de la grande famille Mapgears.

Techniquement, la nouvelle division Solutions sera basée à Québec et opérera sous la direction de Simon qui agira à titre de vice-président de la division Solutions Mapgears. Ils auront pour mission de complémenter l'offre de technologies de l'équipe actuelle basée à Chicoutimi par des services de consultation spécialisés de haut niveau afin d'accompagner les clients dans l'implantation et le déploiement de MapServer et des technologies de logiciel libre et open source associées.

On se rappelle que Simon avait fondé Mgeospatial il y a un peu plus d'un an basée sur cette même vision qui demeurera au coeur de Solutions Mapgears. Quant à l'équipe actuelle de Mapgears, on y fera maintenant référence sous le nom de Technologies Mapgears, et comme le nom l'indique, elle pourra maintenant mieux se concentrer sur le développement et le support de MapServer et des technologies associées, ce qu'on sait faire de mieux et qui a fait notre marque depuis des années.

Je suis très heureux que Simon ait accepté l'invitation à se joindre à Mapgears. La synergie entre les deux groupes permettra de mieux servir nos clients et d'accélérer la croissances des deux entités qui avaient peine à soutenir la demande grandissante pour nos produits et services. Je m'attends déjà à ce que de nouveaux noms viennent s'ajouter aux deux équipes dans les prochains mois. C'est un dossier à suivre...

P.S. Avec cette annonce vient aussi la décision de rajeunir notre site Web afin de réfléter la nouvelle offre de produits et services de Mapgears. Un aperçu de la nouvelle image est déjà visible à et le nouveau site en construction devrait être complété dans les prochaines semaines.

Mise à jour:

Voir aussi le billet de Simon Mercier:  Solutions Mapgears

Tuesday, March 27, 2012

FOSS4G North America only 2 weeks away - April 10-11

FOSS4G North America 2012 is only two weeks away - April 10-12 in Washington, DC. Mapgears is a proud sponsor of the event and I'll be there of course!

The program of the first two days (April 10-11) includes 51 talks from presenters ranging from hardcore developers to visionary managers and technology architects, and four keynote speakers: Josh Berkus of PostgreSQL, Michael Byrne from the FCC, Paul Ramsey from OpenGeo and Keith Barber, from the NGA.

The third day (April 12) is Sponsor Day, with a Code Sprint taking place in parallel.

Online registration is open until April 2nd. Hurry up if you haven't registered yet as space is limited to 400 participants. More information is available on the website.

As for any FOSS4G event, the most important part for me is the networking with other developers and users of OSGeo software, so I look forward to seeing you there!

Wednesday, February 8, 2012

MapServer and TinyOWS Releases at the Islandwood OSGeo Sprint

This week, 21 developers are getting together for a code sprint in the wonderful venue of Islandwood to work on the advancement of their respective OSGeo projects. Thanks to Michael Gerlek for organizing and to our sponsors for their support.

I am happy to report that TinyOWS version 1.0 has just been released. Congratulations to Olivier Courtin for leading the project to this important milestone!

Last summer it was decided that TinyOWS (RFC-70) and MapCache (RFC-71) would join the MapServer project. This means that with the upcoming MapServer 6.2 release, we will also release the MapServer Suite which includes "mapserv" (the CGI/FastCGI), MapScript, MapCache and TinyOWS. The long term plan is to provide a more seamless integration of the tools under this MapServer Suite umbrella, while still allowing the use of each component independently or with other non-MapServer packages for those who wish to do so.

Another outcome of the sprint is that the TinyOWS documentation has been integrated in the development tree here. Thanks to David and Hal, for their work on this and their other contributions.

On the MapServer front, we just announced the release of version 6.0.2 and 5.6.8. There are no new features in those releases, only fixes, and they do include a fix for a security vulnerability that was found in the handling of WFS Filters inside SLDs, so you are encouraged to upgrade your installation. More details in the announcement here.

Finally, one of our next goals is to work out a plan for a MapServer 6.2 feature freeze and release this spring.

Thursday, January 26, 2012

Intellectual Property vs Copyright

In the past I have often used the terms Intellectual Property and Copyright to mean essentially the same thing, without realizing that this was incorrect. Maybe that was because English is not my native language, but probably not since I have actually heard several others making the same mistake as well.

This morning in a discussion on this topic on the OSGeo Incubator mailing list, Frank Warmerdam explained the difference between the two terms and now I better understand why the terms Intellectual Property and Copyright should not be confused, especially in the context of Free and Open Source Software (FOSS).

I thought I'd share a copy of Frank's great explanation here in case it helps others better understand the distinction:

I believe the rationale behind avoiding the term Intellectual Property
has two parts.

First, it attempts to conflate a variety of very different legal mechanisms.
Primarily copyright, patents and trademarks.  Giving them all one name makes
it harder to separate out things we might agree with (copyright) from things
we might not (ie. Patents).

Second, it expresses these legal mechanisms in a manner that implies that
they are some sort of fundamental or manifest right rather than limited
government granted monopolies intended to serve specific needs of society
You can read the full email and the rest of the thread here.