The Sad State of GIS Web Standards

Let’s face facts – the stable of GIS Web standards is suboptimal. To show you what I mean, let’s think about the common things you’d want to do with web mapping and see if there is a successful standard that you can leverage.

We’ll define success as the widespread use of the standard on the web – there are thousands, or tens of thousands, of working examples (of a web nearing billions of users, that doesn’t seem too much to ask). Of course a standard may be wildley successful in another domain, such as Enterprise software, but that doesn’t count as the web.

Rendering Maps

Let’s start with the most obvious thing – making maps. This is the domain of Web Map Service (WMS) and Style Layer Descriptor (SLD).

It doesn’t take long to figure out why no main stream mapping sites actually uses WMS. Its design makes it difficult to cache results and unfortunately rendering maps ain’t quick nor easy – there is a reason Google/Microsoft/Yahoo use cached tiles. The biggest WMS server I know of is Terraserver, and its seems to have kept Microsoft researchers busy happily writing papers about how to scale it.

Instead, everyone has seemed to come up with the same approach for web mapping – use pre-rendered tiles that use the Mercator projection. Or, if you have a desktop client (Google Earth, Virtual Earth), then the engineering is difficult enough that you use your own proprietary algorithms/encodings to actually make the system scaleable enough to work.

And as far as styling maps – have you actually read the SLD standard or used it? I didn’t think so.

So we’ll say no success in the standards world here. Which raises an interesting question – is there any room or need for a web map tiling standard (and the Web Coverage Standard, WCS, doesn’t count since it support arbitrarily bounding boxes like WMS).

Adding Points to a Map

To provide some hooks into Google Earth, Google offers KML, which lets developers add custom information to maps. Behind the might of Google, KML has gained a large market share. Since Google has recently submitted KML to the OGC for standardization, we’ll call this a standards win.

Specifying Locations

This is the world of GeoRss, which lets you specify points/lines/polgyons. GeoRss has clawed its way into importance due to its simplicity and one would assume developer fatigue with reading the GML spec. GeoRss is fine for what it does, but this is the most basic level possible, akin to a first-grade reading level. But we’ll call it a win.

Sharing Data

This is the world of Web Feature Server (WFS) and Geography Markup Language (GML). I’ve previously blogged about why I think GML is too complex for the web, and since WFS depends on GML, the same arguments apply. Just to add some spice to the party, WFS adds its own proprietary (is it fair to call a standard proprietary?) XML query language for reasons that have never been obvious to me (XQuery anyone?).

So do you see these standards used on the Web? I sure don’t. Instead I see people using RSS and ATOM with GeoRSS, or shoehorning feature information into KML. There is event talk of shoehorning GML into KML.

In my view this is the biggest gap in GIS web standards – something, someday is going to fill it in. If you are a standards wonk, and want to make a difference, I’d say start here.

If it was up to me, such a standard would be designed as an Atom extension that provides a super-simple way of including feature property values. And it would use GeoRSS for geometries.

Remembering Context

There is remarkable amount of state involved when looking at a map. The most obvious thing is where you are looking at – but you also have to remember the scale, the layers that are on or off, the projection, the styles in use, etc. This is the world of the Web Map Context (WMC) standard. Since I’ve never implemented WMC, I don’t have an opinion on its technical merits. But going back to our measure of success, is it used on the web? Not as far as I can see.

Dejure versus Defacto?

So standards strike out on map rendering and sharing geographic features, but have succeeded in specifying locations and custom map content. And there is an interesting pattern here – the dejure standards have failed, while the defacto standards have succeeded. Perhaps more about that in another post.

