Creating a GIS Service Oriented Architecture Part III.1

III.1? Yes, III.1. I’m still toying with this one.

In the last SOA discussion, we talked about using OGC standards to create mapping services. I’ve toyed with a couple of software packages, but I’m not sold on any one of them yet. Just to show you some progress, however, you can give a test WMS service a try.

There are a lot of free, quality OGC viewers out there, but if you already are using one of those all you really need is the URL. Here I’ll give some basic directions for connecting with ArcCatalog.

In ArcCatalog, open up “GIS Servers” in the Catalog Tree. Next, double click on “Add WMS Server”.

Here’s where you enter the URL :

http://maps.co.mecklenburg.nc.us/wmstest.asp?

Now click on “Get Layers”. If you see “WMS Demo Server”, you’re in luck. If not, check to see if you have any typos in your URL.

Hit OK. Then drag it on to ArcMap.

Here’s where things take a dive. ArcGIS doesn’t seem capable of correctly reading the bounding coordinates of the WMS services (everything else I tried had no problems). So, add a layer with the same general area and zoom to that layer. If you aren’t from Mecklenburg County, you can snatch a layer from the demo in the previous post.

Once you zoom in, there it is.

This demo is using MapServer. In case you’re wondering about the ASP file, that was a simple trick from the MapServer site to simplify the URL for the user. The code looks like this:

Server.ScriptTimeout = 360

Select Case Request.ServerVariables(“REQUEST_METHOD”)
Case “GET” strRequest = Request.QueryString
Case “POST” strRequest = Request.Form
End Select

strURL = “” & strRequest

Dim objHTTP
Set objHTTP = Server.CreateObject(“MSXML2.ServerXMLHTTP”)
objHTTP.open “GET”, strURL, false
objHTTP.send “”

Response.ContentType = objHTTP.getResponseHeader(“content-type”)
Response.BinaryWrite objHTTP.responseBody

Set objHTTP = Nothing

When viewing this map, keep in mind that you can view it from anywhere on the planet. It’s shared, and the software is generally speaking (I need to make a PHP equivalent to the ASP file) free.

Next month I’m going to release part III.2 of this series, which will include a query-enabled WMS, a WFS server, and I’m also going to try a few more software packages. I’m still not quite convinced MapServer is the best solution for this part of our SOA (though it did pretty good at this basic task….).