NRIS Water Event Creation and Display Tools in Arcview

Harbans Lal
NRIS Water/Anteon, Corp.
Corvallis, OR 97333
Ph (541) 750-7174

This paper describes the NRIS Water tools developed using Avenue scripts to create and display point and linear events in Arcview. On the selected route, the user marks the points – at least two for a linear event, and at least one for a point event, and then clicks on the specially designed button on the Arcview interface to insert the information into the NRIS Water Oracle database. On the successful insertion, the user can opt to display the newly created events automatically as an event theme if so desired. Other options of the display tools include displaying events for the entire watershed, for the selected route, or a particular event type. Information generated in Arcview is also transferred automatically on the ORACLE form(s) – a GUI for entering and accessing NRIS Water tabular information.

Introduction

The Natural Resources Information System Water Module (NRIS Water) is an integrated aquatic resource information management system. It incorporates maps, graphs, images, and related data about aquatic ecosystems, water uses and rights, and watershed improvement projects. Information can be reviewed and analyzed at several geographic scales, both within and across administrative and jurisdictional boundaries. It provides an efficient, user-friendly, and adaptable toolkit that will help (1) manage aquatic information common to all U.S. Forest Service (USFS) administrative units; (2) integrate hydrology, fisheries, and aquatic ecology information with other corporate databases and tools; and (3) build a bridge between legacy data and corporate information resources.

NRIS Water (Figure 1) is organized into four main sub-modules: 1) Water Use Tracking System (WUTS) to track water uses, water rights and associated structures, 2) Aquatic Inventory (AI) to store “core attributes” of physical stream characteristics, reflecting different hierarchical levels of the riverine system, 3) Aquatic Biota (AB) to store information about aquatic fauna including threatened, endangered, and sensitive aquatic species in streams and lakes, and 4) Watershed Improvement Tracking (WIT) to inventory, plan, implement, and monitor watershed improvement projects either individually or at the watershed scale.

Image of NRIS Water Main Menu
Figure 1: NRIS Water Main Menu and Navigation Tree

Currently, there are more than a hundred aquatic information systems in use throughout the Forest Service. NRIS Water would provide mechanism to aggregate these databases into a single system and permit sharing existing and new data across resource areas and with other agencies. It is estimated that USFS currently spends 80% of its resources in data collection and only 10-20% on the data storage and management. This approach has been problematic, especially when compiling information from different sources. The NRIS Water approach would reduce this problem significantly and would provide field users with standardized forms and reports.

The principal software components of NRIS Water are 1) Oracle Relational Database System for storing the data, 2) Oracle Forms for entering attribute data, and 3) an Arcview interface (project) for interfacing with the ORACLE database and forms (Figure 2). Another component named GIS Foundation including a PL/A extension permits a seamless integration among different components of NRIS Water. The NRIS Water Arcview Project provides a link between the ORACLE database and GIS coverages. Numerous tools have been added to the default Arcview project to carry out tasks specific to the NRIS Water application. These tasks include but are not limited to creation and display of linear and point events on stream and road networks.

Image of NRIS Water Software Components
Figure 2: Software components of NRIS Water

Spatial Data Requirement and Management

All of the information entered into NRIS Water is linked to a geographic location referred to as a map unit. A map unit can range from an entire watershed to a single point on a stream network or off the stream network. Aquatic observations on a stream network are generally made on a pre-defined single point and referred to as a stream point or between two points referred to as a stream segment. The dynamic segmentation concept of ARC/INFO has been employed to create stream points and stream segments. Thus, the routed coverage of the stream network is one of the required coverage for NRIS Water. The initial versions of the NRIS Water (v1.0 and v1.1) used a stream based system of routing the stream network. The details of this system of routing, known as LLID routing system are available at (http://agdc.usgs.gov/hydro/test/llid.htm). In this approach, each stream or river is represented as a single route and assigned a single unique identifier (LLID) based upon latitude and longitude of the mouth of the river. The current version of NRIS Water (ver 1.2) has been developed using NHD (National Hydrography Dataset). In this system (http://nhd.usgs.gov/) a separate route identifier is assigned for each portion of the river between two confluences at the map scale of 1:100k. The usage of NHD as an underlying data structure for NRIS Water provides the possibility of its faster and quicker adoption because the spatial data is already available from the USGS web sites. In addition, the NHD data structure has also allowed some added functionalities in the NRIS Water Arcview project discussed later in the paper.

The other required coverages for NRIS Water include: 1) forest level watershed coverage, 2) a point coverage for non-stream points, 3) watershed improvement polygons, 4) waterbodies such as lakes, etc., and 4) routed coverage of road network, if available. A copy of the feature attribute tables such as AAT, PAT, RAT, etc. of all required feature classes is also stored in ORACLE to synchronize INFO and ORACLE spatial data elements. A hierarchical data model consisting of watershed-stream-segment/point is used to link attribute data to spatial map units.