But after the incredible amout of energy and time spent developing these standards, it feels like precious little success.

  1. June 28, 2007

    I though TileCache.org was an answer to the WMS performance problems. What do you think?

    Reply
  2. Bill Thorp
    June 28, 2007

    I’ll help the dog pile.

    Web Map Contexts (WMCs) are officially limited to categorizing data from OGC datasources. *For pretty much no good reason.* Very nice of them. Now there are at least two other efforts trying to correct that oversight.

    *sigh*

    Reply
  3. Charlie Savage –
    June 28, 2007

    Hi Alexandre,

    I think the tiling cache is a good idea in the same way http caches are. But you are trusting your clients to all want the exact same tiles and there is no way to enforce that. Maybe that’s a non-issue, but something to think about.

    Reply
  4. FantomPlanet
    June 29, 2007

    I’m drowning in standards with little or no implementation of them. Sure, there’s WMS and WFS is coming along, I’m using GeoRSS for a few things. But GML, SLD, WMC, and other stuff I don’t know where and when to implement. Could be my prop software, but on my own, I think I’d like to implement some of them, but don’t think I can in my enterprise. So, what do I do?

    Reply
  5. Espen
    June 29, 2007

    “Its design makes it difficult to cache results and unfortunately rendering maps ain’t quick nor easy”

    Could anybody elaborate on this one? Or point to some more discussions about this. What makes WMS slow and not easy to render?

    Reply
  6. cfis
    June 30, 2007

    Hi Espen,

    Making maps isn’t fast because they contain so much information. Say you want to write an application like Flickr, that shows a set of photos. At most you’re dealing with a few hundred records or so from a database or file system.

    Now take a map of Manhattan. Between the roads, the buildings, the points of interest, rivers, etc – you’ll have to deal with thousands, if not tens of thousands, of records. First you have to look them up. Second, for each record you’ll have look up the appropriate styling information (roads may green at one scale but blue at another). Third you have to render the map. And fourth, you need to convert the rendered map in to png or jpeg or whatever format you want to use (assuming a web based application).

    All that works takes a fair bit of processing power and time.

    Reply
  7. Charlie Savage –
    June 30, 2007

    Hi FantomPlanet,

    It totally depends on the problems you are trying to solve. I look to standards when I have some new problem to solve, since someone has probably done it before me and its usually easier to leverage other people’s knowledge (a standard being shared knowledge). Obviously, there’s no point in using standards for just standards sake.

    Reply
  8. Espen
    June 30, 2007

    “and its seems to have kept Microsoft researchers busy happily writing papers about how to scale it.”

    It seems like the link to the papers don’t work.

    Reply
  9. Charlie Savage –
    July 3, 2007

    Hi Espen,

    Thanks for finding the broken link – fixed.

    Reply
  10. July 3, 2007

    I’m surprised at the lack of outburst by the pro-standards community. This makes me think they are humbled by your views. I’d expect somebody out there to stick up for OGC and the other standards you mentioned. It would be intriguing to hear someone from DM Solutions or Ionic, for instance.

    I try to adopt standards when I can, but the advent of google/ve, web 2.0, and neogeography have challenged traditional OGC standards like WMS/WFS/GML/SLD with newer standards such as tiling, KML, and GeoRSS. The OGC did some good work, but now we may be in a new era of web mapping where those traditional standards are less applicable. Call it evolution. Web mapping standards are going through a transitional state and haven’t kept up with GIS technology breakthroughs over the last few years.

    Reply
  11. July 3, 2007

    You really hit the nail on the head with a lot of these points – these have been some of the exact issues I have been grappling with from an enterprise architecture standpoint. Most of the “standards” to date are all fine and good in a homogenous, stand-alone, lab environment… but the real world has since presented other challenges.

    For example, how do we cache, scale, load-balance, and so on. In some cases a lowest-common-denominator is needed, in others, complex models, and the standards need to be able to adapt to or encompass a variety of use cases. Any standard needs to be able to accomodate scalability and diversity on the back-end or it will not find an easy path toward adoption and implementation.

    Reply
  12. Charlie Savage –
    July 5, 2007

    Hi flatout,

    Nice quote:

    > Web mapping standards are going through a transitional state and haven’t kept up with GIS technology breakthroughs over the last few years.

    I think thats part of the reason for the rise of the defacto standards. The other part is they are better suited for the Web.

    Reply
  13. Charlie Savage –
    July 5, 2007

    Dave,

    Excellent points. And even in an enterprise, how many do you know that have a homogeneous environment?

    Charlie

    Reply

Leave a Reply

Your email address will not be published.

Top