Flexible ArcIMS Application Meets Wide Range of Needs
|Based on a MapLinksID in the URL, MapIt! issues a SQL query to determine which ArcSDE data layers belong to the map. The appropriate data is added on the fly and presented to the user.|
Colorado Division of Wildlife (DOW) customers are "map people." Colorado has approximately 300,000 licensed hunters and 900,000 licensed anglers. Add to this the countless number of outdoor enthusiasts who like to hike, camp, or watch wildlife in any of DOW's 230 recreation areas, and there is no question that an enormous demand for maps exists. The elk hunter from Pueblo who wants to see migration routes in the Game Management Unit for which he has a valid license, the rancher in North Park interested in elk winter forage use, or the DOW biologist trying to maintain healthy herd populationsthey all want maps.
Historically, DOW's diverse clientele, coupled with its statewide purview, has meant map delivery was difficult and quality varied between the state's 19 service centers. According to Dale Lashnits, public affairs/information manager for DOW, "The Division of Wildlife really needed a better mechanism to meet the far reaching and sophisticated mapping needs of our customers." The solution was "map enabling" DOW's existing and popular Web site with context-sensitive map delivery. The development team was tasked with providing technology that would allow users to obtain supporting maps for any area, species, or project mentioned on the existing DOW Web site.
Building on its experience working with an existing ArcView IMS application, the development team selected ArcIMS and ArcSDE to meet the design requirements that were deemed central to the success of this new project. The most important and challenging aspect of the project was developing a design that would allow a single map service to be customized for a wide range of users and user needs and a method that would allow a new map product to be created and distributed rapidly without modifying existing code or writing new code.
To achieve topic-based customization with ease of maintenance, Chris Johnson, DOW GIS programmer, and Tammy Bearly and James Zack, research associates from Colorado State University, designed a back-end relational database in Microsoft Access that would catalog available ArcSDE datasets, reference ArcIMS Extensible Markup Language (ArcXML) rendering elements, and group data into topical maps referenced by a MapLinksID. Bearly then wrote Active Server Pages (ASP) code to check for a MapLinksID in a published URL string. When a MapLinksID is found, the code makes an SQL query to the database to determine the individual data layers that make up the map and how each layer should be rendered and ordered.
New layers are created and added on the fly using ArcIMS ActiveX connector objects and then displayed to the user along with the existing base data defined in a generic ArcXML file. "We learned from our previous IMS experience that a design to allow easier maintenance, even if it involved a more time-consuming coding process, would pay off in the long run," said Bearly. "The accurate perception that we are now more responsive than ever before has won over internal and external clients alike."
In addition to the data and map design management, some of the tools featured in the MapIt! application are also handled in Microsoft Access. The gazetteer function allows users to quickly zoom to an area of interest. Starting with the United States Geological Survey's Geographic Names Information System (GNIS) dataset, all locations were entered into an Access table and given an x,y point value or, if necessary, bounding box values. New boundaries are simply appended to this table as needed. ASP code dynamically assembles the gazetteer each time the site is visited. Users immediately have access to any data changes but no code modification is required.
"It goes without saying that finding a place on a map is just as important as what you find once you get there. Writing code that allows us to quickly add new areas of interest or update existing features in the database environment is simply an extension of the companion database concept," said Bearly.
An extensive user survey revealed that a single set of base data could be used as long as user or topic specific data could be added appropriately. MapIt! base data was set up in a single locator ArcXML file that is the cornerstone for all subsequent maps. All data is stored in ArcSDE and optimized with appropriate spatial indexes. Due to the geographic scope and the need for use at multiple scales, data layers are scale dependent. The combination of these two design principles and the corresponding hardware setup assures quick map delivery regardless of a user's area of interest.
With this design, it takes very little time to add a custom interactive map for any area of interest to any Web site. This allows the needs of many different DOW customers to be satisfied. For example, a Denver scientist who wants to have a conference call with scientists both across Colorado and in neighboring states to discuss data on chronic wasting disease (CWD), a potential threat to the big game hunting industry, can have a map generated that shows CWD hot spots in relation to study boundaries. Once the data is received, it would take less than an hour for scientists across the state, county, or world to look at the same data draped over standard base data by using the following process:
- Insert data into ArcSDE.
- Add a record for each dataset into a data table.
- Define an ArcXML rendering scheme using the rendering table.
- Add the unique rendering ID back into the data table.
- Add a map record to group the CWD hot spots with the study boundaries.
- Create a unique URL and send to conference call participants.
The longevity of a project depends, in part, on its ability to respond to the changing needs of an organization and its clientele. By fully understanding the current needs and anticipating future needs, it is possible to build flexibility into an ArcIMS design to quickly and easily make changes outside the coding structure. The benefits from this approach include
- Eliminating the need for code "relearning" or even the need for a programmer's help to make modifications
- Allowing for responsiveness without debugging new code
- Centralizing "business rules" for map production
- Producing an application that is better suited to meet the ever-changing needs of a typical client base
For more information, contact
Chris Johnson, MapIt! Project Manager
Tammy Bearly, ArcIMS Programmer