The primary purpose of setting up the LRS in AgileAssets Asset Management System is to be able to locate the various transportation events on the linear network. For example, maintenance work performed by maintenance / bridge crews on sections / bridges in the route network can be located on the LRS. Crashes that occurred on various routes, at various points can be located on the LRS. This section describes how events are located on the LRS in the Agile System.
After the network is defined the locations within the system are linearly referenced and store in a table named SETUP_LOC_IDENT. This following sections address this table in greater detail:

Basic Event Location Attributes

Event located event within the system is located by specifying the following set of information (they match the LRS fields described in Chapter 8.1):

LOC_IDENT Column

"LOC_IDENT" is a field used by the system to uniquely identify all events on the LRS. The location data (on both Base LRM and Alt. LRM) for each LOC_IDENT is stored in a table called SETUP_LOC_IDENT. This table records only the location information and the name of the table that contains the attributes regarding this location. The attributes of the location for each LOC_IDENT is then stored in the corresponding table, with the same LOC_IDENT value.
The value for LOC_IDENT is generated by a sequence for every event that is recorded by the system. An event can be described the identification of a location on the LRS for a particular table where the particular table stores all the attribute information regarding that location. For example, when new sections are created, LOC_IDENT values are generated for each section as each section is a separate event on the LRS. Another example is when condition (performance measure) data is collected for a specific site, another LOC_IDENT value is generated (when saving this information into the system) even if the locations is exactly the same as location of a section. The reason is the corresponding attributes are different and stored in different tables and therefore they comprise separate events on the LRS.

SETUP_LOC_IDENT Table

The table SETUP_LOC_IDENT has a set of columns for each LRM. Only the columns for the basic LRM (default Agile LRM) will be mentioned in this document. The SETUP_LOC_IDENT has the following columns for the basic LRM. The following table also shows a sample of the data stored in the table.

Column for Base LRM

COLUMN_ID

DATA TYPE

LOC_IDENT

NUMBER

ROUTE_ID

NUMBER

LANE_DIR

NUMBER

LANE_ID

NUMBER

OFFSET_FROM

NUMBER(22,3)

OFFSET_TO

NUMBER(22,3)

SOURSE_TABLE

VARCHAR2(32 CHAR)


Example Data from SETUP_LOC_IDENT Table

LOC_IDENT

ROUTE_ID

LANE_DIR

LANE_ID

OFFSET_FROM

OFFSET_TO

SOURSE_TABLE

121101006

743003

0

0

0.4

0.5

PMS_ROADWAY_INVENTORY

121101007

742988

0

0

0.1

0.2

PMS_ROADWAY_INVENTORY

121101008

743314

0

0

0.3

0.4

PMS_ROADWAY_INVENTORY

121101009

743303

0

0

0.5

0.6

PMS_ROADWAY_INVENTORY

121101010

743376

0

0

1

1.1

PMS_ROADWAY_INVENTORY

121101011

743355

0

0

0.3

0.4

PMS_ROADWAY_INVENTORY


The SETUP_LOC_IDENT table contains a record of all the location referenced events within the system. Each event is referenced by a unique identifier LOC_IDENT that also serves at the primary key for the table. It is important to note that this table stores the location information for each event only. The attribute data for the event is always stored in another table that references the event LOC_IDENT. To facilitate the location of the associated event table the column SOURSE_TABLE is used to identify the attribute table name.
In all the other tables the actual linear reference of a given event is stored in this table. The related key is always the LOC_IDENT column.
When a system is configured with multiple LRMs, each LRM's column are added to the SETUP_LOC_IDENT table. Below is an example of the table configuration with a Base LRM and County-based Alt. LRM.

SETUP_LOC_IDENT Structure (Example with a county-based LRM)

Column Name

Pk

Null?

Data Type

Comment

LOC_IDENT

Y

N

INTEGER

Unique Event Identifier

ROUTE_ID


N

INTEGER

Event Route Location (FK)

LANE_DIR


N

INTEGER

Lane Direction (0, 1, 2)

LANE_ID


N

INTEGER

Lane Identifier

OFFSET_FROM


N

NUMBER (22,3)

Begin measure of the event

OFFSET_TO


N

NUMBER (22,3)

End measure of the event

SOURSE_TABLE


Y

VARCHAR2 (32 Char)

Associated Event Attribute table

DATE_BIRTH


Y

DATE

Begin date for event

DATE_DEATH


Y

DATE

End date for event

CHILD_LOC_IDENT


Y

INTEGER

Not used

LENGTH


Y

NUMBER (22,4)

Length of event

NETWORK_ID


N

INTEGER

Network Identifier for event (1)

PERPEN_OFFSET


Y

NUMBER (22,3)

Distance off route centerline

TEMPO_EFF_DEATH_DATE


Y

DATE

Date event died in the LRS network

TEMPO_EFF_BIRTH_DATE


Y

DATE

Date event was born in the LRS network

TEMPO_BIRTH_DATE


Y

DATE

Date Record was born in the system

COUNTY_ FROM


Y

INTEGER

Alt LRM - County (From)

COUNTY_ROUTE_FROM


Y

INTEGER

Alt LRM - Route (From)

COUNTY_ TO


Y

INTEGER

Alt LRM - County (To)

COUNTY_ROUTE_TO


Y

INTEGER

Alt LRM - Route (To)

COUNTY_ROUTE_EMP


Y

NUMBER(22,3)

Alt LRM - County Route Begin milepoint

COUNTY_ROUTE_BMP


Y

NUMBER(22,3)

Alt LRM - County Route End milepoint

DATA_YEAR


Y

INTEGER

For Event tables with EFF_YEAR column this is a copy of the EFF_YEAR data value from the event table. This is used to improve the performance for certain types of queries. A Java trigger "com.agileassetsinc.trigger.UpdateDataYearTrigger" should be configured on these event table to keep the data in sync (see Section 3.1.4 about Java Triggers).


Note: In many county-based LRMs, County name is a part of overall route identifier, if a location event crossed county boundary, its beginning route name (COUNTY_ROUTE_FROM) can be different with its end route name (COUNTY_ROUTE_TO). On the other hand, for events that do not span county boundaries, COUNTY_ROUTE_FROM will be the same as COUNTY_ROUTE_TO.

LOC_REF_xxx Records in SETUP_LOC_IDENT

A special set of records in SETUP_LOC_IDENT (where SOURSE_TABLE='LOC_REF_xxx', and xxx is the LOC_REF_ID from SETUP_LOC_REF described in Section 8.1), is what the system uses to map between the Base LRM and Alt LRM. In the following example from Section 8.2.2:

Example Alternate LRM Mapping Screen

SETUP_LOC_IDENT Table Data with a County-based LRM Example

Event Geometry

In the system, for any table that has a LOC_IDENT column (i.e., the location data in the table is based on the LRS), a "GEOM" database column (data type Geometry) can be optionally added to the table to store the spatial geometry of the data. Whenever a linear location is updated, the corresponding GEOM column is also updated with a spatial geometry to match the linear location, using dynamic segmentation against SETUP_NETWORK_LINES.