Programming ArcIMS ActiveX connector with ASP for different browsers/platforms

Rohit Patil
Robert Elston
Franco Biondi

         The Biological Resources Research Center is developing a web-accessible Biodiversity Atlas for Nevada and the Great Basin. We want to present as rich a cartographic experience as possible for the wildest number of users. This necessarily precludes the use of an out-of-box ArcIMS solution, since not all browsers/platforms (particularly Macintosh browsers) will reliably display pages generated by the ArcIMS. We are developing a solution using ASP and JavaScript for ArcIMS that is accessible to all standard Wintel and Macintosh browsers providing much better performance and wider accessibility to the standard GIS data formats through SDE. We will discuss methods, problems and solutions.


1. INTRODUCTION

        The Biological Resources Research Center’s mission is to conduct scientific research and planning efforts to preserve the distinct biotic diversity of Nevada while providing for economic viability and other needs of its citizens. Most of the scientists on staff are ecologists and/or conservation biologists, both of which are largely field disciplines and therefore have geographic components. The BRRC’s GIS lab assists these scientists to better understand the geography of their respective study areas, and serves as a repository for most of the geographic data collected in these efforts.
        One specific assignment for the BRRC’s GIS lab has been the maintenance of the Nevada Mountain Atlas. The Nevada Mountain Atlas is a series of static web pages that contains species lists and summary geographical statistical information, like high and low elevations, relief, area, and highest peak, about the 314 named mountain ranges (McLane, 1978) in the state of Nevada. The GIS lab soon began getting webmaster emails detailing what various deficiencies were in the quality of information available on the site. Some species’ were listed using outdated taxonomy or completely erroneous taxonomy; picture links would show images of the wrong species; low elevation species would be listed for high elevation sites; etc, etc. We did our best to correct these problems as we became aware of them, but the task of keeping 314 static pages full of fairly repetitive summary information both up-to-date and error-free is daunting at best. We decided that we needed to present the data dynamically as it appears in our databases, rather than having 314 static web pages that need periodic review, recompilation and constant revision due to errors. Additionally, we felt that the Mountain Atlas concept was flawed in the context of the BRRC’s mission. Between most of the mountain ranges lie the cold steppe and desert valleys that most people associate with Nevada, and contain many of the species that the BRRC wishes to research and/or monitor. The BRRC is tasked with conducting ecological research over the entire state of Nevada, not just its mountains. The new concept is called The Nevada Biodiversity Atlas. Ultimately, ArcIMS was chosen for displaying the Atlas.


2. EXPLANATION OF THE DATA AND DESIGN GOALS

         There are several categories of data that we wish display: base layers like shaded relief grids, state and county boundaries, map quadrangle boundaries, PLSS boundaries, roads, lakes, streams and rivers; species accounts (points that represent places where type specimens were collected and subsequently curated); and land cover coverages and grids, like DEMs, GAP vegetation (vegetation classified into communities), geology, soils, and the basins and ranges that provide context for all of the other data sets (this instead of the of the old model that was centered on the 314 named mountain ranges). With IMS, the user can make some simple spatial analysis’ with these data, like what species’ occur in a particular valley or set of valleys, or what counties does a particular river cross? This is useful to both the scientists of the BRRC who can make simple analysis’ for themselves immediately, and for members of the general public who may wish to simply know what maps they will need for their trip to the Ruby Mountains or who may wish to know where they might find pallid bats. Later implementations will include data on various research projects in which the BRRC is involved.
        We have several design goals. Create an online mapping application to display the Nevada Biodiversity Atlas. Make the Atlas as platform independent as possible. Integrate the look of this application with the rest of the BRRC website (which itself is undergoing a major design upgrade). Integrate the Atlas with other areas of the BRRC website: we want to be able to give geographic context to all areas of the site. Enhance the functionality of tools provided by IMS to make them fit our own conception of how such tools should work.