NRIS Water ArcView Project

This project (NRIS_WATER.APR) provides a link between the Oracle database, Oracle forms and spatial coverages. Several additional tools have been added to the default ArcView project (Figure 3), which allow the user to pass tabular data back and forth between the Oracle forms and ArcView. This new capability allows users to store aquatic data together with their locations, which can then be displayed in ArcView.

Image of NRIS Water Arcview Project
Figure 3: NRIS Water Arcview project interface

The key functions of this project include: 1) creation of new stream and road segments and points, and 2) display new and existing segments and points. A pull-down menu item (NRIS Water) on the view menu bar allows the user to access added Arcview functions unique to NRIS Water (Figure 4).

Image of NRIS Water Arcview Menu Items
Figure 4: Menu Items of NRIS Water Arcview Project

Initialize Global Variables allows changing values of two global variables namely Search Tolerance and Snap Theme Cover in version 1.1; and Current Working Directory and Snap Theme Cover in Version 1.2.

Select the Watershed and Initialize View allows selecting a watershed from the forest level index coverage and a set of base coverages such as stream routes, waterbodies, etc. and automatically creates a view (NRIS WaterView) of the selected themes.

Add Themes to ArcView View allows selecting and adding the coverages not included in the initial selection process. The ArcView’s default <Add Theme> button can also be used to add theme(s) not included in the base theme list of NRIS Water.

Creation Tools allow creating stream segments, stream points, road segments and road points on streams and roads interactively in Arcview and transferring the information to Oracle tables and forms. The process of creating point and linear events both for streams and road route system and data structure for storing their information is discussed in detail later in this paper.

Display Tools automatically create and display event themes for the selected set of parameters (e.g. stream segments for the selected stream or for the selected watershed, or a particular segment type).

Stream Route Characteristics available in version 1.1 only displays the stream name, LLID, Index Measure at the clicked location or over the route distance on the selected stream.

Travel Route Characteristics similar to Stream Route Characteristics, it displays location characteristics of the selected road.

Clean the Project removes all open documents except Watershed Index View and the NRIS WaterView. However, all themes are removed from these two views leaving them blank for the next round of analysis.

Event Creation Procedure

The NRIS Water arcview project is coded in Avenue. However, it uses numerous PL/SQL functions to do heavy tasks of searching, inserting, and deleting data elements in the ORACLE database.

Stream/Road Segment(s)
The user selects a stream of interest. This stream is composed of multiple NHD route reaches in version 1.2 and a single LLID route in earlier versions. The Arcview selection tool has been modified to select the entire set of reaches that compose a stream. The stream can also be selected on NRIS Water Oracle form(s) and the selection is transferred to Arcview automatically.

Segment creation requires the user to click two points on the selected stream set. In version 1.2, for each point, a search for possible snapping choices such as: 1) to a confluence, 2) intersection with another linear theme, 3) start or end measure of existing linear or point event, etc. is made and presented to the user. Based upon the selection of the snapping choice, the exact location of the clicked point is adjusted and a graphic symbol is created and displayed. The user is asked if she/he would like to keep the displayed point. If so, information about the route location including its identifier and index measure for the point is calculated and stored in a temporary table.

