Monday, August 11, 2008

Using Shared TITAN Layers with ArcGIS Server

In an earlier post, it was mentioned that ERDAS TITAN could be used as a proxy to bypass the limitations of data ingestion within many geospatial applications. This tutorial will attempt to demonstrate this idea. For this tutorial I decided to share data from a TITAN Client on my workstation to the TITAN Client on my ArcGIS Server machine. I did this so I could go through the complete process of consuming published datasets as well as being able to pull the TITAN WMS URL for that data into ArcGIS server and serving it out as a web application. This process let me control all aspects of the data I published, but the process will work for any published layer in TITAN.

Why is this useful? Using TITAN to publish datasets as WMS and then consuming and ultimately publishing them into a web application with ArcGIS Server decentralizes the data. For example, the traditional method of creating a web application entailed pulling data from a central server or database. With the WMS layers being provided by any TITAN user, no data needs to be stored locally on the server itself. You can directly consume the WMS layers into ArcMap and publish the map document you create from them.


Additionally, the speed of sharing and publishing the data via TITAN relieves you of data transfer time and storage needs, since you are accessing the data from someone else’s TITAN instance. Since TITAN creates the WMS URL by default, you only have to copy the address rather than write a custom application or have an in-depth knowledge of the WMS specification.

The first caveat is that a TITAN Client must be running on the same computer/server that ArcGIS Server is installed. This is a “must” because TITAN serves out WMS layers through a localhost address, so trying to access the WMS that resides on a separate workstation from the server will not work.

To start, I loaded the data I wanted to share into TITAN on my workstation. Figure 1 shows the datasets that I published in the Geospatial Instant Messenger. I’m logged in with my personal username (i.e. see ‘jherr’ at the bottom of the IM) in this case and I’m accessing our NVision GeoHub. The data visible in this Instant Messenger screenshot are some county-wide layers we use in various projects. The original data format, as you can see, was a shapefile. The first layer is an accurate road network and the second layer holds building footprints from 2006, just following Hurricane Katrina.

Figure 1 - Data loaded into TITAN

Next, I set the permissions for the two datasets to public so people could actually see what I was sharing. In this case, I just defaulted to setting both layers to Public (figure 2).

Figure 2 - Setting permissions for shared data

After the permissions were set, I set the styles for each layer. This step is more of a personal preference as I wanted to control how the layers would display on another user’s system. For the roads I made the lines black and as thin as possible. For the building footprints, I set the layer to fill the polygons with a light orange color and border them with a darker orange.

Figure 3 - Setting the styles of the layers

These first three steps are standard tasks when adding data into TITAN, nothing really out of the ordinary, but I wanted to document them as part of this tutorial process. The following set of steps is the real meat of this tutorial. At this point everything is done on the server machine that houses ArcGIS Server. Also as a prerequisite, ArcGIS Desktop should be installed on the machine for reasons that will soon become evident.

The first thing I did on the server install of TITAN is find the shares and get the WMS URL of each. You can do this by right-clicking on the shared layer and choosing “Copy WMS URL.” If you were to paste this link somewhere, you’d see that the address starts with http://127.0.0.1:8090. This is the reason TITAN needs to be on the ArcGIS Server machine, because the 127.0.0.1 is synonymous with “localhost” and cannot be accessed from a different computer.

Figure 4 - Getting the WMS URL on the server TITAN

The next step is to pull this WMS layer into ArcGIS. You can do this a couple of ways. One is to open ArcCatalog and add the layer into the GIS Servers area of the table of contents (toward the bottom of ArcCatalog’s contents). In there you can click Add WMS Server and it will prompt you for the WMS URL. Paste the URL you copied from TITAN and click the Get Layers button. You should see the information about the WMS layer. When you click OK, it will be added to your GIS Servers. You can change the name to something more meaningful if you’d like. I left it as the default.

Figure 5 - Pull the WMS layer into ArcGIS

At this point the WMS layer is now usable by ArcMap. If you want to bypass using ArcCatalog to connect to the WMS, you can do that through ArcMap by going to Add Data and scrolling down to GIS Servers in the Look In: dropdown box and selecting Add WMS Server. From there the instructions should be the same as above. I added some layers into ArcMap that cover the same area as my WMS layers. I then added the WMS layers that I had into ArcMap and made sure that everything displayed correctly. You could open an empty map in ArcMap and only add the WMS layers and it should still work correctly.

Figure 6 - Use WMS in ArcMapFigure 7 - View WMS in ArcMap

Once you save the MXD with the WMS layers in it, you can publish it as an ArcGIS service. I published it through the ArcGIS Server Web Manager. For the resource type, choose “map” and browse to where you saved the MXD and give the service a meaningful name. Mine is titled “titan_wms_and_basemap.”


Figure 8 - Publish ArcGIS Service

Now that you have an ArcGIS map service, you can build a web application using that service. In the ArcGIS Server Web Manager, choose to create a web application, name it and give it a description if you’d like, and add the services you want in the web application. I just added the service I created with the WMS layers in it, but you can add more if you have some in mind.

Figure 9 - Add map service to web application

Continue through the wizard until your web application is finished. It’s not completely done yet, though. You will need to deploy the web application to make it viewable in a browser (and to the public as a result). Find your web application in the list and click the check box. Now click Deploy at the top and your web application will deploy after a little bit of processing. If you now click the web application name, it will give you a web address that you can click to see your newly-completed web application. Figure 10 has my example.

Figure 10 - Check out your web application

If you want to view my working example ArcGIS Server Web Application, click here: http://vmserver.nvs-inc.com:8399/titan_test/.


Since 2003, Joel Herr has worked for NVision Solutions, Inc., first as a GIS Analyst and currently as a GIS Specialist. He works heavily in analysis, training, production, and web application development.

NVision Solutions, Inc. is a small, disadvantaged, minority, woman-owned certified 8(a) firm specializing in advanced geospatial solutions and powerful web applications. NVision Solutions, Inc. has also assisted in several ERDAS TITAN installations and has selected it for use in emergency management and disaster recovery. NVision is headquartered at the Stennis Technology Park in Bay St. Louis, Mississippi. For more information about NVision Solutions, Inc., visit www.nvisionsolutions.com.

1 comment:

Joel Herr said...

The site lost the WMS layers at some point yesterday, but they're now back up and running. If you want to check it out again, here's the link: http://vmserver.nvs-inc.com:8399/TITAN_WMS_test/