3. IMPLEMENTATION DETAILS

         It is not difficult to create an IMS application using ArcIMS Designer, but the application that it creates makes extensive use of JavaScript. All requests made to the ArcIMS server are made in XML, which is built on the client side using JavaScript. ArcIMS Designer is a good tool for those who need an application to be created quickly and easily but it has some disadvantages. For instance, for every operation an XML request string must be generated on the client using JavaScript. This is slower than using methods from ActiveX connector object model as we just need to call the appropriate method instead of building a request string. This also prevents the application from working on various Internet browsers for the Macintosh; we have many Macintosh users.
         To make the application run faster and make it more platform independent, we used Server Side scripting which generates HTML and sends it to the client. In ASP we can use both server and client side scripting. Most of the HTML is created on the server and validations of user input are done on the client. This helps make the application run faster. The application created using ASP will run on most of the various Explorer and Netscape browsers on both PC and the Macintosh.
         Using the ArcIMS ActiveX connector Object Model and programming it using ASP was the best available solution for us with which to build the application. Using the ActiveX object model we can easily customize the tools according to our needs and build new tools making use of different methods available in the object model.
         There are other advantages of using ASP. ASP takes less time to write and execute. It is multithreaded, allowing a number of concurrent users. ASP can also be used to maintain user sessions. Using this we can uniquely identify each user session and depending on type of the user we can restrict or provide access to the sensitive data in our application. We can set session timeouts with which we can terminate a session if the user is idle for a given period, thus reducing unnecessary load on the server.
         The next decision was determining where to store the data required by the ArcIMS server. The data can be stored as shape files or in a geodatabase using ArcSDE. There are advantages of using ArcSDE for storing the data. With ArcSDE we can work directly with spatial data managed in a RDBMS. Performance is enhanced through storage methods that provide a fast and compact representation for spatial data. We can move data between different databases using ArcSDE’s data import-export capabilities. It defines a single logical model for spatial data implemented on top of the particular physical database. It also manages the integrity of point, line and polygon information added to the database and does not allow ill-formed feature geometry to be inserted. These factors, plus SQL Server being both relatively inexpensive on an academic license and somewhat less intimidating to novice RDBMS managers than other “real” RDBMSs, led us to the decision to use ArcSDE with SQL Server.
         The layers were divided into two groups one having layers with sensitive data and the other having layers with non-sensitive data. In identify and query operations the sensitive layers were filtered so that only non-sensitive data would be displayed to the user protecting the sensitive data. In this application, buffer operations return a list of species that occur in a particular polygon or set of polygons. Since specific locations aren’t given, the sensitive species layers are not used to filter sensitive species.


4. TOOLS PROVIDED

         Some of the interface functions from the ArcIMS HTML template have been changed to suit our needs.

1. Panning

        Panning can be done in eight directions, instead of the standard four on the vertical and horizontal axis’. However, the hand-pan tool is still probably most useful for most users.

2. Zoom-In

        Zoom-in is limited to a maximum scale such that the user cannot zoom in so close that terrain details become obscured by pixelization.

3. Zoom-Out

        Zoom-out is limited to the map extent as defined by the current window size.

4. Identify

         Our identify tool has been enhanced so that the user can draw a rectangle around multiple features and get information about all of them as well as being able to click on single feature.

5. Buffer

         This is an important tool that can be used to find all the features in a particular polygon layer (basin or range). Initially a buffer is created on a basin or a range. Then we select layer and a list of all the features of this layer present in that basin or range is displayed.

6. Window size

         When the IMS browser window is re-sized, the map image retains its focus and the extent remains nearly the same (changing the window size usually means that the aspect ratio is also changed, so the extent changes to accommodate that.). We have been unable to find another IMS implementation that does not return to the full map extent when the window size is changed.


5. PROBLEMS ENCOUNTERED

Buffering:
         The goal for the buffering tool is to be able to select a feature or group of features and have IMS be able to both display the locations of selected features within the buffer parameters AND be able to deliver a neatly formatted report containing the summary results of the buffer operation. As this is being written, the report function works, but the buffer operation is very slow compared to the buffer tool provided with the standard HTML IMS viewer. Currently, we are only allowing buffers on one feature at a time. We anticipate being able to solve this problem, and hope we have a solution in time for the formal presentation of this paper at the 2002 Esri User Conference.


6. RESULTS

         The first version of the application is complete and is online available at http://134.197.55.92:90. It is able to display the data sets that make up the Nevada Biodiversity Atlas. Since the application was developed with ASP it is a lot faster in loading and navigation as compared with other similar applications built with the ArcIMS Designer. We have provided some enhanced tools to the interface. All spatial data is stored in SQL Server 2000 using ArcSDE. The application has been tested (and continues to be tested) and works well enough that we provide links to it from the BRRC website. The application displays in standard PC and Macintosh browsers. The application displayed the web pages correctly at any screen resolution and/or browser window size. The map image retains its focus and stays as close to the scale at which it was previously displayed as possible given the probable change in aspect ratio when the browser window is resized.


7. FUTURE WORK

More tools and enhancements are planned for this application:


8. CONCLUSION

         The application was faster as compared with others and it ran on most of the browsers on PC as well as Macintosh. The application supported all screen resolutions and resizing browser window preserves the extent of the map.


9. REFERENCES

        Esri website www.Esri.com

        McLane, Alvin R. 1978. Silent Cordilleras. Reno, Nevada. Camp Nevada

        Alex Homer, Dave Sussman, Brian Francis. 2000. Professional Active Server Pages 3.0, Wrox Press Ltd.

        Using ArcIMS 4, Esri. Redlands CA Esri Press

        Customizing ArcIMS ActiveX Connector, Esri. Redlands CA Esri Press


Rohit Patil
Graduate Research Assistant,
Biological Resources Research Center
University of Nevada, Reno
Email: rohitp78@hotmail.com

Robert Elston
GIS Specialist/GIS Lab Manager,
Biological Resources Research Center
University of Nevada, Reno
Email: rge@biodiversity.unr.edu

Franco Biondi
Assistant Professor,
Department of Geography
University of Nevada, Reno
Email: fbiondi@unr.edu