Once the required number of points are clicked and accepted by the user, she/he clicks an especially designed insertion button that carries out the following tasks:

  1. The portion of the selected route(s) between two consecutive user-defined points is highlighted to confirm with the user if she/he would like to create a segment over this portion of the route.
  2. If so, a check is made to see if another segment with exactly the same parameters already exists. If such a segment exists, the user is advised accordingly, and no new segment is created.
  3. Else, additional information such as segment-ID and segment type (REACH, ECOREACH, VALLEY SEGMENT) is collected from the user. All this information along with a system generated primary key (WLOC_CN) using an ORACLE function is stored in a temporary table.
  4. Once all needed information is available, it is automatically inserted into appropriate tables in the ORACLE database.

On the successful insertion of the new segment(s), the user is asked if he/she would like the newly created segments displayed as an event theme. If so, an event theme for the new segment(s) is automatically created and added to the arcview view.

In version 1.2, only one stream segment is created at a time, if the user tries to enter more than two points, the system presents a warning and advises the user to click the insert button. However, the earlier versions permitted the creation of multiple stream segments simultaneously similar to travel route segments for all versions of NRIS Water.

Stream/Road Points
Similar to segment creation, the user enters the point(s) on the selected routes (streams or roads). For each point, the list of snapping choices is presented for the user to select a snapping choice. The clicked point is automatically adjusted based upon the choice and a graphic symbol is placed on the adjusted location of the point. The user is asked if she/he would like to keep the point. If so, the user is prompted for additional information such as Point-ID which is stored in a temporary table.

There is no limit on the number of points that can be created in a single operation. Thus, the user can click and save as many points as he/she desires prior to clicking the specially designed insert button. The information from the temporary table is automatically transferred to the ORACLE database when the user clicks on the insert button. On the successful insertion of the point(s), the user is given a choice if she/he would like the newly created points displayed as an event theme.

The user-interface for event creation and display tools in the two versions of NRIS Water (version 1.1 and version 1.2) is very similar and the user would not notice much difference while creating segment or point events. However, the version 1.2 has several new behind the scene features that make it more robust. Table 1 compares the features of this version with an earlier version of NRIS Water Arcview Project. One of the unique features of Version 1.2 is the possibility of creating stream segments spread over multiple streams or reaches (routes) rather than restricting them to single route.

Event Data Model

The event tables in NRIS Water are stored in its ORACLE database which are updated every time a new event (Stream Segment, Stream Points, Road Segments, or Road Point) is created in its Arcview interface. Figure 5 presents the event data model for stream segments for the NHD route system used in NRIS Water Version 1.2. This model consists of one Info table and five oracle tables which store information about different point and linear events. The NHD.RATRCH table of the NHD coverage is copied to ORACLE database. Using the NHD flow information (NHD_FLOW) table and Level (NHD_LEVEL), NHD_STREAM_LIST table is generated which groups the NHD route reaches with same NAME and/or level into a unique stream (STREAM_CN). The NRW_WLOC_SPATIAL_MTX stores the details about events (one or multiple) for every water location (WLOC). For each stream point, road segment, and road point record in NRW_STREAM_SEGMENTS there will be only one record in NRW_WLOC_SPATIAL_MTX. However for stream segments, there could be one or more records in NRW_WLOC_SPATIAL_MTX for each record in NRW_STREAM_SEGMENTS depending on whether the segment extends over multiple route reaches. This data model, referred to as Universal Event Model (UEM) permits to store both linear and point events into single table and also allows us to capture and store segments (linear events) which expand over multiple routes.

Image of Universal Event Data Model
Figure 5: Universal Event Data Model

NRIS Water Tools and Buttons

To carry out the tasks described above the following tools and buttons have been added to the project.

Get User Point Tool collects information about the user point clicked on the selected route(s) for its location information. This tool is used very intensively for creation tools and route characteristics.

Get User Line Tool collects information about the user line along the selected route for its location information. This tool is used for route characteristics along the route.

Select Watershed Tool allows the user to click a point on the watershed index coverage to select a single watershed.

