Thursday, April 26, 2007

As the World Turns ... out Bugs

The Venerable Info Tool

While ArcGIS Explorer's WMS support is poorly implemented, it does succeed in tiling the earth cleanly with images from WMS servers.

WMS servers can optionally support a GetFeatureInfo request which is a very light-weight feature querying tool. It's no WFS — typically servers return simple HTML or at best, some GML. But it's a nice hook for displaying something to users who ask "Hey, what's right here?". Alas, ArcGIS Explorer appears to allow its "information task" to query WMS layers, but it doesn't work. It claims to find no features, but some HTTP spying reveals it never even asks. It's easy to fake with your own tool, but since ArcMap supports info queries on WMS layers, the lack of AGX support is puzzling. I wish they'd support the GetFeatureInfo in AGX — it's a quick and easy hook into user-defined content supplied as web pages!

It's as if ArcGIS Engine (which AGX is built with) wasn't a carved-out subset of ArcMap made for building with, but instead a strangely buggy alternate implementation of all that's in ArcMap. Say it ain't so!

A Warped Picture

While I've been pretty tough on AGX's efficiency, it does at least seem to avoid some basic correctness issues that still plague Google Earth. Check out what happens when a pretty generic NOAA WMS service is shown on Google Earth!

Google Earth is asking for a 512x512 image, and IMS is returning one, but clearly there is disagreement about just what the correct extent should be. This problem has existed for a while and there are various tricks out there to fix the problem, though it generally seems to work better if you're a "KML reflector" rather than a WMS impersonator.

Now it's interesting to note that particular WMS service is ESRI-powered (using their IMS/WMS connector), and another Canadian Atlas WMS service overlays just fine... and it's powered by MapServer. But one must never attribute to malice aforethought that which can be adequately explained by incompetence or inattentiveness!

And just why Google Earth decided to do a single image overlay as opposed to WMS tiles, I still don't know. I suppose lots of WMS services are more like IMS in their flavor -- lots of labelling that would look bizarre if repeated in tiles.

2 Comments:

At April 27, 2007 4:30 AM, Anonymous said...

Check out the 'reaspect' flag in your WMS call - that will likely solve your problem.

 
At April 27, 2007 8:06 AM, Anonymous said...

While Google Earth's out-of-the-box support for WMS services is a bit limited, one can code one's own tile calls using the <GroundOverlay><Icon><href> tags.
Combine this with GE's Regions functionality + excellent caching, and you can whip up a very nice user experience.

Brian Timoney

 

Post a Comment

Links to this post:

Create a Link

<< Home