Calling ArcGIS Server from ArcIMS
I just finished a project where we needed to generate and visualize a least cost path between two points from our existing ArcIMS based geographic portal (http://www.natcarb.org).
While map services (ArcIMS & WMS) are quite powerful they can not run geoprocessing models. To execute the least cost path model I am using ArcGIS server 9.1. ArcGIS server is built on the underlying ArcObjects that run ArcGIS desktop.
Here are the basics...
Step 2:

The service can be tested here. Make sure you view the source to see the returned XML response.
So in wrap up we are using ArcGIS server within our current ArcIMS configuration by calling a REST servlet that executes the servlet and returns an xml document with a link to the image. This image is then added to our ArcIMS request as a dyamic image (with appropriate world file).
For you java hounds here is the source file. Go here for the basic concept if it were run from model builder.
Questions/comments?
Cheers,
Jeremy
While map services (ArcIMS & WMS) are quite powerful they can not run geoprocessing models. To execute the least cost path model I am using ArcGIS server 9.1. ArcGIS server is built on the underlying ArcObjects that run ArcGIS desktop.
Here are the basics...
- Computing the least cost path requires two steps. The first is to generate the cost distance from your first point to all the cells in the cost raster. The second step actually generates the path from: the to point, the cost distance raster, the backlink raster (both computed in the first step), and the type of path to be generated.
- Both points (from and to) will be generated by the user selecting two points on the map.
- The cost raster has already been computed for the region.
- I decided to build a REST based servlet that takes in the two points (in the appropriate projection) and calls my java class that then constructs the distance raster and exports the final map as an image (along with the appropriate world file information).
- The image is then downloaded and loaded into ArcIMS as a dynamic image layer. The key thing to note here is that any image (png, jpg, gif) can be loaded into ArcIMS as a new layer as long as it has a valid world file (pgw, jgw, gfw). For more information on doing this in ArcIMS see the Birds of a Feather powerpoint below...
Step 2:

The service can be tested here. Make sure you view the source to see the returned XML response.
So in wrap up we are using ArcGIS server within our current ArcIMS configuration by calling a REST servlet that executes the servlet and returns an xml document with a link to the image. This image is then added to our ArcIMS request as a dyamic image (with appropriate world file).
For you java hounds here is the source file. Go here for the basic concept if it were run from model builder.
Questions/comments?
Cheers,
Jeremy
Posted by jbartley at 2:13 PM | Link | 3 comments
Subscription Options
You are not logged in, so your subscription status for this entry is unknown. You can login or register here.
Re: Calling ArcGIS Server from ArcIMS
Nice one Jeremy! You certainly have thought outside the box :)
I guess the most obvious question is why aren't you just using ArcGIS server .. ?
I guess the most obvious question is why aren't you just using ArcGIS server .. ?
Posted by Chris Tweedie on May 3, 2006 at 6:09 PM
Re: Calling ArcGIS Server from ArcIMS
Thanks Chris!
ArcIMS does just fine for what we are serving now for most of our applications. We just needed to add a few geoprocessing tasks with AGS...
Also we were in no hurry to rewrite everything else just to serve it through AGS. So I wanted to use ArcIMS for what it is good for (serving maps and integrating data) and ArcGIS Server for what it is good for (geoprocessing, heavy lifting).
Cheers,
Jeremy
ArcIMS does just fine for what we are serving now for most of our applications. We just needed to add a few geoprocessing tasks with AGS...
Also we were in no hurry to rewrite everything else just to serve it through AGS. So I wanted to use ArcIMS for what it is good for (serving maps and integrating data) and ArcGIS Server for what it is good for (geoprocessing, heavy lifting).
Cheers,
Jeremy
Posted by jbartley on May 3, 2006 at 6:37 PM
Re: Calling ArcGIS Server from ArcIMS
Nice work Jeremy!
We have done similar things, and will likely continue to use IMS for producing maps in large numbers. I think that 9.2 will address some of the Server issues with scalability re: web-mapping, but I'd still lean towards using it as a web service based geoprocessing/cartographic/data extraction platform.
Cheers,
Dave
We have done similar things, and will likely continue to use IMS for producing maps in large numbers. I think that 9.2 will address some of the Server issues with scalability re: web-mapping, but I'd still lean towards using it as a web service based geoprocessing/cartographic/data extraction platform.
Cheers,
Dave
Posted by Dave on May 4, 2006 at 10:15 PM
Commenting has been disabled for this entry.
