God REST Ye Merry Polygons
Since REST is all the rage these days, it must be about time to ask what it means for GIS. A lot of the striving middle class of programmers believes that REST is about not using SOAP. Questions of hygiene aside, it's certainly about a lot more than that. Is GIS ready for REST interfaces that are more than warmed-over POST interfaces?
REpresentational
REST is about exchanging representations of data. You've got to speak a common language. Here, surprisingly, GIS is in good shape. The Open Geospatial Consortium (OGC) guys have had a good amount of luck getting some useful standards into widespread use. It's true that WMS and GML are pretty big nasty specs, but they have real traction with a lot of vendors. WMS was turned on its head by Google's tiling, but the open source community[*] is back with a tiling idea. Google launched KML on an unsuspecting universe, but if you grok GML you can definitely grok KML. And we can even thank Big Oil for funding the only sensible world-wide collection of projection systems, the erstwhile EPSG database. GIS data can be transported around via XML and everyone can agree on what it means. Good deal.
State Transfer
Okay, here OGC gets less important. OGC talks about transactional feature operations in their Web Features Service (WFS) spec. It seems like people are slowly supporting this spec, but it is firmly in the older school of handling transaction and data transfer in an RPC-style, rather than in a resource-focused style. Of course most heavy lifting is still done with your choice of GDAL and OGR drivers, spatial database extensions, and CAD & GIS packages operating on files. State Transfer in the public standards-based GIS world (where REST really starts to achieve critical mass) is still all about the read-only flow of data from publishers to browsers.
The exception to all of this, and arguably the only end-user publishing game that matters, is Google Maps/Earth world, where users can post data using GeoRSS and KML. Real world resources (at random URIs) can be tagged with KML and found by Google. So for actually sharing data, not just pictures, KML is the name of the game.
So What About Enterprise GIS Data?
Indeed. Companies are less interested in the exact GPS locations of random jogger X's morning workout routine but in having a cohesive architecture for all their money-producing geolocated data, like oil wells, supermarkets and garbage trucks. Just becaues those resources have lat/longs doesn't mean that GIS should suddenly be the center of the universe. Why do I have to use KML for resources that probably have extremely rich alternate representations already? And what URLs do I give them? On the Internet, everything is usually an http:// or an ftp:// away -- there are only so many protocols in common use. But on an enterprise network there are RDBMS servers, file shares, SDE, WMS, random shared-process based middleware, and so on. Do these get their own protocols? To (finally) get to the topic this article's title suggets: what does a polygon's URL look like? Does the HTTP-centric REST even matter in a world of non-HTTP protocols -- protocols which are largely stateFUL, note stateLESS? Questions I will be grappling with over the coming articles. Stay tuned.
[*] This article originally stated that tiling was an OGC effort, which is not correct. A poster pointed out that the tiling effort I referenced was not OGC. I suspect OGC will not be far behind.

4 Comments:
Tiling is not an OGC spec, it came out of FOSS4G2006 in Lausanne and is a completely open source community developed thing.
WMS 1.3 might be a hairy spec, but the earlier versions are a bit more readable and it may be worth finding a copy of 1.0 before trying to grapple with 1.3.
I think that this statement, "arguably the only end-user publishing game that matters, is Google Maps/Earth world," it a bit far fetched. Granted Google seems to be the twinkle is everyone's eye right now - much how people loose their stuff whenever Apple farts - but Microsoft's Virtual Earth is a valid contender within this market space, and one that I argue is better than Google.
Based solely on my review on the two it seems MS' API is far more advanced that Google's. My conversations with ESRI show the same conclusion.
Google is okay for basic pin mapping but routing and polygon integration are severely lacking. LBS functionality is pretty weak compared to Yahoo and MS.
In my opinion Google is getting WAY too much press and usage by developers.
"In my opinion Google is getting WAY too much press and usage by developer"
Probably so. For the general public, Yahoo has better routing functionality, Virtual Earth better imagery, etc. I'd note MyMaps represents a serious intent to make Google Maps more than just pushpins, but your point is well taken.
What I was really talking about was the publishing of data from end users to the rest of the world. And there it still seems like KML and GeoRSS are all that has captured mindshare. I'd be happy to be proven wrong.
I think the main point of your article is quite interesting. Th question of what does the URL of a polygon look like in interesting and brought a smile to my face this morning.
Questions about how does those of us with very rich existing GIS integrate our this data into apps like Yahoo, Microsoft, and Google are quite valid. I am the GIS Coordinator for a city in souther California. We investigated using Virtual Earth API to integrate our ESRI based GIS data with VE. The road map (pardon the pun) was not that clear.
For those of us with this rich data we must use applications like ArcIMS if we are an ESRI shop. While this works, it's not the best platform and far from cutting edge or open source. Yet we loose the richness of our data if we shoehorn the data into one of the three aforementioned APIs.
There is a divide that exists within out industry. On one side you have a mature industry that has been around since the 70's, which has built powerful software and data that models the world we live in. However the software, skill sets, and ability to leverage the data has remained in the back office hidden from much of the world. Now there is a budding industry lead by internet companies and computer programmers, not geographers. Our audience needs the data and the answer the data can provide, and they need it delivered in a way that they can easily consume. Yet the applications that can deliver the data cannot work with the data they need, which seems to only be delivered by applications that befuddle the end user.
Post a Comment
Links to this post:
Create a Link
<< Home