Select User Point Tool is a modified version of the default Select User Point tool that selects the entire stream associated with the clicked route reach rather than single reach.

Event Insert Button is the specially designed button that processes the insertion of the new events (stream segment, stream points, road segments and road points).

Return to Oracle Form Button is added to the NRIS Water project when it is activated through the Oracle form. The control is transferred to ORACLE form when the user clicks on this button.

Interaction with ORACLE forms

The NRIS Water ArcView project is seamlessly integrated with other components of NRIS Water including Oracle Forms and the Oracle database. The user can switch among these components on the click of a button. In case of ORACLE forms, there are two buttons (GIS-Query and GIS-Display) that permit accessing Arcview whenever they are active. The GIS-Display button allows the user to select a map object from a list (such as a watershed, stream route, etc.) on the ORACLE form to be displayed in ArcView. The GIS-Query enables the user to select a map object from the ArcView view and have that record displayed on the Oracle form.

The NRIS Water Arcview project has two predefined views (Watershed Index View and NRIS WaterView). The Watershed Index View is used to display the watershed theme for querying and selecting a specific watershed on the main menu. On the other hand, the NRIS WaterView displays all other themes, such as streams, roads, lakes, etc. The user selects a watershed in the Watershed Index View and the system automatically creates the NRIS WaterView for the selected themes and zooms into the extent of the selected watershed. All events (linear and points) for stream and road network are created on this view.

A typical session with NRIS Water

A typical session with NRIS Water would involve selecting a watershed from its navigation tree in the ORACLE form and initiating one of the four modules (AB, AI, WIT, and WUTS) and then accessing ARCVIEW to create segment(s) or point(s) on the selected route(s) where a resource specialist has collected or plans to collect the data. For example, a fish biologist who has just returned from the field after conducting a survey on a segment of a named stream and wants to enter the observed data into NRIS Water. She/he would start the NRIS Water application, navigate to the watershed of the surveyed stream, select AB (Aquatic Biota) module, identify the stream of interest and click on one of the GIS buttons to transfer to the NRIS Water Arcview project. In arcview she/he would create the stream segment using the method described earlier, and return to ORACLE form and navigate through all other AB forms to enter the collected data. The stream segment or stream point once created can be used multiple times to enter data from multiple surveys over time or by different resource specialists.

Table 1. Comparison of NRIS Water Arcview Project V1.1 vs. V1.2
AV Project 1.1 AV Project 1.2
1. One Route to One Stream 1. Multiple Routes to One Stream
2. Route index measures in linear units (some indication of distance) 2. Route index measures in percentage 0-100 (no indication of distance)
3. Segment restricted to a single route 3. Segment could span over multiple routes
4. Segment restricted to a single stream 4. Segment could span over multiple streams
5. Event (Segment and Point) creation using Avenue code only 5. Event (Segment and Point) creation using combination of Avenue code and Oracle procedures
6. Event creation both in Arcview and ORACLE forms 6. Stream events creation only in Arcview
7. No-flow validation functionality 7. Built-in flow validation
8. Point selection tool selects single object only (Default Tool) 8. Point selection tool to select multiple objects (Modified Tool)
9. Single coverage for the entire forest for each of the required NRIS Water themes 9. One or multiple coverages for the entire forest for each of the required NRIS Water themes (Tiling Concept)
10. Limited snapping choices in sequence 10. More snapping choices in a single menu
11. User defined search tolerance insensitive to the scale of view 11. Auto adjusted search tolerance dependent on scale of theview
12. Working directory fixed to FS configuration /fsfiles/fstemp (hardwired) 12. Working directory can be changed to any configuration (defaults to /fsfiles/fstemp)
13. Segment creation not sensitive to waterbodies 13. Sensitive to large waterbodies (>10ac) – can’t create BIP/EIP in waterbody
14. Can create multiple segments in a single step 14. Can create only one segment at a time

Acknowledgements

The author wishes to thank Brian Sanborn, Mary Barczak, and Orion Dix for reviewing, and helping to format this paper to meet Esri requirements.