Professional Documents
Culture Documents
ArcGIS Pipeline Data Model. Version Reference Guide
ArcGIS Pipeline Data Model. Version Reference Guide
Topic Page
Table of Contents
Table of Contents............................................................................................ ii
List of Figures ............................................................................................. ix
List of Tables .............................................................................................. ix
Forward .........................................................................................................1
Executive Summary.........................................................................................3
1.0 Introduction ..............................................................................................5
2.0 What Is the APDM? ...................................................................................5
3.0 Why Use the APDM? ..................................................................................6
3.1 The Business Case ..................................................................................6
3.2 The Technical Case ............................................................................... 10
4.0 History of the APDM ................................................................................ 12
5.0 APDM Standing Committee ...................................................................... 13
7.0 Difference Between a Standard and a Template ........................................ 14
8.0 Design Rationale – The Geodatabase ........................................................ 14
8.1 Structure.............................................................................................. 16
8.2 Domains .............................................................................................. 16
9.0 Core Elements......................................................................................... 16
9.1 Stationing and Station Equations ........................................................... 17
9.1.1 Distance Based ............................................................................... 19
9.1.2 Arbitrary (Pseudo-distance Based) ................................................... 20
9.2 The Centerline (Routes, Measures, and Events) ...................................... 20
9.3 Hierarchy ............................................................................................. 21
9.4 Coincident Geometry ............................................................................ 22
9.5 Events Versus Features ......................................................................... 22
9.6 APDM Compliance ................................................................................ 23
9.7 Non Geometric Features ....................................................................... 25
9.8 Topology .............................................................................................. 30
9.9 Centerline ............................................................................................ 30
10.0 APDM Conceptual Model ........................................................................ 32
10.1 APDM Abstract Classes/Metadata Overview .......................................... 32
10.2 APDM Abstract Classes ........................................................................ 33
10.2.1 What is an abstract class? ............................................................. 34
10.2.2 Why are abstract classes used?...................................................... 34
10.2.3 Duplication of Attributes within APDM abstract classes .................... 35
10.2.4 Inheritance (How to read the APDM Logical Model Poster)............... 36
10.2.5 Abstract Class Definitions .............................................................. 40
10.2.5.1 APDMObject .......................................................................................... 43
10.2.5.2 ObjectArchive ......................................................................................... 44
November 2010 ii
ArcGIS Pipeline Data Model Version 5.0
Topic Page
Topic Page
November 2010 iv
ArcGIS Pipeline Data Model Version 5.0
Topic Page
Topic Page
November 2010 vi
ArcGIS Pipeline Data Model Version 5.0
Topic Page
Topic Page
List of Figures
Figure 1 – Non-Geometric Features (Sites) ...................................................................... 29
Figure 2 – Non Geometric Features (Offlne/Online) ........................................................ 30
Figure 3 – High Level APDM Abtract Class Hierarchy ................................................... 37
Figure 4 – Example APDM Inheritance ........................................................................... 39
Figure 5 – APDM 5.0 Abstract Classes (Page 1).............................................................. 41
Figure 6 – APDM 5.0 Abstract Classes (Page 2).............................................................. 42
Figure 7 – Reference Mode Basis ..................................................................................... 76
Figure 8 – Uninterrupted and Adjustable – Continuous Stationing.................................. 78
Figure 9 – Interrupted and Not-adjustable (Engineering Stationing) ............................... 79
Figure 10 – CL Edit Response (Part 1) ............................................................................. 81
Figure 11 – CL Edit Response (Part 2) ............................................................................. 83
Figure 12 – CL XY Edit Response ................................................................................... 86
Figure 13 – CL Station Edit Response.............................................................................. 88
Figure 14 – CL Z Edit Response....................................................................................... 90
Figure 15 – CL Control ..................................................................................................... 91
Figure 16 – Online Polygline and Online Point related to StationSeries .......................... 96
Figure 7 ............................................................................................................................. 97
Figure 8 ........................................................................................................................... 102
Figure 9 ........................................................................................................................... 105
Figure 10 ......................................................................................................................... 106
Figure 11 ......................................................................................................................... 109
Figure 12 ......................................................................................................................... 110
Figure 13 ......................................................................................................................... 119
Figure 14 ......................................................................................................................... 120
Figure 15 ......................................................................................................................... 127
Figure 16 ......................................................................................................................... 127
Figure 17 ......................................................................................................................... 132
Figure 18 ......................................................................................................................... 133
Figure 19 ......................................................................................................................... 133
Figure 20 ......................................................................................................................... 137
Figure 21 ......................................................................................................................... 188
Figure 22 ......................................................................................................................... 202
Figure 23 ......................................................................................................................... 203
List of Tables
Table 2 .............................................................................................................................. 97
Table 3 .............................................................................................................................. 99
Table 4 ............................................................................................................................ 100
Table 5 ............................................................................................................................ 102
Table 6 ............................................................................................................................ 103
November 2010 x
November 2010
Forward
Several changes have taken place in the APDM Organization over the past few years.
The Steering and Technical committees have been merged to form a single ‘Standing
Committee’. This committee, comprised of operators and vendors, is now charged with
the maintenance of the ArcGIS Pipeline Data Model (APDM), the documentation
describing the model, and the update of the web page portal for the model
(www.apdm.net) under the leadership and guidance of Environmental Systems Research
Institute (ESRI). This documentation represents the combination of the original core and
optional class documents for APDM 4.0 into a single ‘Reference Guide’ for APDM 5.0.
It has always been the intent of the APDM Standing Committee to keep pace with the
technology released by ESRI. One of the primary purposes of the APDM is to explore
how ESRI technology can be best utilized for the pipeline industry. Every year ESRI
unfolds new approaches to spatial analysis, new data structures, and new desktop and
server tools. These new capabilities impact the APDM in wonderful and challenging
ways. The question often arises “When will the APDM become stable?” The uniform
response is “It is stable, but it will always evolve.”
It is fair to say that the APDM Version 5.0 represents a significant step forward from the
APDM Version 5.0. The APDM Version 1.0 strove to capture the salient information
about the pipeline world. Version 2.0 sought to define the APDM as a customizable
template that could be extended to meet end user needs, and Version 3.0 sought to refine
the information captured in the previous two releases and align it with the ArcGIS 9.0
technology offered by ESRI. The focus of Version 4.0 was to define, capture and store
the ‘behavior’ of pipeline systems, particularly that of reference modes (stationing) and
response to ‘centerline’ editing. Version 4.0 is designed to take advantage of ArcGIS 9.2
technology. Version 5.0 refined further the behaviors documented in Version 4.0 and
involves substantial ‘paring’ down of core behaviors into a simpler model. Version 5.0
has been designed for release with ArcGIS 9.3.1 technology.
The reference guide, the logical model diagram and the physical Unified Modeling
Language (UML) model have all been re-worked to consistently reflect the ‘compliance’
structure within the APDM. If all feature and object classes within a particular APDM
implementation properly inherit from the APDM abstract classes and metadata structures,
then the implementation is considered compliant. Compliant APDM implementations
facilitate data sharing and easier application development since the root behavior is now
defined within the model. Essentially, the APDM Version 5.0 still adheres to the
principal that an end user editing and updating features within an APDM geodatabase can
do so using out-of-the-box ESRI software tools.
The APDM is available on the web for free to all ESRI users (www.apdm.net). The
model is open to everyone, even to competing interests. The APDM is founded on the
supposition that an open and free model, supported by the volunteer efforts of ESRI
pipeline users, will confer lasting benefits on the entire ESRI pipeline community. The
goal of the APDM is to publish a data model that can be used to facilitate consensus and
interaction between various pipeline interests working with ESRI technology. The
APDM is a template-based model (just like every other model available from ESRI) that
works on a common ‘abstract’ model that can be expanded to suit the needs of any
pipeline operation. This allows operators to create value-added data model
implementations that can support the tools and applications specific to their organization,
and yet still remain APDM compliant.
Lastly, you will soon discover the APDM is rife with its own peculiar, pipeline-specific
terminology and nomenclature. Every effort has been made to present the material in a
readable and understandable fashion. This document contains a wealth of information
describing the structure, content and semantic behavior of the APDM. Please let us know
if the material requires revision or clarification.
July, 2010
November 2010 2
ArcGIS Pipeline Data Model Version 5.0
November 2010
Executive Summary
Today’s pipeline operating environment is more demanding than ever. In order to be
successful, pipeline companies must not only provide a competitive return on investment
to shareholders, but also ensure healthy relationships with other stakeholders including
regulatory agencies, the public at large, emergency responders, environmental interest
groups, customers and suppliers. In response to these pressures, many operators are
focusing on a strategy of operational excellence. Operational excellence implies an
effective infrastructure for knowledge and data management, data analysis, and reporting.
For many pipeline companies, a deployment of ESRI’s Geographic Information System
(GIS) technology utilizing the ArcGIS Pipeline Data Model (APDM) can provide a
superior platform for data management. Superior data management results in improved
pipeline integrity management, together with attendant improvements in productivity,
cost reduction and cost avoidance.
The APDM is intended to be a flexible data model template that any pipeline company
can readily modify to suit its own needs. Companies with existing relational databases
may choose to migrate to the APDM to take advantage of the ESRI geodatabase data
management environment. Such companies are expected to extensively modify the
APDM template to conform the APDM to the requirements of their existing data stores.
For companies without an existing data model, the APDM ships with a variety of
optional, example classes (analogous to relational database tables) which can be used to
store many types of pipeline information.
All of the features in the APDM can be organized into one of three categories: 1)
Abstract classes, 2) Core classes, and 3) Optional Classes. The abstract classes define the
framework of the APDM; all other classes in the APDM inherit properties, relationships
and behaviors from one of the APDM abstract classes. The APDM abstract classes are
required elements of the model. The core classes are those object, feature and relationship
classes, together with associated domains, that are required to maintain APDM
compliance. The core classes define the APDM centerline features, stationing attributes,
and supporting model elements. The optional classes are included as implementation
examples in this document, but none of them are required elements of the model. The
optional classes are included to provide a starting template for companies with no
existing pipeline data model.
The APDM was initiated in 2002. The intellectual property of the APDM is owned by
ESRI. Ongoing maintenance and enhancement of the content and structure of the APDM
is governed by and performed by the elected members of the pipeline industry managed
APDM Standing committee.
This document originally represented ‘Core Class’ description and the ‘Optional Classes’
data dictionary as defined in the APDM v5.0 Logical Model Poster. Instead of two
different documents, all classes – core and optional are provided in this ‘Reference
Guide’ Note that the ‘optional’ classes are still intended to provide a sample set of classes
that could be implemented ‘as-is’ or modified to suit the specific business purposes of a
pipeline operating company.
November 2010 4
ArcGIS Pipeline Data Model Version 5.0
November 2010
1.0 Introduction
This reference guide explains the ArcGIS Pipeline Data Model (APDM) and is intended
for those interested in implementing a transmission pipeline geodatabase using ESRI®
ArcGIS® software. The document is written for pipeline GIS professionals, company
managers, developers, and graphic system operators. It provides a detailed description of
the objects in the model, how the model is organized, and suggestions on how the model
can be implemented within an organization. The document assumes that the reader has a
working knowledge of common pipeline terminology and pipeline-specific GIS terms,
such as stationing, centerline, station series, and control points, and a working knowledge
of ESRI linear referencing technology. A glossary is provided to explain terms pertinent
to the APDM. This document includes the description of the abstract and core classes of
the APDM; and provides a data dictionary of the optional classes that are distributed as
implementation examples in the Logical Data Model Poster and the Full Physical Model
Visio UML diagram.
The APDM is developed and governed by the APDM Standing committee under the
umbrella of ESRI. The Standing committees include representatives from pipeline and
pipeline vendor companies. ESRI helps facilitate the development and use of the APDM
to serve the needs of their client base. While ESRI owns the APDM, control of the
APDM is vested in the user community. The APDM model and supporting
documentation is freely available and accessible to everyone via the web at
www.apdm.net.
ESRI does not consider itself a standards body; therefore, in keeping with the spirit of
other published ESRI models, the APDM is not intended to be a comprehensive or all
encompassing model. Rather, the APDM is designed to be a starting template of core
elements from which a pipeline company can craft a model tailored to its business needs
by adding features or refining existing features within the rules defined by the APDM
template. A primary objective of the model is to account for linear referencing of features
(stationing). Most transmission pipeline companies refer to the location of features or
events that occur along the pipeline system as events occurring along a route (station
series) at a certain distance (measure). Stationing is handled in the model using out-of-
the-box ESRI technology referred to as routes and measures.
The APDM is designed as a starting point. It is neither the purpose nor the focus of the
APDM standing committee to design a model that is a comprehensive description of all
possible features found in a pipeline system. Nor is it the intention of the model to
prescribe a rigorous methodology or standard approach to modeling pipeline systems.
The model’s intent is to provide a set of core objects and attributes that describe and
effectively handle stationing, plus a core set of abstract classes by which most, if not all,
pipeline features can be categorized. The purpose behind providing a core set of features
is to provide pipeline and vendor companies with a consistent framework for developing
applications against the model, and for data transfer between existing databases. By this
approach, any pipeline company can add features to the model, modify existing features
in the model, or subtract features from the model as required by business needs. The core
elements of the model remain a small subset of the features found in the model. Any new
features added must fall into one of the abstract APDM classes including referenced and
non-referenced features, and online and offline features. Another focus of the APDM is
to develop a model that end users can implement and add data to without the need for
custom code or development efforts. This is achieved by using core ESRI technology that
allows any pipeline company to develop a tailored data model that meets its business
needs while maintining compatibility with ESRI tools.
November 2010 6
ArcGIS Pipeline Data Model Version 5.0
November 2010
Suburban expansion – Formerly rural pipeline Rights Of Way (ROW) are being
increasingly encroached on by suburbia. This trend can dramatically increase One Call
response and public notification burdens, potential for third party damage, complexity of
risk analysis, and the financial, operational, litigable and regulatory consequences of an
unintended product release. Effective strategies for dealing with suburban encroachment
are a critical aspect of any pipeline company’s cost optimization strategy.
‘Graying’ of the Workforce – For many pipeline companies, much of the corporate
knowledge base is stored in the brains of senior staff. As these employees retire, critical
knowledge is irretrievably lost. Whenever such knowledge is lost, unnecessary cost is
incurred to reproduce it. In some cases the consequences of lost knowledge can be dire
from both an operational and financial standpoint. Thus, an effective knowledge and data
management infrastructure becomes an important cost reduction and cost avoidance tool.
For pipeline operators, an effectively implemented data management system based on the
APDM can becomes an integral part of the operations and asset management framework.
Effective implementation enables increased productivity, cost reduction and cost
avoidance. Increased productivity is achieved through optimized maintenance planning
and execution with reduced downtime, resulting in greater output and increased available
capacity for operations. Cost reduction is achieved through increased staff and
operational efficiency and reductions in rework and unnecessary work. Cost avoidance is
improved through increased operational safety and reliability, and through reductions in
regulatory fines, unfavorable litigation judgments, and ultimately, avoidance of consent
decrees and corrective actions.
An effective data management platform such as APDM can reduce the time it takes to
perform tasks such as data maintenance and integration, freeing company personnel to
spend more time on critical functions such as analysis of and response to information.
More time is available for preventive maintenance activities, project planning and
oversight, and other work in need of completion. Likewise, by automating traditionally
manual and inefficient functions, overtime can be reduced and in some cases, headcount
can be reduced as well, thereby reducing operating costs. For example, the APDM
enables deployment of advanced mobile electronic field data collection and
communication. In many cases, the conversion from paper forms to electronic data
November 2010 8
ArcGIS Pipeline Data Model Version 5.0
November 2010
capture can result in a 20-40% reduction in time spent on a given activity by field
inspectors and technicians. For a full time inspector paid $50K per year, the net savings
can range from $10-20K per inspector. Based on the size of the organization, this alone
can amount to significant savings when implemented throughout the company.
Other expenses typically reduced with implementation of the APDM include the
reduction and in many cases elimination of time spent integrating disparate data sets and
the time and cost to create and update maps and drawings. Further, advanced data
integration and analysis is enabled and can be used to justify project deferrals or even
avoidance. For example, the integration and assessment of Close Interval Survey (CIS)
data combined with InLine Inspection (ILI) data can be used to develop engineered
criteria for adequate cathodic protection levels, which many times justifies the deferral of
projects such as Cathodic Protection (CP) installations, excavations and rehabilitation
projects. It should not be unexpected that a mature implementation of an enterprise data
management system based on the APDM can reduce pipeline maintenance costs by as
much as 5-10%. For a pipeline company with an annual maintenance budget of $20 MM,
this can result in savings in excess of $1MM per year. Eventually, the extension of the
system to facilities and tank farms may further extend the ability to reduce operating
expenses.
A significant benefit from any solution is the ability for it to lead to increased revenues.
In the case of the APDM, it is a platform that when implemented effectively will lead to
better informed decision making, faster data collection, communication and processing
and rapid response to identified needs. New capabilities can enable the monitoring of
anomalies versus shutdown and excavation, the optimization of maintenance planning
and scheduling to reduce unnecessary work and the better coordination of needed work.
Over time, it should be expected that an enterprise-wide improvement in information
management, communication and decision making will lead to improvements in capacity
availability and utilization of anywhere from 2-10%. Conservatively speaking, if
available capacity can be increased by 1% on a gasoline system that on average transports
1MM barrels per day at a revenue of 1$ per barrel, then increased revenue could amount
to on average over $10,000 per day.
Increased productivity, cost reduction and cost avoidance are important factors in
improving ROI, but ROI is only one part of a balanced scorecard. Many pipeline
companies are focused on being excellent corporate citizens. An effective platform based
on the APDM can become an important tool for maintaining a positive image and good
relationships with all of the pipeline’s important stakeholders: regulatory agencies, the
public, emergency responders, environmental groups, customers and suppliers.
Many of the cost justifications developed above for an APDM implementation can be
equally applied to an effective, spatially enabled implementation of a relational pipeline
database such as Integrated Spatial Analysis Techniques (ISAT), Pipeline Open Data
Standard (PODS), or Industry Standard for Pipeline Data Management (ISPDM).
However, the APDM and ESRI geodatbase technology offers additional cost benefits
over these relational technology alternatives.
Reduced ‘entry cost’ – For smaller operators, the APDM can be implemented in a
personal, file or workgroup geodatabase, eliminating the need for enteprise RDBMS
software such as Oracle or SQL Server, together with attendant Database Adminstrator
(DBA) and System Adminstrator (SA) personnel costs. To spatially enable a relational
pipeline database, an enterprise RDBMS is effectively required. Thus, for smaller
operators, significant support staff headcount reduction and software capital expenditure
savings can be achieved with an APDM implementation relative to a relational pipeline
database implementation.
November 2010 10
ArcGIS Pipeline Data Model Version 5.0
November 2010
• The RDBMS enforces referential data integrity, but not spatial data integrity.
• The geodatabase enforces both referential and spatial data integrity.
The RDBMS cannot easily enforce the link between feature geometry and attribute data.
To use a GIS with relational pipeline data models such as ISAT or PODS, the GIS is
typically ‘grafted’ on to the relational model. When ESRI technology is used to spatially
enable a relational ISAT or PODS database, spatial information is usually stored twice:
once in the relational coordinate tables present in these models, and again in ArcSDE
layers or feature classes derived from the relational coordinate tables. Editing operations
in the RDBMS require application logic to drive updates of relational database attributes,
which in turn are followed by feature geometry updates (or the reverse). Data
synchronization is a constant, error-prone, time-consuming, costly and troublesome issue
for spatially enabled relational pipeline data models: feature geometries in ArcSDE are
typically snapshots derived from the database; each time the database is modified, the
feature geometries are potentially out of date and must be rebuilt.
The geodatabase seamlessly enforces the linkage between feature geometry and attribute
data; in addition, it allows the construction of more complex relationships that simplify
and streamline editing operations. Because of this, an APDM geodatabase
implementation avoids the problems with spatial data updates and synchronization that
are typical of a GIS-enabled relational model. The geodatabase (and the APDM) offers
less expensive data maintenance for interrelated spatial features and attributes as a
function of the underlying data structure. As a result, the reliance on data integrity logic
built into custom applications is minimized. Ultimately, these advantages result in lower
data maintenance costs and greater data reliability.
Utilizing a geodatabase for storage of GIS data provides end user access to all the
powerful ESRI GIS analytical technology. While a spatially enabled relational database
implementation can take advantage of some of ESRI’s advanced GIS capabilities, the
same cannot be said for a pure relational implementation, and neither can take full
advantage of ESRI technology like a geodatabase. Compelling technology included in the
geodatabase includes multi-user, long transaction versioned editing; coincident feature
Other ESRI data models could potentially be applied to pipeline; the ESRI Gas
Distribution Model is one potential candidate. The APDM is designed for pipeline
companies whose primary means of locating features is by linear referencing (or
stationing). Ultimately, the ability to locate, edit, analyze, and organize features on or
along a pipeline via stationing is what differentiates the APDM from the standard ESRI
Gas Distribution Model. The APDM is developed for ESRI enterprise software
ArcGIS/ArcSDE technology, which is entirely predicated on the geodatabase. The
APDM returns lower cost, more effective, efficient and reliable data creation and
management, and superior data analysis. All of these elements are important to the highly
regulated and important transmission pipeline industry.
• March 2002 – M.J. Harden starts the initial work on the model.
• July 2002 – The model is presented at the ESRI User Conference in San Diego,
California. An open invitation to participate in the design of the model is extended
to the pipeline community.
• August 2002 – The initial meeting of interested member groups occurs at ESRI,
Redlands, California.
• October 2002 – The steering and technical committees are officially formed at
the ESRI Electric/Gas Utility User Group Conference (EGUG), Coeur d'Alene,
Idaho.
November 2010 12
ArcGIS Pipeline Data Model Version 5.0
November 2010
The Standing committee will organize an open forum at each of these venues for
discussion of, and collaboration on, the model. The APDM website (www.apdm.net) will
be the forum for advertising upcoming APDM Standing Committee forums.
The intellectual property of the ArcGIS Pipeline Data Model is owned by ESRI. The
content and structure of the model is determined by the APDM Standing committee. The
positions on the APDM Standing committee are elected by members of the ESRI Pipeline
Interest Group (PIG). Contact Robert Brook at rbrook@esri.com, or any APDM Standing
committee member for more information on serving on the APDM Standing committee.
The APDM standing committee meets three times per year, at the following venues, to
discuss proposed improvements and alterations to the model.
If you have any suggestions for changes or requests for information please contact:
November 2010 14
ArcGIS Pipeline Data Model Version 5.0
November 2010
the considerations and background material measured and weighed to determine the final
model.
This section is divided into the following parts, each of which describes the driving
forces behind how the APDM was developed.
• Core Elements
• Stationing and Station Equations
• The Centerline (Routes, Measures, and Events)
• Hierarchy
• Coincident Geometry
• Events Versus Features
Later sections of this document describe in more detail the content and structure of the
APDM. It is important to realize that no single pipeline data model can do everything for
all organizations. Realizing the variation in how data is modeled between different
pipeline companies, the standing committee developed the APDM according to four
guiding principles:
1. The APDM is designed to provide a set of core elements that remain consistent
for any APDM implementation. The core elements are designed to ease data
transfer between existing pipeline data models and for the development of
portable APDM applications by third party vendors.
2. The APDM provides a mechanism for locating features on or along the pipeline
centerline by both absolute positioning and by linear referencing (commonly
referred to as stationing). It is not the purpose of the APDM to prescribe the
approach to implementation for the model. These features can exist as geometric
features in feature classes, dynamic events in event tables, or a combination of
both.
3. Features (or tables or objects) are included in the APDM if they are required by
80 percent of all pipeline companies and by the United States government
regulatory agencies. 1
4. The APDM can be implemented and maintained within a geodatabase without the
need for custom application code.
1
The APDM standing committee is aware the APDM will be implemented in international settings. Every attempt is made to avoid an American-centric view of the model. It is
the carefully weighed opinion of the committee that transmission pipeline regulations in the United States are some of the most rigorous in the world. Many of the companies
participating in the development of the model have holdings and operations outside of the United States and are consulted during model development to facilitate the requirements
of the international pipeline community.
8.1 Structure
The APDM contains one feature dataset named Transmission. The standing committee is
convinced, at this point in ESRI's software life cycle, that topology is the most effective
method for managing data integrity and consistency. If topology is implemented for the
APDM, then all feature classes that participate in the topology must be stored in the same
feature dataset. At present, all core and optional feature classes are located in the
Transmission feature dataset.
8.2 Domains
The example domains provided with the model are designed to contain common values
found in most pipeline systems. The purpose of these domains is to provide common
values that are representative of the attributes they are populating. The provided domain
values are not an attempt to provide a comprehensive or universal listing of values.
The domain names in the model are prefaced with a two-letter designation that denotes
the organizational category to which the domain belongs: gn (generic– domains that are
applied to object classes and many different feature classes across the model), cp
(cathodic protection domains), op (domains applied to feature classes pertaining to
pipeline operations), en (domains applied to feature classes modeling encroachments to
the pipeline), fc (domains applied to facility feature classes), cl (domains applied to
centerline feature and object classes), and in (domains applied to inspection feature
classes).
If the core objects (tables, feature classes) and attributes are immutable, then the
remainder of the geodatabase is optional and totally customizable. The feature classes,
other than the core feature classes, that are distributed with the model provide examples
of the most common features, rather than being an all-inclusive description of every
possible feature found on or along a pipeline system. The purpose of the APDM is to
allow pipeline companies to build geodatabases to suit their business needs. The core
elements of the model provide a standard set of features– the rest is up to the end user.
Users may pick and choose which elements to include, which to remove, and which to
November 2010 16
ArcGIS Pipeline Data Model Version 5.0
November 2010
alter to suit their needs. Other than the core elements of the model, it is up to the user to
determine what is or is not included in the model.
The amount of data that pipeline companies are able to access has exponentially
increased within the last decade. In the historical paper world it was conceivable to
manage thousands of features. With the advent of faster computers, better integration
between disparate systems, and the proliferation of readily available digital data in a wide
variety of formats, the potential for the management of millions, if not billions, of
features is quite conceivable for many large pipeline companies. By keeping a small core
of required elements, the APDM is very open and flexible to integration with larger
corporate or enterprise data systems. In this manner, the APDM can be implemented as
the front door to the enterprise repository of data. By spatially modeling a detailed, rich
set of features, the GIS can be seen as an extension of the entire enterprise data
warehouse.
At each point along the station series (including the start and endpoints) where the
centerline bends either horizontally or vertically, a control point is placed. Control points
are known points of stationing (measured distance along the station series) and have
known coordinate values. Each control point forms the vertex of a station series linear
feature. Each station series is thus composed of two or more known points of stationing.
Stationing monotonically increases or decreases without gaps from the begin point to the
endpoint of a station series. Once stationing is assigned to the centerline, the stationing
values for known points along the centerline usually do not change. When the pipeline is
first built, the stationing measurements are uninterrupted and continuous along the length
of the entire pipeline. When a pipeline is rerouted (i.e. the path of the centerline is
altered), discontinuities are introduced into the stationing. The points of the breaks in
stationing are known as station equations. Once an equation is introduced into the
centerline, the stationing is altered for the portion of the centerline that has been rerouted
with the addition of a new station series.
Any event occurring between two control points has a station value calculated by the
interpolation of station values of the known control points on either side of the event.
Traditional GIS implementations store point, linear, and polygon features by absolute
coordinates for each vertex of the feature. Using stationing (linear referencing or relative
positioning), a dynamic method for determining the location of a feature (or event) is
available. The ESRI geodatabase supports both of these methods. Once the location of a
feature is determined using either absolute or relative positioning, the alternative
positioning values can be determined (provided an underlying centerline of station series
features is available). It is important to realize that the ArcGIS Pipeline Data Model puts
more emphasis on absolute rather than relative positioning. If the underlying control
point and station series network is highly representative of the underlying terrain, with
accurate positioning in sufficient density, then the calculation of relative position is easily
obtained once the station values of known control points are determined and quantified.
However, display performance for large numbers of dynamically positioned features is
usually less than optimal.
Transmission pipeline stationing systems have been historically developed through field
survey methods. Given the coordinates and an arbitrary station value for a known starting
point, the surveyor delineates the centerline of the pipeline using a distance (measured by
chains) and deflection angle from the last collected point of the centerline. The angle and
distance traverse established from point to point creates what is known as the centerline.
The known points created from the angle and distance measurements are the control
points of the pipeline. Only recently, and in small instances, has absolute positioning–
with the advent of the global positioning system (GPS) coordinates used in conjunction
with highly accurate digital rectified orthophotography– become mainstream for creating
the control points that define the centerline.
Stationing is based on traditional field survey and drafting methodology and is the
historical method of conducting business for a pipeline. Stationing is the primary method
for historical record keeping that pipeline companies are required to maintain for
regulatory purposes as required by the Federal Energy Regulatory Commission (FERC),
the Office of Pipeline Safety (OPS) as part of the Department of Transportation (DOT),
and the National Pipeline Mapping System (NPMS). Pipeline companies in North
America are required to locate all facilities on or along the pipeline. Stationing is used to
locate pipeline features on a foot-by-foot basis in the field by stepping off or pacing off
locations of events from known points along the pipeline.
Stationing has historically been used in transmission pipelines for locating features along
the pipeline centerline. With the advent of ubiquitous GPS and GIS technology, a case
can be made for discontinuing the use of stationing as a location mechanism. However,
the following list presents many valid reasons for continuing with stationing as a useful
and effective mechanism for locating features:
• Historically features have been located along pipeline system by stationing. Large
historical archives of stationed position exist, creating a valuable resource of
location information.
November 2010 18
ArcGIS Pipeline Data Model Version 5.0
November 2010
• The field crews of pipeline operating companies are versant in the use of
stationing for referencing and rely on a repository of heuristic location methods to
locate and map features.
• Linear referencing (and the APDM implementation thereof) allows for a very
powerful and flexible representation of multiple stationing systems that can be
used in conjunction with each other to locate features in an ad-hoc fashion.
• Horizontal – The two-dimensional map vector distance between two points, not
taking into account any z changes in the surface between the two points, is used to
determine station value along the pipeline (e.g. two-dimensional vector distance).
• Mile Posting – Posts or other markers are placed in or on the ground at arbitrary
intervals and are used as reference points for locating features.
• Offset Based – Measurements are taken as offset values from known points along
the centerline (e.g., valve section– the feature is located 100 feet downstream
from the mainline valve).
Control points are points along the pipeline centerline with known geographic
coordinates and known station values. When a group of control points is assigned to a
specific station series, the centerline of the pipeline can be graphically represented in its
real-world geographic location based on the selected coordinate system and map
projection. Control points occur at changes in the centerline direction of the pipeline
(i.e., points of inflection [PI]), at centerline ties where a distance and/or angle exists to an
offline point event with known geographic coordinates (i.e., a section corner), or at any
pipeline centerline location with known geographic coordinates, such as GPS survey
points.
Conceptually, station series and control points are directly analogous to ESRI linear
referencing routes and measures. A station series feature is an M- (measure) Aware
polyline feature called a route. The measures of the route are defined at each vertex
including the endpoints. Since control points are used to form the vertices of the station
series feature, the measure value in the vertex is also the station value assigned to the
control point. Events are point or line entities or objects that occur on, along, or beside
the centerline. Each point event on, beside, or along the centerline has an absolute
position and a relative position (or absolute/relative start and end position if a linear
feature). The absolute position of an event is measured by the x,y coordinates of the
feature once the relative position of the event has been determined. The relative position
November 2010 20
ArcGIS Pipeline Data Model Version 5.0
November 2010
of an event is measured by identifying a unique route (station series) and a measure value
(station) that represents an interpolated distance from the start of a station series through
the known control points (that act as vertices of the station series) to the point where the
event occurs. If the event falls along the station series in between two control points (each
with a different station value), the position of the event is interpolated along the station
series relative to the station values of the bordering control points and the station value of
the event. Point events are located on a single route feature. Currently, ESRI linear
referencing technology dictates that linear events must also start and end on the same
route.
Station series features are modeled as M-Aware and (optionally) Z- (elevation) Aware
polyline features in the APDM. Control points are modeled as M-Aware and (optionally)
Z-Aware point features in the APDM. Both station series and control points are
considered core elements of the APDM.
9.3 Hierarchy
Pipeline companies often organize or group features according to a hierarchy. Typically
the hierarchy is based on where particular station series features are located. Usually, the
hierarchy groups together the station series features belonging to a single line. Lines are
then grouped into pipeline systems. Pipeline systems are then grouped by pipeline
company. Even a simple hierarchy can be broken down into more complex organizational
structures such as main lines, discharge subsystems, valve sections, and branches. There
is no standard hierarchy structure to which pipeline companies adhere, but almost all
pipeline companies implement some kind of hierarchy for their pipeline systems.
The most ubiquitous unit of hierarchy in pipeline systems is the line loop (e.g. the PODS
Route, or the ISA Line_Loop). The APDM implements basic hierarchy by assigning each
and every station series to a line loop. Line loops associated with station series are
referred to as physical line loops. However, in the APDM a line loop can be more than
just a physical entity. Line loops can also be used to logically organize pipeline segments
into a complex hierarchy (through recursion in the LineLoop table structure). APDM
physical line loops can be used to construct many types of pipeline hierarchy elements:
• A single pipeline from the source (the gathering fields or refineries) to the
terminus of the line (connection at town border stations to distribution centers
or refineries).
• A mainline lateral branch.
• A gathering or flow line.
Often several physical line loops run parallel to each other. A logical line loop may have
gaps along the pipeline as a whole, as pipes are often shared between several lines. In
almost all cases a physical line loop is an aggregation of one or more station series
features without gaps; logical line loops are usually the aggregation of one or more
physical and or logical line loops.
The APDM does not explicitly model logical or network connectivity of station series
features. Each station series feature is uniquely identified in the model. The line loop
construct is used at the simplest level to organize station series features into a flat
hierarchy.
Line loop is modeled as an object class in the APDM and is considered to be one of the
core elements. Other hierarchical elements in the model are line loop hierarchy,
subsystem, and subsystem hierarchy, all of which are used to define the hierarchy of a
pipeline system. For more detailed information, refer to the 11.2.2 Core Object Classes
section, below.
November 2010 22
ArcGIS Pipeline Data Model Version 5.0
November 2010
feature geometries are not automatically updated when the underlying Route-ID and
measure values (or begin/end Route-ID and measure values) are updated.
The benefit of using events is that whenever the Route-ID and measure values are
updated, then the geometry can be quickly refreshed. If an error occurs when the event
geometry is being created, then an error message can be appended to the row containing
the feature. The problem with using events is that each feature does not have a permanent
geometry and, thus, display performance is poor by comparison. In addition, the features
are not available for display in real time through the Internet. Large volumes (more than
10,000 events) of data cannot be expected to perform in a timely manner given the
current state of the technology.
The ideal situation within the model is to have features that act as events. In this desirable
state of affairs, the geometry of a feature is automatically updated when the Route-ID
and/or measure values are altered. Currently, the only way to obtain this behavior from
the geodatabase is via custom application code. Ultimately the choice of implementation
(event or feature) remains the decision of the end user and depends on the type of GIS
being implemented.
Correct implementation of the APDM core elements and abstract classes is the
benchmark for APDM compliance. The goal of APDM compliance is to define a
common data model framework that facilitates consensus and interaction between various
pipeline interests, and yet allows wide latitude for data model modification, innovation
and experimentation. Achieving such a broad goal requires a nontraditional approach to
compliance. Traditional RDBMS data model compliance is achieved through absolute
conformance to the tabular structure of a predefined database construct. APDM
compliance is primarily concerned with the behavioral aspects of the data construct.
APDM compliance minimizes strict structural conformance to a relatively small base set
of fundamental features referred to as the Core APDM.
• All object and feature classes within the model must implement (and therefore
inherit) from one of the APDM abstract classes.
• Some APDM abstract classes define associated relationship types; all object and
feature classes inheriting from such an abstract class must also implement the
inherited relationship types.
• Core APDM Feature and Object Classes (their attributes and the relationships
between them and other classes) must be retained and implemented precisely as
specified.
• Class names of Core APDM Feature and Object Classes must be implemented
precisely as specified.
Core APDM features and objects and their attribute names must be retained precisely for
APDM compliance. The inclusion of additional attribution or domain values into the
Core APDM is acceptable (and expected; defined attribution for the core classes is
minimal).
Behavioral rules are established in the Core APDM and abstract classes. These rules are
extended to the larger model template via the concept of inheritance. Behavioral
compliance is based upon the adherence to abstract class definitions including abstract
class attribution and relationship class behavior. The abstract classes define rules for what
constitutes online and offline point, line, and polygon features as well as the online
locations for offline features. The APDM abstract classes define compliance within the
semantic context of a behavioral construct. This construct provides the necessary
organizational framework to permit virtually limitless flexibility and expansion of the
model to suit the individual needs of operators, while maintaining the required
commonalities to facilitate software interoperability within the user community.
November 2010 24
ArcGIS Pipeline Data Model Version 5.0
November 2010
Associating facilities features with Sites and allowing storage of features without
geometry, provides numerous possibilities for managing facilities within the APDM.
Using the chart above, various scenarios for modeling facilities within a Site are
available. For example, many companies do not fully model the ‘plumbing’ within a Site;
often the centerline (StationSeries features) stops at the border of a site and does not
traverse the site. However, many active features may be known to exist within the site
(e.g. via a facility equipment manifest). These features can be represented in the APDM
as features with null shapes that reference the Site. Alternatively, sometimes companies
map the station series and facilities within a site using a ‘false’ un-connected station
series. The station series and the site are then used to locate the “in-site” features, but
those features are not located via stationing on the ‘false’ station series. The features are
represented in the APDM with null shapes, but are referenced to both the site and the
‘false’ station series. As a result, some companies accurately map the station series within
November 2010 26
ArcGIS Pipeline Data Model Version 5.0
November 2010
a site, but still do not know the locations of all site facilities on the site station series.
Again, these features are represented in the APDM with null shapes, but are referenced to
both the site and the site station series.
The following two explicit examples depict how Sites can be used to track facilities:
• Uninstalled stockpiles of pipe are stored within a site. These pipe stock piles
employ the same attributes as in-service pipes, including MillTestPressure and
HeatNumbers. They can be tracked for inventory purposes by storing them as
PipeSegment features without shapes, but with a reference to the site.
• A company may be responsible for operating meter stations (together with other
associated features such as instruments, valves etc.) located off the main line
(from 100ft to 1-2 miles). Tracking the information (inspection and reading
activities, history, audit trail etc.) about these offline meter stations (sites) is
required. Again, facilities and equipment in these offline meter stations may be
managed by storing them as null-shape features in the APDM incorporating a
reference to the site.
In both of these examples, no station series or line loop traverses the site locations. In
APDM 3.0, it is impossible to store such features without creating new non-stationed
object classes corresponding to the stationed online feature classes. In APDM 5.0, adding
the SiteEventID to facilities classes inheriting from the ‘OnlineFacility’ APDM Abstract
Class creates several data management and display options:
is not slaved directly to the pipeline centerline (and hierarchy) by virtue of not
having a StationSeriesEventID, but is associated with the site. The feature
displays directly in ArcMap.
With respect to bullet 4 above, note that ‘online’ facility features can be digitized within a
site boundary (such as a compressor station) without any relationship to a station series.
If the feature has a geometry and a SiteEventID value, but no StationSeriesEventID or
station value, it in effect acts as a ‘NonStationed’ facilities feature. This construct is valid
in APDM 5.0. For this reason the ‘NonStationedPipe’ feature class has been deprecated
from APDM 3.0. One other benefit to tracking facility features in this manner is that it
allows for flexible integration with external asset management systems. Examples of the
various situations where non-geometric features are viable are displayed in the following
diagrams:
November 2010 28
ArcGIS Pipeline Data Model Version 5.0
November 2010
9.8 Topology
The APDM is designed to incorporate topology rather than the geometric network to
ensure data quality and to maintain relationships between features of different feature
classes. A complete discussion of topology and the geometric network is provided under
Implementation Issues. Topology requires that all feature classes that participate with the
topology be present in the same feature dataset. The centerline feature classes– Control
Points and Station Series– are the core of the topology. Therefore, all referenced feature
classes must participate in the topology as well. The APDM stores all feature classes in
the model in the Transmission feature dataset.
9.9 Centerline
This section outlines some of the rules or assumptions about the APDM centerline
features.
November 2010 30
ArcGIS Pipeline Data Model Version 5.0
November 2010
• A station series must be composed of a minimum of two control points (one at the
beginning and one at the end of the station series).
• Control points and the vertices of station series features share the same measure
values (if the control point and the station series features share the same subtype
value).
• As vertices of a station series, control points represent distinct and known values
of stationing along a station series. All other stationing values in between control
points are interpolated.
• Both station series and control points must have the same subtypes.
• The default subtype for control points and station series must be the same.
• Each default subtype station series must have a control point at every vertex with
a valid station value.
• Station series can be joined at station series endpoints (equation) and along station
series edges (branch).
• More than one control point can exist at one location (x,y coordinate) in space.
• More than one control point can exist at one location in space, each having the
same subtype, but each with a different StationSeriesEventID (station equations).
• Stationing must increase or decrease in value from one end of a station series to
the other without breaks or gaps.
• Stationing values between two control points on a station series may not be equal
to the calculated 2 or 3 dimensional distance between the two points. However, it
is assumed that the station values can be interpolated as a proportional function of
the distance between the two points.
• All referenced events (features) have their geometry derived from the geometry of
the station series feature on which they are located.
• Each control point must belong to one and only one station series of the same
reference mode.
• Since each reference mode may have a different physical basis for determining
and calculating station values, coincident station series within a LineLoop must
have coincident control points to avoid interpolation errors. Control points must
be propagated to/from all reference modes to each other to reliably locate events
using PRM and ARM station values.
• Abstract classes
• Core classes
• Optional classes
The abstract classes define the framework of the APDM; all other classes in the APDM
inherit properties, relationships and behaviors from one of the APDM abstract classes.
The APDM abstract classes are required elements of the model. However, the APDM
abstract classes are not ‘concrete’; they never actually appear physically in an
implemented APDM geodatabase. The APDM abstract classes appear only in the APDM
logical and physical (UML) models.
The core classes are those object, feature and relationship classes, together with
associated domains, that are required to maintain APDM compliance. The core classes
define the APDM centerline features, stationing attributes, and supporting model
elements. The core classes are concrete; unlike the abstract classes, the core classes
physically appear in an implemented APDM geodatabase.
The optional classes are just that. They are distributed with the model as implementation
examples, but none of them are required elements of the model. The optional classes are
included to provide a starting template for companies with no existing pipeline data
model. Companies that are currently users of a relational model such as PODS or ISAT,
or a proprietary model, may desire to replace the optional APDM classes and domains
with classes and domains that more closely resemble their existing data stores. As long as
the modified classes and domains follow the rules defined by the APDM abstract classes
and metadata, this is entirely permissible, and indeed, encouraged.
November 2010 32
ArcGIS Pipeline Data Model Version 5.0
November 2010
data content exists. Despite the reality of content divergence, a major goal of the APDM
is to maintain interoperability across implementations and between products offered by a
variety of APDM application providers. To promote APDM interoperability the APDM
Standing committee has developed compliance concepts based largely on defining the
semantic behavior of the APDM classes, rather than their explicit data attribute content.
To fully define class and feature behaviors in the APDM, two conceptual constructs are
employed extensively in the APDM architecture: 1) abstract classes, and 2) metadata.
APDM abstract classes may be thought of as a collection of broad ‘data type’ categories,
each of which has its own defined behaviors. Variations in behavior may occur within
subsets (subtypes) of an abstract class; some behaviors may even manifest at the
individual feature level. Metadata constructs are used in the APDM to define these class-
and feature-level behaviors.
The APDM abstract classes and metadata constructs define complex behavior beyond
that governed by standard ESRI functionality. Out-of-the-box ArcMap has no knowledge
of, nor pays any attention to, APDM abstract classes and metadata. Because of this,
uneducated users in an unmanaged geodatabase could inadvertently break the rules
defined by the APDM abstract classes and metadata. In general, the behaviors defined by
the APDM abstract classes and metadata should be implemented via application and/or
geodatabase software. When implementing the APDM, the user should be careful to build
or select software applications that honor the APDM abstract classes and metadata. In the
absence of such software, the database administrator should strongly consider limiting
direct ArcMap edit access to the APDM geodatabase to those users with sufficient
knowledge of the APDM to honor the behavioral rules embodied in the APDM abstract
classes and metadata constructs.
Because the APDM model is a collection of features, objects and their relationships,
defining the behavior of abstract classes dictates the rules that govern the model.
Relationship classes defined for abstract classes ultimately determine how concrete
APDM feature and object classes interact. Class- and feature-level metadata attributes
defined for abstract classes govern how entire concrete APDM feature classes, and/or
individual feature or objects behave when certain edit events occur. The rules defined for
the APDM abstract classes govern for their concrete class inheritors the outcomes of the
following types of feature and object events:
November 2010 34
ArcGIS Pipeline Data Model Version 5.0
November 2010
• Update of any of the core or audit attributes of a feature or object (e.g. EventID,
GroupEventID, stationing, or operational status attribute values).
• Update of the centerline on which a feature resides (e.g. a control point is moved,
or its station value is altered, or a reroute is performed at the LineLoop level).
All feature and object classes contained within the APDM inherit attributes and behavior
from one or more of the APDM abstract classes. The APDM is designed around these
abstract classes. Abstract classes provide a framework for data editors and developers to
capture abstract class behavior in workflows and software applications. The rules for
abstract class behavior are formally defined in this section. To date, however, the
enforcement of abstract class behavior is up to the end user and/or the third party
application developer. Simply employing abstract classes to build an APDM geodatabase
does not prevent an end user from manipulating the contents of a single row or column of
data in contradiction to the abstract class rules.
The APDM Standing committee expended considerable effort in defining the APDM
abstract classes for version 5.0. The APDM 5.0 abstract classes are somewhat more
numerous and much more rigorously defined than the abstract classes found in earlier
versions of the model. Aside from their primary purpose in defining model behavior, the
carefully tailored abstract classes of the APDM 5.0 make it much simpler and safer for an
implementer to extend or modify the model. An implementer can simply define a new
custom class, have it inherit from the desired abstract class, and know that the custom
class will behave properly within the context of the APDM. Achieving and maintaining
APDM compliance is almost automatic when the APDM abstract classes are properly
utilized.
Within the APDM Visio UML diagram (the physical model), the APDM abstract classes
are implemented on a separate Static Structure Diagram. The diagram is laid out as a
cascading leaf diagram showing the lower level classes explicitly inheriting from the
ancestry above them. As is standard with UML, attributes defined by a parent object are
not explicitly shown in a child object. This is done to minimize the amount of work to
update the model when attribute changes are made. Therefore, when reading the APDM
Visio Physical model, one must be sure to look at all ancestors of an object to get a full
list of the attributes defined on a single object.
Concrete feature and object classes defined on the other static structure diagrams within
the model are generalized using a single generalization connector to the appropriate
abstract class. This approach makes all concrete class definitions extremely concise.
Duplication of attributes is largely eliminated since core (common) attributes are defined
within the abstract classes from which the concrete classes inherit.
November 2010 36
ArcGIS Pipeline Data Model Version 5.0
November 2010
AP DM Object
ActivityHierarchy
LineLoopHierarcy
ObjectArchive SubSystemHierarchy
LineLoop
SubSystem Activity
Object Company
AuditObject AuditObject ExternalDocument
OwnerOperator
<fc>Audit
FeatureArchive
ReferenceMode ClassMetaData OnlineLocationClasses
ObjectArchive
StationSeries
StationSeries
CenterlineP olylineEvent StationSeries OfflineP oint
SubSystemRange
Site
OnlineFacility
ESRI Simple Object
OnlineP oint
Site
Relationship Wormhole OnlineP olyline
The above diagram shows the inheritance tree of the APDM abstract classes. ESRI
Simple Objects are the highest-level objects from which all classes located within a
geodatabase inherit. Each APDM abstract class is defined as a child of one or more ESRI
Simple Objects and potentially as a child of another APDM abstract class. Relationships
between the APDM abstract classes and other APDM classes are defined using
‘wormholes’ (the pink balloons). The connectors show the cardinality of the relationships
between the classes. Cardinality indicates the number of instances (one or many) of an
entity in one class in relation to another entity in another class. Cardinality is illustrated
by the ends of the connector lines; A single line indicates a single or ‘one’ entity and a
‘Crows Foot – Three part’ line indicates multiple or ‘many’ entities. The most important
part of this diagram is the depiction of APDM core classes represented by the grey call-
out boxes. Core APDM classes must be implemented in the APDM geodatabase to
maintain APDM compliance. In some cases the core APDM classes are the only class
within a model inheriting from a particular APDM abstract class. For example,
StationSeries inherits from CenterlinePolyline and ControlPoint inherits from
CenterlinePoint. It is important to recognize that relationships occur from abstract classes
to the core classes. These relationships define key APDM behavior and must be
maintained. Child concrete classes inheriting from an APDM abstract class that has a
relationship with a core APDM class inherit and implement the same types of
relationships.
November 2010 38
ArcGIS Pipeline Data Model Version 5.0
November 2010
The diagram above illustrates APDM abstract class inheritance from the top of the tree
down to the example concrete class, Elbow.
The APDM abstract classes represent the expected behavior of object and feature classes
in the APDM. Behavior can be expressed as a function of three elements – the attributes
of a class, the relationships of a class, and the inheritance of a class. The next section
presents each APDM Abstract Class by describing the geometry, inheritance, attributes,
and relationships for the class. In describing these properties for each class, the expected
behavior for that class is defined. APDM Compliance is defined as follows:
• Every class in the APDM must inherit directly from an APDM Abstract Class
• Inherited attributes and relationships must use the standard APDM names,
optionality and cardinality without deviation.
• The core APDM classes must be implemented according to the inheritance tree
and they must use the names assigned to them.
APDM Metadata classes and attributes are described later in this document.
November 2010 40
ArcGIS Pipeline Data Model Version 5.0
November 2010
November 2010 42
ArcGIS Pipeline Data Model Version 5.0
November 2010
10.2.5.1 APDMObject
Relationships: None
(cardinality, optionality, attributes,
composite)
SubTypes: --
APDMObject is the highest-level ancestor APDM abstract class for object classes within
the APDM. Its purpose is to propagate the EventID attribute. The EventID attribute is
used as a unique identifier containing a GUID value (esriFieldtypeGUID). All feature
classes and object classes within the APDM must have an attribute named EventID. The
EventID provides a mechanism for uniquely identifying each feature or object within the
geodatabase and is independent of the feature or object class to which it belongs. The
GlobalID (esriTypeGlobalID) is used as a unique identifier for features and classes across
geodatabases. The GlobalID’s are used in tracking one-way and two-way geodatabase
replication. Using GUIDs for unique identifiers ensures that all features maintain a
unique key even if they are exported from and then imported back into a geodatabase.
The ObjectID or OID attribute is provided to all registered classes within a geodatabase
by ESRI. The OID is of long integer type and can change when features are exported
from and then imported back into a class. Note that the term "event" in EventID does not
denote that this attribute pertains to event tables or events only. “EventID” was chosen to
represent a unique ID for any event that occurred on or along a pipeline system, be it an
online or offline feature. In a future version of APDM the term “EventID” may be
replaced by a more descriptive term such as "FeatureID" or "GeoEntityID".
10.2.5.2 ObjectArchive
November 2010 44
ArcGIS Pipeline Data Model Version 5.0
November 2010
SubTypes: --
The ObjectArchive object class contains object class level archival information including
the user that created the object and the user or application that last modified the object or
its attributes. The ObjectArchive also includes effective to and from dates and the
standard APDM fields ProcessFlag and Remarks. All objects belonging to object classes
below ObjectArchive in the inheritance tree require this information for operational and
historical tracking purposes. The gnHistoricalState domain contains the following values:
-1=Unknown (Verified), 0=Unknown, 1=Current, 2=Historical.
10.2.5.3 CenterlineObject
SubTypes: --
The CenterlineObject APDM Abstract Class provides access to the OriginEventID. These
values are typically reserved for online polyline features that span station series equations
and are often broken at series breaks. These attributes may be used to group hierarchy
objects such as LineLoops and SubSystems together. As a best practice, the use of the
OperationalStatus attribute as it pertains to LineLoop and SubSystem should affect all
related child features. When changing the OperationalStatus value of these objects, such
changes should be cascaded to all related StationSeries features and child features
through the relationship tree (e.g. online features, offline features with online locations
etc.).
10.2.5.4 NonFacilityObject
November 2010 46
ArcGIS Pipeline Data Model Version 5.0
November 2010
SubTypes: --
The NonFacilityObject APDM Abstract Class provides a universal status field for non-
operational and non-facility object classes. Status is provided to indicate rudimentary
status values rather than a full set of operational status values. The values for the gnStatus
domain applied to this field are: -1=Unknown (Verified), 0=Unknown, 1=Conceptual,
2=Proposed, 4=Active, and 8=Inactive.
10.2.5.5 AuditObject
The Audit object classes represent a singular type of entity within the APDM. The Audit
object classes are physically implemented within the model and are a core construct if a
class requires a M-N relationship with Activity or ExternalDocument. Audit classe are
not required for a class to implement a relationship to the Activity Object Class. Feature
and/or object classes can implement a direct M-1 relationship to Activity in the absence
of an Audit class or when the feature/object is created directly as a result of an activity
and will not have any historical or comments appeneded to that relationship (Eg. The
features created as the results of RISK analysis are likely not to be modifed and are the
direct result of a single activity). This example shows that a RiskResultsAudit class is
NOT required. A pipe segment stored in the PipeSegment feature class will incur the
effects of multiple activities through it’s lifespan including (by not limited to):
installation, tested, put into service, multiple inspections, possible repairs and ultimately
continued operation, removal, replacement or abandonment. In this case, the
implementation of PipeSegmentAudit class acting as a intermediary table to the Activity
object class is highly appropriate. If the Audit class is implemented it must inherit
directly from the AuditObject abstract class. Note that it is acceptable to add organization
specific attributes to the AuditObject abstract class or to each individual Audit class. In
this manner specific attribution can be tracked when an activity occurs for a specific
parent object or feature.
10.2.5.6 ActivityExtension
The ActivityExtension object classes represent a singular type of entity within the
APDM. The ActivityExtension object classes are physically implemented within the
model and are implemented whenever an Activity class requires a relationship with a
class that stores more information about a specific activity. The ActivityExtension class
allows storage of additional attributes for a specific activity. These attributes are specific
to the activity and would not be applicable for inclusion the actual Activity table itself.
For example, the attributes that describe in detail a Inline Inspection Run may not be
applicable to a Pipe Replacement activity. All classes describing activities with specific
attributes must inherit from the ActivityExtension feature class.
November 2010 48
ArcGIS Pipeline Data Model Version 5.0
November 2010
10.2.5.7 FacilityObject
The FacilityObject APDM abstract class provides in-service, installation and operational
status attributes for objects representing facilities. Compressors, compressor engines, and
valve operators are facilities that are typically modeled as non-geometric facility objects.
The SiteEventID field can be used to relate the object (e.g. a compressor station) to a
particular site. The OperationalStatus domain contains the following values: -
1=Unknown (Verified), 0=Unknown, 1=Conceptual, 2=Proposed, 4=Active, 8=Inactive,
16=Idle, 32=Abandoned and 64=Removed.
10.2.5.8 FeatureArchive
November 2010 50
ArcGIS Pipeline Data Model Version 5.0
November 2010
unique EventID).
LastModified (Date) – The timestamp for the last modification of
the record in the database. LastModified is equal to the
CreatedDate for the initial record of an object. The LastModified
timestamp is modified with each successive record documenting
the historical state of a feature.
ModifiedBy (String, 45) – The User-ID of the operator who last
modified the feature. For the initial record for a feature,
ModifiedBy = CreatedBy. ModifiedBy changes with each
successive record that represents a different historical state of a
feature.
HistoricalState (String, 30) gnHistoricalState (required APDM
domain) – Indicates whether the record represents the current
state, or an historical state, of the referenced object or feature.
HistoricalState is included in the model for those utilizing
‘inline’ histories. In such implementations, multiple historical
versions of a single feature or object may be stored; the
HistoricalState attribute provide a simple means of distinguishing
current vs. historical records.
ProcessFlag (String, 10) - A catch-all field for application
developers used for temporarily storing values, tags, and codes
required for application processing. The field is not meant to
store information on a permanent basis and should be cleared
after each procedure or operation that is performed using this
field.
Remarks (String, 255) – Open field used for comments, remarks, or
notes about the object.
Relationships: None
(cardinality, optionality, attributes,
composite)
SubTypes: --
FeatureArchive is the highest-level ancestor APDM abstract class for feature classes
within the APDM. One purpose for this abstract class is to propagate the EventID
attribute. The EventID attribute is used as a unique identifier containing a GUID
(esriTypeGUID) value. All feature classes and object classes within the APDM must
have an attribute named EventID. The GlobalID (esriTypeGlobalID) is used as a unique
identifier for features and classes across geodatabases. The GlobalID’s are used in
tracking one-way and two-way geodatabase replication.The second purpose of the
FeatureArchive APDM Abstract Class is to store feature class level archiving information
including who created the feature and who last modified the feature or its attributes. This
class includes operational dates such as effective to and from dates and the APDM core
fields ProcessFlag and Remarks. All features belonging to feature classes below this class
in the inheritance tree require this information for operational and historical tracking
purposes.
In the above definition, FeatureArchive optionally implements ESRI Simple Feature. The
reason for this is to accommodate those who wish to implement the APDM using events
rather than features. However, both the logical model diagram and the physical model
UML diagram depict FeatureArchive as implementing ESRI Simple Feature; this is the
recommended best practice.
10.2.5.9 CenterlinePolyline
Relationships: None
(cardinality, optionality, attributes,
composite)
November 2010 52
ArcGIS Pipeline Data Model Version 5.0
November 2010
10.2.5.10 CenterlinePolylineEvent
The CenterlinePolylineEvent APDM abstract class adds online polyline event attributes
(BeginStationEventID, EndStationEventID and RouteEventID) and centerline edit
metadata attributes (CLValidityEditResponse and CLValidityTolerance) to
CenterlinePolyline for the one event class that inherits from it: SubSystemRange. The
CenterlinePolylineEvent abstract class is distinguished from the OnlinePolylineFacility
abstract class by the absence of the InstallationDate and InServiceDate attributes. The
inherited OriginEventID attributes have relevance for SubSystemRange features as they
may span station equations in interrupted style reference modes. The APDM Core section
of this paper explains the structure and purpose of the SubSystemRange feature class and
how it interacts with other classes within the model.
10.2.5.11 CenterlinePoint
November 2010 54
ArcGIS Pipeline Data Model Version 5.0
November 2010
feature.
RouteEventID (GUID) – Foreign key to a Continuous station series
feature in the StationSeries feature class.
SeriesEventID (GUID) - The foreign key of the Station Series
feature to which the control point belongs.
StationValue (Double, 15, 2) – Contains the measure value that is
used to locate the point feature along a Engineering station series
feature.
SymbolRotation (Double, 15, 2), gnAngle (required APDM
domain) - A rotation angle from 0–360o for a point symbol (uses
gnAngle domain). This allows operators to preserve rotation
information for point symbols imported from external systems
such as Computer Aided Drafting (CAD) applications. Allows all
point symbols within the APDM to be rotated as needed;
manually, or in relation to other features. This is used primarily
for display in mapping applications such as alignment sheets.
Relationships: StationSeries<CenterlinePoint class name> (core): <CenterlinePoint
(cardinality, optionality, composite,
inheritance) class name> is M:1 with StationSeries.
SubTypes: Reference Modes – each CenterlinePoint feature must have
subtypes equal to those in the CenterlinePolyline (StationSeries)
feature class. Each subtype value represents a single reference
mode.
The CenterlinePoint APDM abstract class encapsulates and describes the behavior of
points that participate in the construction of the centerline. Currently, only the
ControlPoint class serves this purpose in the APDM. The attributes of this class describe
the behavior and relationships of control points within the centerline and to the
StationSeries feature class. Each control point can have an operational status reflecting
the status of the parent station series. Control points can be placed in proposed or
conceptual states indicating route planning or new pipeline construction activities. More
information regarding the role of control points in the APDM is described in the ‘APDM
Core’ section.
10.2.5.12 OfflineFeature
The OfflineFeature APDM abstract class stores polyline and polygon features that are
primarily located by x,y coordinate position and have no impact on the location of the
centerline or the stationing values contained therein. Offline features comprise any
feature that is ancillary to the operations and description of the pipeline system and the
underlying geography. Most land base or supporting features possessing polyline or
polygon geometry are stored in feature classes inheriting directly from this abstract class.
OfflineFeatures such as Alignment Sheets and Line Crossings may be related to features
in classes inheriting from OnlinePolylineForOfflineFeature or
OnlinePointForOfflineFeature. Features in these classes are located on the centerline and
represent the online location or stationed position of an OfflineFeature. These
relationships are captured in the geodatabase as relationship classes and as rows in the
OnlineLocationClass APDM Metadata table.
10.2.5.13 OfflinePoint
November 2010 56
ArcGIS Pipeline Data Model Version 5.0
November 2010
feature.
SymbolRotation (Double, 15, 2), gnAngle (required APDM
domain) - A rotation angle from 0–360o for a point symbol (uses
gnAngle domain). This allows operators to preserve rotation
information for point symbols imported from external systems
such as CADD. Allows all point symbols within the APDM to be
rotated as needed; manually, or in relation to other features. This
is used primarily for display in mapping applications such as
alignment sheets.
Relationships: None
(cardinality, optionality, composite,
inheritance)
SubTypes: --
The OfflinePoint APDM abstract class stores point features that are primarily located by
x,y coordinate position and have no impact on the location of the centerline or the
stationing values contained therein. Most land base or supporting point features are stored
in feature classes inheriting directly from this abstract class. OfflinePoints such as Field
Notes and Structures may be related to features in classes inheriting from
OnlinePolylineForOfflineFeature or OnlinePointForOfflineFeature. Features in these
classes are located on the centerline and represent the online location or stationed
position of an OfflinePoint feature. These relationships are captured in the geodatabase as
relationship classes and as rows in the OnlineLocationClass APDM Metadata table. The
SymbolRotation property is added to allow for cartographic control over the
representation of OfflinePoint features.
10.2.5.14 OfflineFacility
The OfflineFacility APDM abstract class provides the facility logic for all offline
facilities features by adding the InServiceDate, InstallationDate and OperationalStatus
attributes. Similar to OfflineFeatures, OfflineFacilities are used for storing features that
are primarily located by x,y coordinate position and have no impact on the location of the
centerline or the stationing values contained therein. OfflineFacility features may be
related to features in classes inheriting from OnlinePolylineForOfflineFeature or
OnlinePointForOfflineFeature but this is unlikely. The only class that inherits directly
from OfflineFacility is Site. Sites represent the boundaries of stations, storage areas, or
large buildings that possibly contain other features, and facilities. Sites are put into
service and have installation dates representing the time that they were built.
10.2.5.15 OfflineNonPointFacility
The OfflineFacility APDM abstract class further divides the behavior of offline facility
classes into NonPoint and Point. OfflineNonPointFacility is intended for use with offline
facilities features that are best represented by polyline or polygon shapes (e.g.
PigStructure). The OfflineNonPointFacility abstract class inherits the in-service date,
installation date and operational status attributes of the OfflineFacility APDM Abstract
November 2010 58
ArcGIS Pipeline Data Model Version 5.0
November 2010
10.2.5.16 OfflinePointFacility
The OfflineFacility APDM abstract class further divides the behavior of offline facility
classes into NonPoint and Point. Intended for use with offline facilities classes best
represented with point shapes (e.g., CPTestStation), OfflinePointFacility add the
SymbolRotation attribution to control the orientation of point features during display. The
OfflinePointFacility abstract class inherits the in service date, installation date and
operational status attributes of the OfflineFacility abstract class and thus is treated as a
10.2.5.17 OnlineFeature
The OnlineFeature APDM abstract class defines the core behavior of online features.
Online features represent a classification of features that are found as events on the
centerline. Online features are primarily located on the centerline using a measure or
station value. This position represents a certain distance from the begin point of a linear
route feature (e.g. a primary reference mode station series feature). Online features can
only be point or line features. Online features must be geometrically coincident and
geometrically constrained to the centerline features (i.e. station series) of the pipeline.
Features that are geometrically coincident are point or linear features that share the same
edge as the station series features that comprise the centerline. Features that are
geometrically constrained are linear features that share not only the edge of the centerline
but also every intervening vertex between the start and endpoint of the linear feature
which is shared with the station series feature.
November 2010 60
ArcGIS Pipeline Data Model Version 5.0
November 2010
All online features must have a StationSeriesEventID attribute that identifies a unique
route feature (i.e. station series) on which the feature is located. The
StationSeriesEventID attribute is a foreign key to the StationSeries feature class. The
related parent station series feature must belong to the PRM (or default subtype) of the
StationSeries feature class. The CLEditResponse and CLValidityTolerance attributes
describe what happens to the online feature when the underlying station series feature is
edited at the LineLoop level. These attributes define how and if the feature is re-built on
the centerline during a reroute.
The abstract classes that inherit from OnlineFeature describe the stationing attributes
required for online point and polyline features.
10.2.5.18 OnlinePolyline
The OnlinePolyline APDM abstract class encapsulates the stationing and status behavior
of non-facility online polyline features. The term non-facility means representative
phenomena opposed to actual phenomena. Representative phenomena are organizational
or categorical features as defined by an operator. An InspectionRange is an arbitrarily
assigned reach along the pipeline defined by a start and stop position. The feature itself
does not exist in reality other than as a designation. Alternately, online facility objects do
exist in reality and can be visually examined and manipulated in the real world. To this
end, the Status of OnlinePolyline features is tracked as opposed to the OperationalStatus
that is used for facility features. Online linear features are stored in an M Aware
(optionally Z-Aware) polyline feature class or as an Event table containing events that are
geometrically constrained and coincident with the centerline. Online linear features are
located by linear referencing using a StationSeriesEventID that is inherited from
OnlineFeature and two station value fields.
OnlinePoint and OnlinePolyline features may be derived from other online point or
polyline features. In this case, the OnlinePolyline represents an additional location or
alternate geometric representation of the other online feature. Two good examples of this
are the representation of a valve as both a point and polyline feature. Valves often have a
length attribute which may be required for calculation of Maximum Allowable Operating
Pressure (MAOP). In this example the Valve inherits from the OnlinePointFacility class
but has a related set of features stored in a feature class that inherits from the
OnlinePolyline abstract class. The attributes describing the valve are stored in the Valve
point feature class but the visual and graphic representation of the length of the valve is
stored in a separate ValveLength feature class. The ValveLength feature class inherits
from OnlinePolyline and is related (M-1) to the Valve feature class. Similarly, a Leak
feature inheriting from the OnlinePoint Abstract Class may be related to a
LeakAreaOfEffect feature class that inherits from the OnlinePolyline abstract class.
Relationships between online feature classes and offline feature classes representing
alternate or additional locations for those classes are defined in the APDM Metadata table
OnlineLocationClass.
November 2010 62
ArcGIS Pipeline Data Model Version 5.0
November 2010
10.2.5.19 OnlinePolylineForOfflineFeature
polyline and offline polygon features. For the former, the online polyline location feature
might represent the easement to either side of where the offline linear feature intersects
the centerline; for the latter, the online polyline location feature represents the overlap of
the polygon on the centerline or the range of intersection of the centerline by the polygon.
The OPFOF class contains begin and end offset angle and distance information as well.
Often an online location can be generated from an offline feature that does not intersect
the centerline, or is not located within a specific distance from the centerline and
therefore requires an offset bearing and distance from the centerline to define the begin
and end positions of the offline feature.
10.2.5.20 OnlinePoint
November 2010 64
ArcGIS Pipeline Data Model Version 5.0
November 2010
The OnlinePoint APDM abstract class encapsulates the stationing and status behavior of
non-facility online point features. The term ‘non-facility’ means representative
phenomena opposed to actual phenomena. Representative phenomena are organizational
or categorical features as defined by an operator. An ElevationPoint is an arbitrarily
assigned point along the pipeline defined by a start position where an elevation
measurement occurred. The feature itself does not exist in reality other than as a
designation. Alternately, online facility objects do exist in reality and can be visually
examined and manipulated in the real world. To this end, the Status of OnlinePoint
features is tracked as opposed to the OperationalStatus that is used for facility features.
Online point features are stored in an M-Aware (optionally Z-Aware) point feature class
that is geometrically coincident with the centerline. Online point features are located by
linear referencing using a StationSeriesEventID (inherited from OnlineFeature) and a
Station value. Online point features can be used to model concrete features that occur
along the centerline or as online locations for offline point or offline polyline features.
OnlinePoint features can represent the online location for other online location features.
An example of this is given in the descriptive notes for the OnlinePolyline APDM
Abstract Class.
10.2.5.21 OnlinePointForOfflineFeature
10.2.5.22 OnlineFacility
November 2010 66
ArcGIS Pipeline Data Model Version 5.0
November 2010
The OnlineFacility APDM abstract class encapsulates the attributes and relationships that
define an online feature representing a facility. Facility objects are those representing real
features in the world such as pipes, coatings, taps, tees and valves. Facilities are primarily
defined by the InServiceDate, InstallationDate and OperationalStatus attributes which
determine the operational and lifespan properties of the feature. The foreign key attribute
SiteEventID provides the capability for facilities to be stored or contained as objects with
or without geometry within a Site feature. The OnlineFacility abstract class also
incorporates inherited online behavior such as a relationship with the StationSeries
feature class.
10.2.5.23 OnlinePolylineFacility
SubTypes: --
10.2.5.24 OnlinePointFacility
November 2010 68
ArcGIS Pipeline Data Model Version 5.0
November 2010
SubTypes: --
The OnlinePointFacility APDM abstract class is used to differentiate the stationing and
symbology requirements for a point from those required by an OnlinePolylineFacility.
OnlinePointFacility inherits the facility attributes such as InServiceDate, InstallationDate,
OperationalStatus and SiteEventID from the OnlineFacility abstract class.
OnlinePointFacility has the Station attribute used to locate the point feature on the
centerline and the SymbolRotation attribute used for cartographic purposes.
10.2.5.25 Fitting
SubTypes: --
The Fitting abstract class adds attributes common to manufactured fittings (e.g. Grade,
Material, Specification, etc.) to the OnlinePointFacility abstract class. Any feature that
qualifies as a fitting should implement the Fitting abstract class.
Several methods are suitable for storing class-level metadata. Viable candidates for class-
level metadata storage include: 1) extensions to XML-based ESRI class metadata (as
exposed in ArcCatalog), 2) object classes implemented within the geodatabase itself, and
3) simple relational tables stored in the database hosting the APDM. The APDM standing
committee chose to implement class-level metadata as geodatabase object classes because
they are easily maintained with out-of-the-box ESRI tools. In addition, at ArcGIS 9.3,
November 2010 70
ArcGIS Pipeline Data Model Version 5.0
November 2010
geodatabase object classes can be queried and updated directly via SQL. Because the
APDM class-level metadata object classes store information intrinsic to the behavior of
the database, they should not be registered as versioned. Indeed, class-level metadata
should not be altered after the geodatabase is initially populated.
10.3.1.2 ClassMetaData
ClassMetaData stores metadata describing the abstract class type of each object and
feature class in the APDM schema. The primary purpose of the table is to provide a
permanent repository for this information so that users and application developers are
spared the task of parsing the attribute and relationship content of the APDM classes to
determine their abstract class type. The gnRequiresGeometry domain is core and includes
the following values: Unknown (Verified), Unknown, Must Have, Must Not Have,
Optional.
The following class types are codes that are delineated for the ClassType field:
• ActivityExtension • OfflinePointFacility
• APDMObject • OfflineNonPointFacility
• AuditObject • OnlineFeature
• CenterlineObject • OnlinePolyline
• FacilityObject • OnlinePolylineForOfflineFeature
• NonFacilityObject • OnlinePoint
• CenterlinePolyline • OnlinePointForOfflineFeature
• CenterlinePolylineEvent • OnlineFacility
• CenterlinePoint • OnlinePolylineFacility
• OfflineFeature • OnlinePointFacility
• OfflinePoint • Fitting
• OfflineFacility
10.3.1.3 OnlineLocationClass
November 2010 72
ArcGIS Pipeline Data Model Version 5.0
November 2010
Type:
Other Notes: --
Attributes: OriginClassEventID (GUID) – A unique identifier for the ‘offline’
(name, type, length, precision, scale,
domained, notes) parent class.
OnlineClassEventID (GUID) – A unique identifier for the ‘online
location’ child class.
OnlineLocationMechanism (String, 50) -
gnOnlineLocationMechanism (Default 0=Unknown) – The
mechanism used to derive the ‘online location’ feature(s) for an
‘offline’ feature.
Relationships: ClassOriginClass (core): OnlineLocationClass is M:1 with
(cardinality, optionality, composite,
inheritance) ClassMetaData
ClassOnlineClass (core): OnlineLocationClass is M:1 with
ClassMetaData
SubTypes: --
OnlineLocationClass stores the ClassEventID for the offline and online classes involved
in an ‘offline’ and ‘online location’ relationship. As noted above, the ClassOriginClass
and ClassOnlineClass relationships do not completely embody the restrictions on the
relationships of APDM offline classes to online location classes. First, only offline
classes should appear in OriginClassEventID. Second, while an APDM offline class can
have multiple online location classes associated with it, an online location class can only
be associated with one parent APDM offline class, The offline class must inherit from the
OfflineFeature or OfflineFacility APDM abstract classes, or their descendants. The online
class must inherit from either the OnlinePolylineForOfflineFeature or
OnlinePointForOfflineFeature APDM abstract classes.
10.3.1.4 ReferenceMode
The ReferenceMode table stores the metadata defining each reference mode implemented
in an APDM geodatabase. Reference mode types are found in the StationSeries feature
class. Reference modes are applied to the entire geodatabase. Each StationSeries feature
must belong to one and only one LineLoop object and must implement one and only one
of the defined reference modes. All ControlPoint features must belong to one and only
one StationSeries feature and implement the all defined reference modes. In the Control
Point feature class each reference mode (stationing, or measure value) are stored in a
separate attribute. Each StationSeries feature must be composed of two or more related
ControlPoint features to establish the stationing for the reference mode defining the
StationSeries feature.
The default reference mode value for StationSeries must all be the same; this reference
mode is designated as the ‘Primary Reference Mode’ (PRM). Other implemented
reference modes are referred to as ‘Alternate Reference Modes’ (ARM’s). All online
event features in the geodatabase must be stored using the PRM and any ARM’s and
related to appropriate PRM and ARM StationSeries features.
Reference mode distance units are stored in the RefModeUnits field of ReferenceMode.
They are stored explicitly because the reference mode distance units do not necessarily
November 2010 74
ArcGIS Pipeline Data Model Version 5.0
November 2010
conform to the units of the spatial reference for the Transmission feature dataset. For
instance, the spatial reference units of the Transmission feature dataset might be decimal
degrees whereas the distance units of one of the references modes might be meters. The
contents of the gnRefModeUnits domain correspond to the values found in the
ArcObjects esriSRUnitType enumeration. This facilitates easy programmatic
manipulation of data based on the information stored in RefModeUnits.
RefModeBasis stores a coded value defining the physical basis upon which station values
(measures) are accumulated for a particular reference mode. Station values are most
commonly collected in the field during construction by physically measuring the length
of the pipeline (3D Slack Chain basis). However, using ArcToolbox geoprocessing tools
it is possible to calculate station values using a variety of methods. The most common
method in the industry for calculating stationing is to compute it as 2D horizontal
distance in a specified projection system, i.e. ‘horizontal stationing’ (2D Projected basis).
Station values may also be calculated by draping the pipeline over a Digital Elevation
Model (DEM) (3D Projected basis), or by calculating distances on the geoid (3D Geoid
basis).
Some reference modes may start with a defined physical basis, but because of their
behavior during reroute operations, become fundamentally ‘arbitrary’ in terms of
physical basis (Arbitrary basis). An example of a reference mode with an arbitrary basis
is Milepost. Milepost markers are placed at fixed locations; each time a pipeline reroute
is performed the physical distance between affected mileposts changes. The Milepost
measurement system is therefore ‘arbitrary’. Examples of all of the currently defined
ReferenceModeBasis codes are illustrated below:
November 2010 76
ArcGIS Pipeline Data Model Version 5.0
November 2010
RefModeType stores coded values that determine how the StationSeries features in each
reference mode behave during a reroute. The four possible values of the gnRefModeType
domain are:
The four RefModeType code values store the four possible combinations of two
independent properties: Uninterrupted/Interrupted and Adjustable/Not Adjustable. Both
properties describe the reference mode (stationing) behavior of StationSeries features
relative to their related LineLoop object during a two-point reroute:
Examples of reference modes that are Uninterrupted and Adjustable include PODS
Continuous Measure and ISAT NET stationing, as depicted below:
November 2010 78
ArcGIS Pipeline Data Model Version 5.0
November 2010
CLEditResponse
CLEditResponse contains coded values that determine how the position of an online
feature is calculated in response to a centerline edit that changes the shape of the
centerline or alters the station values of ControlPoint features in the vicinity of the
affected feature. The following CLEditResponse codes and resulting behaviors are
defined:
• Proportional – The location of an event must fall on the centerline, but its
position is determined by its proportional distances from the nearest surrounding
ControlPoint features. If the centerline moves, the event moves with it. The
event’s proportional distances from the nearest surrounding ControlPoint features
remain constant. If the Station value(s) of the nearest surrounding ControlPoint
features change, the Station value(s) of the event changes accordingly, but its
proportional distances from the nearest surrounding ControlPoint features remain
constant. (The event’s proportional distances from the nearest surrounding
ControlPoint features always remain constant.) Example – data captured from
originally non-stationed systems, or from systems where stationing was unclear or
missing on source documents. ControlPoint station values may be adjusted over a
long period of time; events should not necessarily slide around when this occurs.
But events should move with the centerline if the centerline is moved.
The behavior of the ‘Relative’ and ‘Proportional’ CLEditResponse values with respect to
online features are illustrated in the following diagram:
November 2010 80
ArcGIS Pipeline Data Model Version 5.0
November 2010
CLValidityTolerance
With respect to the ‘Absolute’ value for CLEditResponse, one example of a use for it is
for ElevationPoint features derived from a Digital Elevation Model (DEM). The X/Y
locations of such points are known exactly and should not move with the centerline when
the centerline is edited. If the centerline is moved significantly then the DEM-derived
ElevationPoint features should become ‘invalid’, as depicted in the following illustration:
November 2010 82
ArcGIS Pipeline Data Model Version 5.0
November 2010
The ControlPoint metadata attributes come into play during centerline edit operations that
change the locations or station values of ControlPoint features. ControlPoint metadata
attributes play no role in pipeline reroute operations (where a section of the centerline is
‘cut’ out or replaced. Reroute behavior is governed by class-level reference mode
metadata.) The behavior of online features during centerline edit operations is governed
according to their CLEditResponse codes and CLValidityTolerance values.
CLXYEditResponse
2. Fixed Distance – For Fixed Distance, a ControlPoint can be moved, but the
distances to the surrounding ControlPoints must held constant. Deflection angle at
the ControlPoint in question can vary, though. FixedDistance can be applied to a
single ControlPoint or a group of two or more adjacent ControlPoints.
3. Fixed Deflection – With Fixed Deflection, a ControlPoint can be moved, but the
deflection angle at the ControlPoint relative to surrounding ControlPoints must
remain constant. Fixed deflection allows the preceding and following control
points to be translated in or out (in terms of distance from the FixedDeflection
ControlPoint). FixedDeflection can be applied to a single ControlPoint or a group
of two or more adjacent ControlPoints.
4. Fixed Inline – The ControlPoint can be moved, but it must always be inline with
surrounding ControlPoints. This addresses the concern about a Geographic
November 2010 84
ArcGIS Pipeline Data Model Version 5.0
November 2010
5. Fixed Geometry – The ControlPoint can be moved, but only as a unit with the
surrounding ControlPoint features. In other words, the ControlPoint belongs to a
segment of the centerline with a fixed shape; the segment can be moved, but the
segment's shape is constant. For data retrieved from old as-built drawings the
position of ControlPoints relative to each other is well known, although the
absolute location may not be. ‘Fixed Geometry’ allows a group of adjacent
ControlPoints to be treated as a single unit for X/Y translations. A ControlPoint
with FixedGeometry can be moved, but the adjacent ControlPoints must move as
a unit with it. FixedGeometry must be applied to two or more adjacent
ControlPoint features to be meaningful.
6. Fixed – The X/Y position of the ControlPoint is fixed and cannot be altered.
Fixed can be applied to a single ControlPoint if desired.
November 2010 86
ArcGIS Pipeline Data Model Version 5.0
November 2010
CLStationEditResponse
CLStationEditResponse stores coded values that define how the station value of a
ControlPoint may be altered. Again, because the station value of a ControlPoint feature is
related to the station values of surrounding control points, defining degrees of freedom on
the ControlPoint station value is more complex than simply stating whether the station
value can be modified. The domain for CLStationEditResponse has five values:
1. Assigned – The station value for the ControlPoint may be freely adjusted within
the station range of the surrounding ControlPoints.
3. Offset Upstream – The station value of the ControlPoint is set relative and
constant to the first ControlPoint that has a CLStationEditResponse of either
‘Fixed’ or ‘Assigned’ upstream (down station). If the station value of the fixed
ControlPoint relative to the current ControlPoint is updated, then the station value
of the current ControlPoint is likewise updated.
5. Fixed – The station value for the ControlPoint is fixed and may not be altered.
CLZEditResponse
CLZEditResponse stores coded values that define how the elevation (Z) value of a
ControlPoint may be altered. ControlPoint feature elevation values may be partially
dependent on the elevations values of surrounding ControlPoints, as well as on
November 2010 88
ArcGIS Pipeline Data Model Version 5.0
November 2010
• Fixed – The elevation of the ControlPoint is fixed and may not be altered.
November 2010 90
ArcGIS Pipeline Data Model Version 5.0
November 2010
CLControl
CLControl stores a Yes/No value defining whether the ControlPoint participates in the
construction of the centerline StationSeries feature. The principal reason for
implementing CLControl is to handle the transition from traditional surveying methods to
modern differential GPS control in defining the centerline. Traditionally, the centerline is
represented as a traverse defined by a series of Points of Inflection (P.I.’s). P.I.’s are
actually survey artifacts with respect to the true location of the centerline; the centerline
does not actually pass through P.I.’s. Rather, the pipe bends that occur at the locations of
P.I.’s define an arc whose radius is inside the P.I. GPS points derived from field survey or
a geo-pig inline inspection can be used to approximate the arc to a greater degree of
precision than the P.I. does. As time goes by, one can expect to replace P.I. ControlPoint
features with differential GPS ControlPoint features. By setting CLControl to ‘No’ one
can maintain a P.I. ControlPoint for historical value, but not allow it to participate in the
construction of StationSeries features. CLControl behavior is illustrated below:
Figure 15 – CL Control
The current implementation of APDM 5.0 uses Continuous Measure and Engineering
Stationing as default reference modes. The behavior that describes each is listed in the
ReferenceMode metadata table.
The storage and categorization of the M or measure values in a route is a reference mode.
A reference mode is described by a name, the units of measure used for M (or measure)
values, the basis for how the M calculated (2D or 3D distance), and how the M values of
the routes and the geometry of the routes themselves behave if the geometry of a route is
altered. The reference mode is also described with root names for foreign key and
measure/station values that are stored as attributes in event-based classes.
The ReferenceMode table is designed to store the meta data describing the reference
modes used within an APDM. This section of the document will concentrate on
describing the relationships between online feature/event classes, the StationSeries
feature class and the ReferenceMode metadata class using the default reference modes
listed below.
RefMode <d> RefModeRootName RefModeMeasureR RefModeUnits <d> RefModeType <d> RefModeBasis <d> IsPRM ParentRefMode
(root for FK) ootName <d>
10.5.1
The table above lists the two default reference modes for APDM 5.0: Continuous and
Engineering. Blue is used to define information describing the ‘continuous’ reference
mode and ‘green’ is used to define the information describing the ‘engineering’ reference
mode.
November 2010 92
ArcGIS Pipeline Data Model Version 5.0
November 2010
A polyline event requires two ‘measure’ attributes for each reference mode. The root
name for these attributes is likewise contained in the RefModeMeasureRootName
column for each reference mode. Since a linear event requires a begin and end attributes
to define it’s position along the route two attributes are added to each online polyline
event/feature class with ‘Begin’ and ‘End’ added to the RefModeMeasureRootName.
Similarly the name of the foreign key attribute in the point event/feature class is stored in
the RefModeRootName column. The ‘Continuous’ reference mode is the Primary
Reference Mode and it is defined as ‘Uninterrupted and Adjustable’ inferring that only
one ‘continuous’ station series feature can exist per lineloop. There only one foreign key
field is required in each Offline polyline feature class. However, the ‘Engineering’
reference mode is ‘Interrupted and Not-Adjustable’ meaning that more than one
engineering station series feature can exist for a given line loop. This means that a ‘begin’
and ‘end’ foreign key attributes must defined for each online polyline event/feature class
to track the possibility of a linear event starting on one engineering station series and
ending on another. Based on the values in the reference mode table on the preceding page
a online polyline event/feature class in APDM must have the following fields:
• BeginStation – contains the measure value that is used to locate the starting point
of the linear feature along the Engineering station series feature.
• EndStationEventID – FK to a Engineering station series feature in the
StationSeries feature class where the ending point of the linear feature is located.
• EndStation – contains the measure value that is used to locate the ending point of
the linear feature along the Engineering station series feature.
The following diagram illustrates examples of the schema for an online polyline
event/feature class (InspectionRange) and a online point event/feature class (Leak). The
schema for the StationSeries feature class and the ReferenceMode meta data table are
also included. The relationships between the online event/feature classes are included and
color coded to match the information listed in the reference mode table example. Blue
lines indicate the ‘Continous’ Route reference mode/station series relationships. Light
Green indicate the BEGIN ‘Engineering’ Series reference mode/station series
relationships. Dark Green indicate the END ‘Engineering’ Series reference mode/station
series relationships. The RED attributes show the relationships between StationSeries
features of different reference modes. For example – each StationSeries of RefMode =
‘Engineering’ will have a single ‘Continuous’ Route StationSeries parent. This
relationship is defined in the ReferenceMode metadata table. Where the ‘Continuous’
reference mode is the Primary Reference Mode and it’s EventID value is stored in the
ParentRefModeEventID value for the ‘Engineering’ reference mode. The foreign key
value for the relationship between ‘Engineering’ series and ‘Continuous’ route
StationSeries features is contained in the ParentStationSeriesEventID attribute in the
StationSeries feature class. Each ‘Continous’ station series will have a null value in this
attribute. Each ‘Engineering’ station series will have the GUID value matching the
EventID value of the parent ‘Continuous’ station series that it belongs to.
Also note the relationship between StationSeries and ReferenceMode using the RefMode
attribute (colored in purple). The parent-child relationship between reference modes in
the ReferenceMode table is reflected in a parent-child relationship between station series
features in the StationSeries feature class. Every station series feature must have a
RefMode value equal to a defined reference mode in the ReferenceMode metadata table.
Each reference mode defined in this table will have one or more station series features of
that reference mode type stored in the StationSeries feature class.
• There must be a single continuous station series feature that comprises the entire
route of the line.
November 2010 94
ArcGIS Pipeline Data Model Version 5.0
November 2010
Note that the ParentStationSeriesEventID does not follow the RefModeRoot naming
convention as defined in the description in the preceding pages or in the ReferenceMode
metadata table. This field refers to a surrogate primary-foreign key relationship between
the StationSeries feature class and itself. Currently ESRI technology do not support as
self- or reflexive relationship class. The relationship is documented in the above diagram
but is not physically implemented in the physical model. The values in the
ParentStationSeriesEventID MUST be maintained manually or programmatically. Note
November 2010 96
ArcGIS Pipeline Data Model Version 5.0
November 2010
that the ToSeriesEventID and the FromSeriesEventID values in the StationSeries feature
class remain the same to maintain compatibility with APDM 5.0.
RefMode <d> RefModeRootNam RefModeMeasureR RefModeUnits <d> RefModeType <d> RefModeBasis <d> IsPRM ParentRefMode
e (root for FK) ootName <d>
LineLoop Q1
Figure 17
for a given LineLoop. The continuous measure station series cannot be broken into two
or more features per LineLoop. The EndMeasure for each continuous measure station
series is based on the cumulative distance from start to end for the station series starting
at the BeginMeasure value for this feature. The IsPRM field indicates that ‘continuous
measure’ reference mode is the primary reference mode for the ‘engineering stationing’
reference mode. This has several ramifications. First, all child engineering stationing
station series must comprise the same geometry as the parent continuous measure station
series. This means that the position of the vertices from each child station series must
match the position of those in the parent. The cumulative stationing of all child
engineering stationing station series must equal that to the total measure of the parent
continuous measure station series (EndMeasure – BeginMeasure). Second, since the child
engineering stationing StationSeries belong to a ReferenceMode that is ‘Interrupted and
Non-Adjustable’ this means that one or more of these station series features can be
connected end-to-end to form the same route geometry as the geometry of the parent
continuous measure station series feature. The parent station series geometry is
comprised of the geometries of the child station series features connected end-to-end. The
continuous measure station series are considered the parent reference mode so there is no
ParentRefModeEventID value. Third, the RefModeRootName indicates the root name for
the foreign key attribute in each Online feature class linking the feature to the
StationSeries feature class and in particular the station series that is used to derive the
‘RefModeMeasureRootName’ value from.
The second reference mode – Engineering Station has a unique EventID GUID value.
The RefMode is ‘Engineering’. All ‘Engineering’ station series features representing this
reference mode will have a similar value in the RefMode attribute of the StationSeries
feature class. The RefModeMeasureRootName is ‘Station’ which is the attribute
containing the measure or station value for each OnlineFeature located along this
StationSeries. The RefMode units are feet. The distances along the StationSeries are
calculated by using a 3D Geoid. The RefModeType is ‘Interrupted and Adjustable’
meaning that one or more ‘Engineering Station’ StatinoSeries linked end-to-end will
comprise the geometry of the parent StationSeries feature. The ‘Engineering Stationing’
reference mode is not the Primary Reference Mode and it will have the GUID of the
Parent Reference Mode record in the ParentRefModeEventID attribute. Lastly, the
RefModeRootName, or foreign key attribute root name is listed in the
RefModeRootName.
The RefModeRootName is not only the root of the attributes in Online features it also
contains terminology that describes the actual station series features. Each Continuous
Measure station series feature is really a ‘Continuous Measure Route’ where each
Engineering Stationing station series feature is really an ‘Engineering Station Series’.
These are common terms used to describe station series features in the pipeline industry.
The following diagram illustrates the spatial relationship between control points,
‘engineering station series’ and ‘continuous measure routes’. The diagram also shows
November 2010 98
ArcGIS Pipeline Data Model Version 5.0
November 2010
how the combination of control points, series and routes forms a ‘physical’ LineLoop
object in the APDM.
The bottom of the two diagrams shows a set of control points. APDM 5.0 control points
now contain an attribute for each reference mode. The default implementation of
‘continous measure’ and ‘engineering stationing’ reference modes would require two
attributes. Using the ReferenceMode table example above, and using the
RefModeMeasureRootName values, these attributes will be called ‘MeasureValue’ and
‘StationValue’. The Value is appended to the Root names to differentiate the
ControlPoint feature class from regular online feature classes. For each control point
there are two ‘measure’ values. The measure values (in red) form the Continuous Station
Series. The station values (in black) form the Engineering Station Series.
Assuming that the control points in the top diagram form a single LineLoop comprised of
three ‘engineering’ station series; then the middle sketch shows the formation of the
‘Engineering Station’ series feature. Note that the order of stationing for these features (in
a ‘Interrupted and Non-Adjustable’ reference mode) can be ascending or descending. The
stationing values or measure values or M values for each StationSeries feature must be
montonically increasing but the direction of the ‘interrupted’ child station series
‘measure’ values is independent of the parent continuous station series.
The middle and the top routes in the top diagram show the relationship between the
‘Continuous Measure’ routes and the underlying ‘Interrupted Engineering Station’ series.
Engineering Series 1 links at it’s end point to the end point of Engineering Series 2 which
links at it’s begin point to Engineering Series 3 to form the same geometry route as the
‘Continuous Measure’ Route A (in the top drawing). Although the continuous measure
route is the parent reference mode it is generated and derived form the underlying
engineering station series which is in-turn derived from the control points that form the
engineering station series.
LIneLoop In the APDM 5.0, duplicate control
Attribute Value points have been merged. Each control
ObjectID 1
GlobalID {A298F545-4209-4CA5-9E2F-CE7F8C50E2A3}
point will contain one attribute for each
EventID (pk) {F3004B6A-40A6-49A6-B951-7F4F15D27E7E} reference mode. The only time that
CreatedBy Pcgv
CreatedDate 10/05/2009
control points are duplicated are at
EffectiveFromDate 1/1/2009 ‘equations’ representing the linking of
EffectiveToDate <Null>
HistoricalState <d> Current
two ‘interrupted’ style station series
LastModified 10/05/2009 belonging to the same parent ‘non-
ModifiedBy Pcgv
OriginEventID <Null>
interrupted’ style station series. The
ProcessFlag <Null> lower diagram (above) now shows
Remarks APDM 5.0 LineLoop Example
OperationalStatus <d> Active
control points (b-k) with ‘engineering’
LineName station value (black) and a ‘continuous’
Q1
Q1
Table 2
The following three tables lists the resulting LineLoop, StationSeries and ControlPoint
features described above in their respective table views based on the ‘ReferenceMode’
example (used above).
StationSeries
Attribute Value Value Value Value
ObjectID 1 2 3 4
Shape
Note that all four station series features are related to a single line loop via the
LineLoopEventID attribute. Note also that all three ‘Engineering’ series are related to the
single ‘Continuous’ route feature using the ‘ParentSeriesEventID’. No relationship class
exists for this relationship; it is a logical relationship only. ESRI does not currently
support self-relates within the Geodatabase. But it illustrates the point that the
‘engineering’ station series are children of the ‘continuous’ series by virtue of the values
in the RefMode attribute. Correspondingly this relationship is further defined by the
example ReferenceMode table provided above.
ControlPoint
Attribute Value Value Value Value Value Value Value Value Value Value
ObjectID 1 2 3 4 5 6 7 8 9 10
Shape
GlobalID GUID GUID GUID GUID GUID GUID GUID GUID GUID GUID
EventID GUID GUID GUID GUID GUID GUID GUID GUID GUID GUID
(pk)
CreatedBy Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv
CreatedDat 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2 10/05/2009
e 009
EffectiveFr 1/1/2009 1/1/2009 1/1/2009 1/1/2009 1/1/2009 1/1/2009 1/1/2009 1/1/2009 1/1/200 1/1/2009
omDate 9
EffectiveTo <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null>
Date
HistoricalSt Current Current Current Current Current Current Current Current Current Current
ate <d>
LastModifie 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2009 10/05/2 10/05/2009
d 009
ModifiedBy Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv Pcgv
OriginEvent <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null>
ID
ProcessFla <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null> <Null>
g
Remarks b c d e f g h i j k
Operational Active Active Active Active Active Active Active Active Active Active
Status <d>
RouteEvent {4AE67B {4AE67B7 {4AE67B7 {4AE67B7 {4AE67B7 {4AE67B7 {4AE67B7 {4AE67B7 {4AE6 {4AE67B
ID (fk) 70-2B52- 0-2B52- 0-2B52- 0-2B52- 0-2B52- 0-2B52- 0-2B52- 0-2B52- 7B70- 70-2B52-
4DED- 4DED- 4DED- 4DED- 4DED- 4DED- 4DED- 4DED- 2B52- 4DED-
89D8- 89D8- 89D8- 89D8- 89D8- 89D8- 89D8- 89D8- 4DED 89D8-
6E8C88C 6E8C88C 6E8C88C 6E8C88C 6E8C88C 6E8C88C 6E8C88C 6E8C88C - 6E8C88C
AFC2A} AFC2A} AFC2A} AFC2A} AFC2A} AFC2A} AFC2A} AFC2A} 89D8- AFC2A}
6E8C
88CA
FC2A}
MeasureVa 0 10 20 20 25 35 40 40 50 60
lue
SeriesEven {8914F12 {8914F12 {8914F12 {85CE58 {85CE58 {85CE58 {85CE58 {789633D {7896 {789633D
tID (fk) 2-C505- 2-C505- 2-C505- EB-0F7B- EB-0F7B- EB-0F7B- EB-0F7B- F-727C- 33DF- F-727C-
4A4F- 4A4F- 4A4F- 4EF3- 4EF3- 4EF3- 4EF3- 4CD0- 727C- 4CD0-
B335- B335- B335- 9584- 9584- 9584- 9584- B216- 4CD0- B216-
2DBF7F0 2DBF7F0 2DBF7F0 36F23B3 36F23B3 36F23B3 36F23B3 9E5EBF5 B216- 9E5EBF5
D4140} D4140} D4140} D0461} D0461} D0461} D0461} 507B9} 9E5E 507B9}
BF550
7B9}
StationValu 0 10 20 20 15 5 0 40 50 60
e
Point_X 0.00 10.0 20.0 20.0 20.0 30.0 30.0 30.0 40.0 50.0
Point_Y 0.00 0.00 0.00 0.00 -5.0 -5.0 0.00 0.00 0.00 0.00
Point_Z 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
CLControl No No No No No No No No No No
<d>
CLStationE Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned
ditRespons
e <d>
CLXYEditR Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned
esponse
<d>
CLZEditRe Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned Assigned
sponse
<d>
SymbolRot 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
ation
ControlPoin 0.0 0.0 0.0 0.0 -90.0 +90.0 +90.0 0.0 -90 0.0
tAngle
ControlPoin PI PI PI PI PI PI PI PI PI PI
tType <d>
PIDirection None None None RT LT LT RT None None None
<d>
Table 4
All control points belong to the same ‘continuous’ measure route as denoted by the GUID
values in the RouteEventID foreign key attribute to the StationSeries EventID attribute.
All control points belong to one and only one engineering series feature. Note that control
points D and E and control points H and I are both located at the same coordinates
(yellow cells) but belong to different engineering series features (blue text) using the
SeriesEventID foreign key attribute to the StationSeries EventID attribute. No two
control points will share both the same MeasureValues and StationValues for a given
route.
The following diagram and tables show examples of four online features; three
InspectionRange features and four leak features. These examples show both the spatial
position of these features but also the tabular view of how they are stored in the APDM
as Online Polyline and Online Point features.
Figure 18
LineLoop Q1
d
Each inspection range feature belongs on
the Q1 route as denoted by the
RouteEventID foreign key to the EventID field in the StationSeries feature class. This
foreign key value corresponds to the EventID value for the continuous station series
feature in the Station Series Feature class.
InspectionRange
Attribute Value Value Value Value
ObjectID 1 2 3 4
Shape
Note how each inspection range online polyline feature also relates to one or two
‘engineering’ station series features in the StationSeries feature class. The GUID values
in the BeginSeriesEventID and EndSeriesEventID fields relate to one or two station
series of ‘engineering’ RefMode type in the StationSeries feature class. Note that some
linear events start on one engineering station series and end on another engineering
station series (as denoted by the colored cells matching the color of the respective series
in the drawings above).
Leak
Attribute Value Value
ObjectID 1 2
Shape
GlobalID {FBE90BBD-B6B7-49D1-828D-3E547ACA19C2} {165AB795-863E-426C-883B-862B9A022F77}
EventID (pk) {141DE41D-05B1-4693-8862-0A95C40D1A75} {64756066-C5DF-4EAE-917F-1C92124F8873}
CreatedBy Pcgv Pcgv
CreatedDate 10/05/2009 10/05/2009
EffectiveFromDate 1/1/2009 1/1/2009
EffectiveToDate <Null> <Null>
HistoricalState <d> Current Current
LastModified 10/05/2009 10/05/2009
ModifiedBy Pcgv Pcgv
OriginEventID <Null> <Null>
ProcessFlag <Null> <Null>
Remarks APDM 5.0 Leak Example f APDM 5.0 Leak Example g
CLEditResponse <d> Relative Relative
CLValidityTolerance 0.00 0.00
RouteEventID (fk) {4AE67B70-2B52-4DED-89D8-6E8C88CAFC2A} {4AE67B70-2B52-4DED-89D8-6E8C88CAFC2A}
Measure 20 45
SeriesEventID (fk) {8914F122-C505-4A4F-B335-2DBF7F0D4140} or {789633DF-727C-4CD0-B216-9E5EBF5507B9}
{85CE58EB-0F7B-4EF3-9584-36F23B3D0461}
Station 20.0 45
Status <d> Active Active
SymbolRotation 0.0 0.0
Point_X 20.0 35.0
Point_Y 0.0 0.0
Point_Z 0.0 0.0
DateRepaired 10/05/2009 10/05/2009
DateReported 10/05/2009 10/05/2009
Depth 2.3 1.2
LeakCause <d> Some domain value … Some domain value …
LeakOrigin <d> Some domain value … Some domain value …
MethodDetected <d> Some domain value … Some domain value …
RepairType <d> Some domain value … Some domain value …
Table 6
This diagram shows in APDM 5.0 where for each station series one set of control points
would be maintained for both the continuous and engineering station series. In this
example a minimum of two control points would be stored in the APDM for the same
XYZ location. At the equation points, where two engineering station series abut against
each other, there will be a minimum of three control points – one continuous control
point, two engineering control points – one at the end of the first engineering station
series, one at the beginning of the second engineering station series.
Figure 19
LineLoop Q1
In APDM 5.0 control points sharing
the same XYZ coordinate but
different reference modes are merged
Continuous Station Series A into a single control point. In the
0.0 10.0 20.0 40.0 50.0 60.0 diagram below the APDM 5.0
control points are shown. Instead of
25.0 35.0
duplicate points being maintained for
all sets of control points only a single
Continuous Control Points
0.0 10.0 20.0 40.0 50.0 60.0
point is saved. Non-equation control
points B, C, F, G, J, and K are
merged into a single point. Equation
25.0 35.0 points D, E, H, I now require two
points – one for each engineering
Engineering Station Series station series at the equation, rather
0.0 10.0 1 20.0 40.0 50.0 3 60.0 than the three points that were
20.0
0.0 required in APDM 5.0.
15.0 2 5.0
To facilitate the merging of control
Engineering Control Points points new attributes are required to
0.0 10.0 20.0 40.0 50.0 60.0 manage this data. The diagram in the
20.0
0.0 following page shows the new
additions to the ControlPoint feature
15.0 5.0
class schema. Each control point
Resulting APDM Control Points must have a two foreign key
0.0,0.0 10.0,10.0 20.0,20.0 40.0,40.0 50.0,50.0 60.0,60.0 attributes – one for each reference
d h j
b c
20.0,20.0
e i k mode. Each Control point must have
0.0,40.0
f g two measure or station value
15.0,25.0 5.0,35.0
attributes – one for each reference
mode.
Lineloop
GeoMetaData
SubSystemRange
Figure 20
The ControlPoint feature class now contains the EventID value of both the Continuous
Route Station series and the Engineering Station series feature that it belongs to. The
ControlPoint feature also contains a MeasureValue and a StationValue for each of these
station series features.
The feature/object classes and relationship classes described below are considered to be
the core elements of the APDM. For a particular APDM implementation to be considered
compliant, the APDM core classes must be implemented with the same names, attributes
and relationships as described here. (Naturally, the relationships associated with a
particular core class are required only if the object/feature class on the other side of the
relationship is implemented.)
In some cases, a core class implements a certain type of relationship class with one or
more classes of a particular type (i.e. the target class inherits from a given APDM
abstract class). As such, the associated relationship classes may be thought of as
belonging to a particular relationship type that in effect inherits from a species of abstract
relationship class. While the target classes of these relationship types may be optional, if
such a class is implemented, then a relationship of the associated relationship type must
also be implemented. In these situations, the relationship classes themselves are core to
the model and must be implemented in the way specified. For example, the core class
StationSeries implements a one-to-many relationship with all online feature classes. None
of the online feature classes are core to the model, but any time an online feature class is
implemented, the requisite relationship class with StationSeries must also be
implemented. Required relationship classes and relationship class types are clearly
identified by the designations: (core) and (core relationship type), respectively.
The core classes may be extended with additional attribute content or relationships as
desired, but their core attributes and relationship classes as described here must not be
removed. Beyond the core elements there are no required or mandated elements in the
model. End users are free to remove, add, or modify any of the suggested feature classes
and attributes except the core elements to build a model that meets their business needs.
The following APDM feature, object and attributed many-to-many relationship classes
are considered core elements of the model:
• Object classes:
o Activity
o ActivityHierarchy
o <class name>Audit
o Company
o ExternalDocument
o LineLoop
o LineLoopHierarchy
o OwnerOperator
o Product
o Site
o SubSystem
o SubSystemHierarchy
• Feature classes:
o ControlPoint
o StationSeries
o SubSystemRange
Core relationship classes and relationship class types are discussed within the context of
the above core object and feature classes. The APDM core feature, object and
relationship classes are depicted below:
APDM Core
CenterlineP oint CenterlineP olyline
CenterlineObject OfflineFacility
OwnerOperator
Contact SiteAudit
Product
SiteEventID (fk)
SubSystemHierarchy
LineLoopHierarchy
SubSystemHierarchy
LineLoopHierarchy
Contact
CenterlineP olylineEvent
OfflineNonPointFacility
FacilityObject
SubSystemRange
SubSystemEventID (fk)
StationSeries
Figure 21
LineLoop
GeoDatabase
InspectionRange
SubSystemHierarchy Transmission (FeatureDataset)
ControlPoint (Core)
ParentSubsystemEventID (fk)
ChildSubsystemEventID (fk) Site (Core)
<classname>Audit
StationSeries (Core)
<classname>EventID (PK)
ActivityDate SubSystemRange (Core)
SubSystem
ActivityEventID (PK) Activity (Core)
SubSystem ActivityHierarchy (Core)
Relationship Wormhole
ReferenceMode ClassMetaData OnlineLocationClasses
Wormhole to non-Core
Class RefMode <d> ClassType <d> OriginClassEventID (fk)
Wormhole to APDM RefModeMeasureRootName ClassEventID (pk) OnlineLocationClassEventID (fk)
Abstract Class RefModeBasis <d> ClassName OnlineLocationMechanism <d>
RedModeType <d> RequiresGeometry
Inheritance RefModeUnits <d>
IsPRM <d>
Relationship Cardinality ParentRefMode (fk) CPOnlineLocation
RefModeRootName The metadata classes represent a set of object
Subtype RemovedPoint classes that are used to hold information
about the reference modes, information about
(fk) Foreign Key each concrete class inheriting from an ‘APDM
StationSeries RemovedLine Abstract Class’ and information about which
‘offline’ APDM classes have related ‘online’
<d> Domain Attribute
polyline or ‘online’ point classes.
Figure 22
11.1.1 EventID
All feature classes and object classes must have an attribute named EventID. This
attribute is defined as a Globally Unique Identifier (GUID), stored in the APDM as a
string field (esriFieldTypeGUID). The purpose of the EventID attribute is to provide a
mechanism for uniquely identifying each feature or object in the geodatabase
independent of the feature or object class to which it belongs. EventID is specified in the
Microsoft registry GUID format ({xxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}) to make
each object in any class globally unique from all other features. Using GUIDs for unique
identifiers ensures that all features maintain a unique identifier even if they are exported
from and imported back into a geodatabase. Note that using a long integer or the Object
ID does not necessarily ensure global uniqueness or the preservation of a unique ID value
assigned to each feature on export and import. (Typically, long integer IDs are
incremented from zero in each database implementation, so primary key collision can
easily occur during database merges and imports.) Also note that the term "event" in
EventID does not denote that this attribute pertains to event tables or events only.
EventID was chosen to represent a global ID for any event that occurred on or along a
pipeline system, be it an online or offline feature. EventID may be thought of as
synonymous with such terms as "Feature ID" or "GeoEntityID".
11.1.2.1 Activity
SubTypes: --
The Activity object class is used to track regular pipeline activities and the events that are
affected by those activities. Specifically, the rows in the Activity object class store
information pertaining to activities conducted on the pipeline that affect one or more
events or features on or along the pipeline. Common activities include work orders,
inspections, excavations, and tests.
The Activity object class has a one-to-many relationship with each <object/feature class
name>Audit object class. This relationship type is core to the model. Any object or
feature class that needs to be associated with Activity should implement an
<object/feature class name>Audit object class and the attendant Activity<object/feature
class name>Audit relationship class. These relationships model the fact that one activity
can be related to one or more events (of different types) that were affected by or
participated in the activity.
The two one-to-many relationships of the Activity object class to the ActivityHierarchy
object class allows activities to be organized within an arbitrarily recursive hierarchy
(that is, the activity hierarchy can have as many levels as desired). For more information
on how this relationship structure works, see 11.2.2.2 ActivityHierarchy.
11.1.2.2 ActivityHierarchy
SubTypes: --
Note that the construction of Activity, LineLoop and SubSystem hierarchies in the model
are all identical; the relationship of Activity to ActivityHierarchy is mirrored by the
relationship of LineLoop to LineLoopHierarchy and SubSystem to SubSystemHierarchy.
The activity hierarchy is facilitated by the two relationship classes that tie
ActivityHierarchy to Activity: 1) ActivityParentActivity and 2) ActivityChildActivity.
Each record in ActivityHierarchy stores a parent and child activity record in the activity
hierarchy.
As an example, consider an activity hierarchy with three levels: The first (root) level is
occupied by activities ‘A’ and ‘B’. Activity ‘A’ is a parent to activities ‘C’ and ‘D’;
activity ‘B’ has no children. Activity ‘C’ is a parent to activities ‘X’ and ‘Y’; activity ‘D’
is a parent to activity ‘Z’. A tree view of the activity hierarchy has the following
appearance:
• A
o C
X
Y
o D
Z
• B
The ActivityHierarchy table for the hypothetical activity hierarchy is populated with the
following records (GUIDs are replaced with the above letter designations for clarity):
ParentActivityEventID ChildActivityEventID
A C
A D
C X
C Y
D Z
Note that no record for activity ‘B’ appears in the ActivityHierarchy table. By
convention, root level activities that have no children do not appear in the
ActivityHierarchy table. This facilitates the following model behavior: if the activity
hierarchy consists of only one level (flat), ActivityHierarchy need not be populated.
The Audit object classes represent a singular type of entity within the APDM. The Audit
object classes are physically implemented within the model and are required (core)
whenever a class requires a M-N relationship with Activity or ExternalDocument. The
Audit class acts as the intersection table between the parent feature/object class and the
Activity object class. However, <class name>Audit is documented as a ‘template’ class
from which multiple concrete classes may be implemented. In this sense, <class
name>Audit behaves like an APDM abstract class. The classification of <class
name>Audit as either ‘core’ or ‘abstract’ is largely arbitrary. <class name>Audit is
documented with the core classes primarily because the Audit classes are physically
implemented in the model, unlike the other APDM abstract classes.
The Audit object classes record historical events or comments about a feature within a
<parent>class. The <x> nomenclature is used to denote the name of a class that is
participating in a 1-M relationship with the Audit class. For example, the feature class
PipeSegment may have a PipeSegmentAudit object class where the EventID (primary
key) value of the PipeSegment is recorded in the PipeSegmentEventID attribute of the
PipeSegmentAudit table. Using this relationship many historical events can be recorded
for a given PipeSegment feature. The relationship between the audit object class and the
parent class is required and an audit record cannot exist without the parent class.
A 1-M relationship class must exist between the activity class and the audit class;
however the value of the ActivityEventID attribute is not required to be populated for
each record in the audit class. The purpose of this mechanism is to relate many features to
a single activity via the feature’s audit class. For example, a pipe inspection exposes a
pipe segment and two valve features. Each of the three features has an audit record
created to signify the inspection and each audit record has the EventID value of the
activity. If the user browses the activity in the ArcMap attribute editor, it would become
apparent that related records exist in the ValveAudit and PipeSegmentAudit tables for the
current feature. These related audit records would then relate to the parent features in the
valve and pipe segment tables respectively. In this manner, an activity can ‘link’ or tie
together many features from disparate feature and object classes. The audit class
relationship can be created for almost every class within the APDM. This construct
supplies the mechanism for advanced reporting and historical archiving functionality with
the APDM.
Technically, the <class name>Audit object class provides the mechanism that relates
features to activities. The <class name>Audit object class mediates what is actually a
many-to-many relationship between the <class name> object/feature class and Activity.
That is, a given feature may be associated with many activities, but a given activity may
also be related to many features. The <class name>Audit object class type is defined this
way because it also facilitates a many-to-many relationship with ExternalDocument. The
<class name>AuditDocument relationship ties a related document to both a feature and
an activity. This type of specific relationship cannot be supported simply by
implementing separate many-to-many relationships from the <class name> object/feature
class to Activity and from the <class name> object/feature class to ExternalDocument.
A <class name>Audit object class must be created for any feature class or object class
within the APDM geodatabase that needs to be associated with activities or external
documents.
11.1.2.4 Company
The Company object class is designed to store information about any company that owns,
operates, services, supplies, repairs, and/or maintains any features or events that occur on
or along the pipeline system. The Company object class has a many-to-many
relationships with Address and Contact. A company often has many addresses;
occasionally the same address may be shared by multiple companies (usually
subsidiaries). A company typically has many contacts that represent it; occasionally a
single individual may represent multiple companies (usually an independent contractor).
The Company object class implements a many-to-many relationship with the
LineCrossing feature class, reflecting potential multiple ownership of the crossing line.
The Company object class has a many-to-many relationship with the LineLoop object
class reflecting the roles that multiple companies may play in the ownership and
operation of the actual line loops comprising a pipeline system.
11.1.2.5 ExternalDocument
The ExternalDocument object class stores information describing the location and
content of an external file object stored on a disk drive, web folder or document
management system. The purpose of the ExternalDocument object class is to link
features and events with external documentation using a similar method to that of the
ArcMap Hyperlink tool, but it stores the information within the underlying object class so
that external applications can access the information. Assuming the appropriate
application is installed on the workstation, simply clicking on a properly populated
FileName or HyperLink field in the ArcMap Identify tool window causes the referenced
document to open.
11.1.2.6 LineLoop
The LineLoop object class is designed to store information describing both physical
segments of pipe (line loops), and also their logical groupings (pipelines). Line loop
records defined on physical segments of pipe are referred to as physical line loops. Line
loop records defined on the basis of higher level logical groupings of physical line loops
are referred to as logical line loops. (Logical line loops may also be defined by grouping
together other, lower level logical line loops.) The LineLoop object class is used in
concert with the LineLoopHierarchy object class to organize pipelines into a pipeline
system hierarchy. In the APDM, the pipeline hierarchy may have an arbitrary, unlimited
number of levels. (See 11.1.2.7 LineLoopHierarchy for information on pipeline system
hierarchies.)
The definition of a physical line loop is inherently arbitrary, but most operators
understand a line loop to be a continuous, non-branching run of pipe. The APDM follows
this convention. To be designated as a physical line loop in the APDM, a physical
segment of pipe must be continuous and non-branching. The behavior of APDM
reference modes are defined at the level of the physical line loop (for more information,
see ReferenceMode).
In a transmission system, the most granular physical line loop is simply a continuous run
of pipe between facilities (e.g. pumping or compressor stations). Continuous segments of
pipe that branch off from the main transmission line loops (e.g. laterals, take offs,
interconnects, etc.) are also designated as physical line loops. In a gathering system, well
lines, gathering lines and trunk lines are typically designated as individual physical line
loops.
Most pipeline companies logically group a collection of connected physical line loops
(usually with common diameter and other attributes) under a single line name or line
number as a pipeline. In the APDM such a grouping corresponds to a logical line loop. In
a transmission system, a pipeline implemented as a logical line loop may stretch for tens,
hundreds, or even thousands of miles. In a gathering system, logical line loops are usually
implemented based on subsets of the gathering system network. For instance, all the well
lines feeding into a given trunk line could be grouped under a single logical line loop
record.
LineLoopAudit
LineLoopEventID (fk) LineLoop LineLoopHierarchy
#1 - ACME Transmission PL ACME Transmission PL, ACME 12" Main
#2 - ACME 12" Main ACME Transmission PL, ACME 10" Main
#3 - ACME 10" Main ACME Pipeline System, 10" Lateral
#4 - 10" Main A ACME 10" Main, 10" Main A
#5 - 10" Main B ACME 10" Main, 10" Main B
#6 - 10" Lateral
Figure 23
Figure 24
The line loops from the two examples shown above are recorded in the LineLoop table as
follows (GUIDs are replaced with the integer IDs from the diagrams for clarity):
Note there is no distinction between physical and logical line loop records in the
LineLoop table (Although it is possible to add an additional attribute to the LineLoop
Object Class to denote this distinction between different LineLoops).
The LineLoop object class has a one-to-many relationship with the StationSeries feature
class. Each physical LineLoop object may be comprised of one or more connected
StationSeries features; logical line loop records should not be related to StationSeries
features. The relationship between LineLoop and OwnerOperator is many-to-many and
11.1.2.7 LineLoopHierarchy
Note that the construction of LineLoop, Activity and SubSystem hierarchies in the model
are all identical; the relationship of LineLoop to LineLoopHierarchy is mirrored by the
relationship of Activity to ActivityHierarchy and SubSystem to SubSystemHierarchy.
The LineLoopHierarchy object class models relationships between parent and child
LineLoops and is used to establish a hierarchy of LineLoops. The LineLoop hierarchy
groups LineLoops as sets of LineLoops belonging to higher sets of LineLoops. All
LineLoops can be grouped under a single or small set of LineLoops, which in effect
represents a pipeline or gathering system. Recursion in the line loop hierarchy is
unlimited; a given APDM implementation may establish as many line loop hierarchy
levels as desired.
The line loop hierarchy is facilitated by the two relationship classes that tie
LineLoopHierarchy to LineLoop: LineLoopParentLineLoop and
LineLoopChildLineLoop. Each record in LineLoopHierarchy stores a parent and child
line loop record in the line loop hierarchy.
As an illustration, consider a line loop hierarchy derived from the transmission and
gathering system examples presented above (see 11.1.2.6 LineLoop). In the transmission
system, let the ‘ACME System’ be the parent of the ‘ACME 12”’ and ‘ACME 10”’
pipelines. Let the ‘ACME 10”’ pipeline in turn be a parent of the ‘10” Lateral’ line. In the
gathering system, let the ‘ACME Gathering System’ be the parent of the ‘6” Trunk Line’,
which is in turn the parent to the ‘4” Gathering Line’ and the ‘Well #1’ line. Let the ‘4”
Gathering Line’ be parent to the ‘Well #2’ and ‘Well #3’ lines. A tree view of the
hypothetical line loop hierarchy has the following appearance (the integer line IDs are
included in parentheses for clarity):
Note that the line loop hierarchy as presented is completely arbitrary; many other
groupings of the example line loops are possible and equally valid. The
LineLoopHierarchy table for the hypothetical line loop hierarchy is populated with the
following records (GUIDs are replaced with the above integer designations for clarity):
ParentLineLoopEventID ChildLineLoopEventID
1 2
1 3
3 4
5 6
6 7
6 8
7 9
7 10
Table 8
In the above example all root level entities have children. Note that by convention, root
level line loops that have no children do not appear in the LineLoopHierarchy table. This
facilitates the following model behavior: if the line loop hierarchy consists of only one
level (flat), LineLoopHierarchy need not be populated.
pipelines. In this case, both connecting pipelines may be considered parents of the
interconnect line.
11.1.2.8 OwnerOperator
The OwnerOperator object class is used to define the percentage ownership and/or
operatorship for a LineLoop. The OwnerOperator object class has a many-to-many
relationship with LineLoop. One owner can have the same type of participation and
percentage in multiple line loops; a single line may have many participants (‘owners’).
The OwnerOperator object class has a many-to-one relationship with the Company object
class reflecting that one company can have multiple ownership/operatorship percentages
(varying by line loop) in a pipeline system.
11.1.2.9 Product
composite, inheritance)
SubTypes: --
The Product object class is used to store information about the types of products carried
in the pipeline. Product participates in a many-to-many relationship with LineLoop.
A single product (such as natural gas can be carried by many lines and conversely a
single line can carry many products at the same time but distributed in batches (eg.
Highly Volative Liquids or Crude Oil).
11.1.2.10 Site
The Site object class is designed to store information about the various stations and other
properties housing facilities owned by a pipeline company. Site objects store the name
and type of the facility. It is optional to represent Site boundaries as either or both point
and polygon features. Polygon features might be used to define the boundaries of
properties, easements, temporary work areas, and large pipeline complexes such as meter
stations, compressor stations, refineries, custody transfer stations, and valve stations. It is
not uncommon for these facilities to require several polygon boundaries. Site features
may also be used to demarcate the limit of stationed pipes and non-stationed pipes. Sites
can likewise be represented by point features for representing the site features on large
scale maps as a single point.
Site implements an optional one-to-many relationship with all online and offline facility
feature classes. This core relationship type allows facility features to be associated with a
site as desired. It may not always be possible to associate online facilities features with a
station series feature, or provide such features with a shape. This may occur when
facilities equipment at a site is known only through a site equipment manifest. In this
situation, the pieces of equipment may still be stored in the APDM and can be tracked by
their relationship to a site. Site implements a one-to-many relationship with SiteAudit;
this relationship ties Site to both Activity and ExternalDocument. Through SiteAudit
records, a site may be associated with multiple activities and/or documents and vice
versa.
11.1.2.11 SubSystem
The SubSystem object class is used to categorize, organize, and group pipeline segments
into logical groupings that may cut across line loops and station series. A subsystem can
be defined to represent virtually any grouping of pipe segments for business purposes. A
common use of SubSystem is to define organizational boundaries (e.g., divisions,
districts, and operating areas). Another common use is to record administrative
boundaries such as taxing districts. The SubSystem object class is used in concert with
the SubSystemHierarchy object class to organize subsystems into a hierarchy. A
subsystem hierarchy may have an arbitrary, unlimited number of levels. Different types
of subsystem hierarchies can exist side by side within the SubSystem and
SubSystemHierarchy object classes. (See 11.1.2.12 SubSystemHierarchy for information
on defining subsystem hierarchies.)
As is the case with line loops, SubSystem records can be classified as representing either
physical or logical subsystems. A physical subsystem corresponds directly to a collection
of physical pipeline segments (as defined by one or more 11.1.3.4 SubSystemRange
features). These pipe segments may cross line loop and station series boundaries. Unlike
a physical line loop, a physical subsystem need not be continuous, and may branch. A
logical subsystem is a grouping of physical subsystems and/or lower level logical
subsystems. As is the case with LineLoop, there is no distinction between physical and
logical subsystem records in the SubSystem table.
Figure 25
Figure 26
The subsystems from the two examples illustrated above are recorded in the SubSystem
table as follows (GUIDs are replaced with the integer IDs from the diagrams for clarity):
EventID SubSystemName
1 Operating Divisions
2 Western Division
3 Eastern Division
4 District 1
5 District 2
6 District 3
7 District 4
8 Tax Authorities
9 Washington County
10 Jefferson County
Table 9
11.1.2.12 SubSystemHierarchy
Note that the construction of SubSystem, Activity and LineLoop hierarchies in the model
are all identical; the relationship of SubSystem to SubSystemHierarchy is mirrored by the
relationship of Activity to ActivityHierarchy and LineLoop to LineLoopHierarchy.
The SubSystemHierarchy object class models the hierarchy between different subsystem
features in the model. It is common to have organizational groupings or areas contain sub
areas that, in turn, could contain other sub areas. The SubSystemHierarchy object class
has two one-to-many relationships with the SubSystem object class modeling parent to
child relationships between subsystem objects.
The SubSystemHierarchy object class models relationships between parent and child
subsystems and is used to establish a hierarchy of subsystems. The subsystem hierarchy
groups subsystems as sets of subsystems belonging to higher level subsystems. All
subsystems can be grouped under a single or small set of subsystems. Multiple,
independent subsystem hierarchies can be established to model different types of
business-related pipeline groupings, e.g. operating districts, emergency response areas,
tax authorities, etc. Recursion in the subsystem hierarchies is unlimited; a given APDM
implementation may establish as many subsystem hierarchy levels as desired.
The subsystem hierarchy is facilitated by the two relationship classes that tie
SubSystemHierarchy to SubSystem: 1) SubSystemParentSubSystem and 2)
SubSystemChildSubSystem. Each record in SubSystemHierarchy stores a parent and
child subsystem record in the subsystem hierarchy.
As an illustration, consider a subsystem hierarchy derived from the operational and tax
district examples presented above. (See 2.2.2.10 Site and 2.2.2.11 SubSystem). In the
operational subsystem, let ‘Operating Divisions’ be the parent of the ‘Western Division’
and ‘Eastern Division’ subsystems. Let the ‘Western Division’ subsystem in turn be the
parent of the ‘District 1’ and ‘District 2’ subsystems. Let the ‘Eastern Division’
subsystem be the parent of the ‘District 3’ and ‘District 4’ subsystems. In the tax district
subsystem, let the ‘Tax Authorities’ subsystem be the parent of the ‘Washington County’
and ‘Jefferson County’ subsystems. A tree view of the hypothetical subsystem hierarchy
has the following appearance (the integer subsystem IDs are included in parentheses for
clarity):
• Operating Divisions
o (2) Western Division
(4) District 1
(5) District 2
• (3) Eastern Division
(6) District 3
(7) District 4
• (8) Tax Authorities
o (9) Washington County
o (10) Jefferson County
Note that the example subsystem hierarchy actually consists of two independent
subsystem hierarchies, one for operating units and one for tax authorities.
ParentSubSystemEventID ChildSubSystemEventID
1 2
1 3
2 4
2 5
3 6
3 7
8 9
8 10
Table 10
In the above example all root level entities have children. Note that by convention, root
level subsystems that have no children do not appear in the SubSystemHierarchy table.
This facilitates the following model behavior: if the subsystem hierarchy consists of only
one level (flat), SubSystemHierarchy need not be populated.
11.2.1.1 ControlPoint
SubTypes: None
The ControlPoint feature class lies at the heart of the APDM. The ControlPoint feature
class stores points of known X,Y (optionally Z) position and known station value
(measure) along the pipeline centerline. Control point features define the pipeline
centerline. The ControlPoint feature class has one or more many-to-one relationships
with the StationSeries feature class; one for each ReferenceMode in the system. Within a
given reference mode, each station series feature is composed of two or more control
point features of the same reference mode. Each control point corresponds to a vertex
(including the endpoints) of an associated station series feature. The station (or measure)
value stored with the control point feature defines the M value of the vertex at the same
location in the associated station series feature.
The ControlPoint feature class must contain a FK attribute and a station/measure attribute
for each ReferenceMode in the Geodatabase. In this manner the control points can store
multiple stationing/measure values. Only a single control point is required at the vertex of
the primary reference mode (PRM) station series feature. The control point then inherits
the stationing and relationship attributes of all other non-PRM reference modes. In this
manner, one control point can store many stationing/measure values.
By convention, each control point location must be occupied by at least one control point
feature for each reference mode present in the model. (In the case of station series
endpoints on connected station series, a control point location is occupied by two control
points.) During some centerline edit operations (for instance, reroutes), spatial integrity
between the different reference modes can only be maintained if the measure value is
known in all reference modes at each control point location.
The APDM requires that one ReferenceMode be defined as the primary reference mode
(default measurement system) for the pipeline centerline. Other measurement systems,
present in the model are considered secondary measurement systems. All secondary
measurement systems must be geometrically coincident and geometrically constrained to
the primary measurement system station series features. Representations for all control
point (and station series) features must be present at each vertex of the primary reference
mode and at the end-point junctions (representing station equations) of any secondary
reference mode station series feature where the refernce mode is considered
‘interruptable’. In this manner, all online features will store all reference modes.
The ControlPoint feature class has a many-to-many relationship with GeoMetaData. This
relationship models the provenance of the location information for the control point
feature. GeoMetaData stores original coordinate information and metadata describing
how the control point feature was initially obtained in the field. A control point may have
more than one GeoMetaData record (i.e. it was surveyed by more than one method); a
single GeoMetaData record applies to all the control points at a control point location
(one or two for each reference mode). ControlPoint implements a one-to-many
LineLoop Q1
Figure 27
This diagram shows in APDM 5.0 where for each station series one set of control points
would be maintained for both the continuous and engineering station series. In this
example a minimum of two control points would be stored in the APDM for the same
XYZ location. At the equation points, where two engineering station series abut against
each other, there will be a minimum of three control points – one continuous control
point, two engineering control points – one at the end of the first engineering station
series, one at the beginning
Resulting APDM Control Points of the second engineering
0.0,0.0 10.0,10.0 20.0,20.0 40.0,40.0 50.0,50.0 60.0,60.0 station series.
d h j
b c e i k
20.0,20.0 0.0,40.0
f g
15.0,25.0 5.0,35.0
Figure 28
In APDM 5.0 control points sharing the same XYZ coordinate but different reference
modes are merged into a single control point. In the diagram below the APDM 5.0
control points are shown. Instead of duplicate points being maintained for all sets of
control points only a single point is saved. Non-equation control points B, C, F, G, J, and
K are merged into a single point. Equation points D, E, H, I now require two points – one
for each engineering station series at the equation, rather than the three points that were
required in APDM 4.0.
To facilitate the merging of control points new attributes are required to manage this data.
The diagram in the following page shows the new additions to the ControlPoint feature
class schema. Each control point must have a two foreign key attributes – one for each
reference mode. Each Control point must have two measure or station value attributes –
one for each reference mode.
Lineloop
GeoMetaData
SubSystemRange
Figure 29
The ControlPoint feature class now contains the EventID value of both the Continuous
Route Station series and the Engineering Station series feature that it belongs to. The
ControlPoint feature also contains a MeasureValue and a StationValue for each of these
station series features.
11.2.1.2 StationSeries
The StationSeries feature class stores the routes that comprise the pipeline centerline. All
online features in the APDM are referenced against primary reference mode station series
features. Each station series feature is an ESRI Route with an assigned begin and end
measure (or station) value. Each vertex in the station series feature has a measure (or
station) value assigned to it. Point and linear events are located along the station series
route by assigning the Route-ID (RouteEventID or SeriesEventID) and a measure value
as attributes of the feature (linear events require both begin and end measure values).
Linear events must start and end on the same PRM station series (route) but make begin
and end on separate interrupted station series (series - BeginSeriesEventID and
EndSeriesEventID).
The APDM implements a two one-to-many relationship between the StationSeries feature
class and each referenced online point feature class and three one-to-many relationships
between the StationSeries feature class and each referenced online polyline feature class;
these relationships type is core to the model. Each online feature is referenced to a PRM
station series feature; the location and measure (station) values of online features are
defined and constrained by their underlying related PRM and ARM station series
features. The StationSeries feature class also has two one-to-many relationships with the
ControlPoint feature class. These relationships embody the concept that a station series is
comprised of two or more control points, with each related control point corresponding to
a vertex in the station series feature. StationSeries implements a many-to-one relationship
with LineLoop; each physical line loop is comprised of one or more connected station
series features (for uninterrupted reference modes, each physical line loop is comprised
of a single station series feature).
The StationSeries feature class a RefMode value (in the place of the SubTypeCD value in
APDM 4.0). This value identifies which reference mode the station series is
implementing (continous, engineering, etc.) but also acts as a FK ‘relate’ item to the
ReferenceMode table. The APDM requires that one ReferenceMode be chosen as the
primary stationing or referencing method (the default and Primary Reference Mode or
PRM).
11.2.1.3 SubSystemRange
SubSystemRange stores the actual physical extent of a subsystem as one or more online
polyline event features. Building on the example used in 2.2.2.10 Site and 2.2.2.11
SubSystem, each station series segment in a subsystem corresponds to a
SubSystemRange feature:
Figure 30
Some long integer domains incorporate a logical structure to the numeric values in the
domain. Increasing domain values are used to indicate less restrictive behavior. The
following domains incorporate this logic:
• gnOperationalStatus
• gnStatus
• clStationEditResponse
• clXYEditResponse
• clZEditResponse
There are a number of reasons numeric values are used for domain codes. One reason is
that behavior domains have been defined such that as the code value increases from 1, the
level of behavior restriction decreases. This rule applies to numbers greater than 0.
The following is a listing of the domains that are considered core to the APDM. These
domains are used to populate attributes in the APDM abstract classes, which are used to
explicitly define behavior in the APDM. Core domains must be implemented exactly as
defined using the values and descriptions described below to maintain APDM
compliance. Core domains may be expanded with additional values, but the user should
be aware that this may cause interoperability issues.
11.2.1 gnOperationalStatus
Indicates the status of a feature that has some operational lifespan based on FERC/OPS
definitions. OperationalStatus is applied to centerline and facility features with complex
operational life spans. The gnOperationalStatus domain is a coded value domain
containing the following long integer values:
=1 = Unknown (Verified)
0 = Unknown Default
1 = Conceptual
2 = Proposed
4 = Active
8 = Inactive
16 = Idle
32 = Abandoned
64 = Removed
11.2.2 gnStatus
Status is used to describe the state of a non-facility or centerline object (i.e. an object that
has no operational significance or does not typically exist as a geographical or physical
entity). The gnStatus domain is a coded value domain containing the following long
integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Conceptual
2 = Proposed
4 = Active
8 = Inactive
11.2.3 clStationEditResponse
Describes how the station values for the control point may be altered. The
clStationEditResponse domain is a coded value domain containing the following long
integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Assigned
2 = Offset Downstream
3 = Offset Upstream
4 = Interpolated
5 = Fixed
11.2.4 clXYEditResponse
Indicates how the x,y portion of the geometry of a control point feature responds to a
centerline edit such as a reroute. The clXYEditResponse domain is a coded value domain
containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Assigned
2 = Fixed Distance
3 = Fixed Deflection
4 = Fixed Inline
5 = Fixed Geometry
6 = Fixed
11.2.5 clZEditResponse
Indicates how the Z portion of the geometry of a control point feature responds to a
centerline edit such as a reroute. The clZEditResponse domain is a coded value domain
containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Not Applicable
2 = Assigned
3 = Derived
4 = Interpolated
5 = Fixed
11.2.6 gnOnlineLocationMechanism
Describes the various spatial operations used to generate online location features of
offline or online features. The gnOnlineLocationMechanism domain is a coded value
domain containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = ClosestPoint
2 = DistanceAzimuth
3 = BufferIntersection
4 = PolygonIntersection
5 = PointIntersection
6 =- PolylineEasement
7 =- PointEasement
8 = PolylineEndpoint
9 = PolylineCenterpoint
10 = AggregatePoint
11 = AggregatePolyline
11.2.7 gnHistoricalState
Describes the current representation of an online feature as a means of differentiating
from previous historical feature representations. The gnHistoricalState domain is a coded
value domain containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Current
2 = Historical
11.2.8 gnAngle
A rotation angle from 0–360o for a point symbol. This allows operators to preserve
rotation information for point symbols imported from external systems such as CAD.
Allows all point symbols within the APDM to be rotated as needed; manually, or in
relation to other features. This is used primarily for display in mapping applications such
as alignment sheets. The gnAngle domain is a range value domain containing the
following double values:
11.2.9 clEditResponse
Indicates how the geometry and/or stationing attributes of an online feature responds to a
centerline edit such as a reroute. The clEditResponse domain is a coded value domain
containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Relative
2 = Proportional
3 = Absolute
11.2.10 gnAPDMClassType
Lists the different types of APDM abstract classes. Used to define the immediate parent
abstract class from which an object or feature class inherits behavior. The
gnAPDMClassType domain is a coded value domain containing the following long
integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = APDMObject
2 = CenterlineObject
3 = FacilityObject
4 = NonFacilityObject
5 = CenterlinePolyline
6 = CenterlinePolylineEvent
7 = CenterlinePoint
8 = OfflineFeature
9 = OfflinePoint
10 = OfflineFacility
11 = OfflinePointFacility
12 = OfflineNonPointFacility
13 = OnlineFeature
14 = OnlinePolyline
15 = OnlinePolylineForOfflineFeature
16 = OnlinePoint
17 = OnlinePointForOfflineFeature
18 = OnlineFacility
19 = OnlinePolylineFacility
20 = OnlinePointFacility
21 = Fitting
22 = Audit
11.2.11 gnRefModeBasis
Describes the basis for determining the origin of distance measurements for a particular
stationing method. The gnRefModeBasis domain is a coded value domain containing the
following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Arbitrary
2 = 3D Projected
3 = 3D Slack Chain
4 = 3D Geoid
5 = 2D Projected
11.2.12 gnRefModeType
Describes the basis for determining how the stationing values within a LineLoop react in
the event of an upstream centerline reroute. The gnRefModeType domain is a coded
value domain containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Uninterrupted and Adjustable
2 = Uninterrupted and Not Adjustable
3 = Interrupted and Adjustable
4 = Interrupted and Not Adjustable
11.2.13 gnRefModeUnits
Describes the possible units used for stationing values for a particular reference mode.
This gnRefModeUnits domain is a coded value domain containing the following long
integer values:
-1 = Unknown (Verified)
0 = Unknown Default
9001 = esriSRUnit_Meter
9002 = esriSRUnit_Foot
9003 = esriSRUnit_SurveyFoot
9030 = esriSRUnit_NauticalMile
9033 = esriSRUnit_SurveyChain
9034 = esriSRUnit_SurveyLink
9035 = esriSRUnit_SurveyMile
9036 = esriSRUnit_Kilometer
11.2.14 gnYesNo
A domain used to depict a yes or no value while accounting for the possibility of
unknown values. This gnYesNo domain is a coded value domain containing the
following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Yes
2 = No
11.2.15 gnRequiresGeometry
A domain used to indicate if the rows in a feature class can allow the SHAPE column to
contain a null value. This gnRequiresGeometry domain is a coded value domain
containing the following long integer values:
-1 = Unknown (Verified)
0 = Unknown Default
1 = Must Have
2 = Must Not Have
3 = Optional
The following domains are applied to attributes of the APDM Fitting abstract class. To
conserve space within the whitepaper document and because many of the actual domain
values can vary between implementations, the contents of these domains are not listed
here. However these domains are considered core parts of the APDM and must be
implemented using the default values for ‘Unknown (Verified)’ and ‘Unknown’.
• fcFittingGrade
• fcConnectionType
• fcDiameter
• fcWallThickness
• fcFittingManufacturer
• fcMaterial
• fcPressureRating
• fcSpecification
12.0 Implementation
The following section describes considerations that need to be addressed by an
organization planning to implement the APDM as a geodatabase. The standing committee
strives to provide a data model that can be implemented out of the box using the tools
found in ArcToolbox™, ArcCatalog™, and ArcMap. However, some implementation
decisions require the use of custom code to achieve desired behavior of objects and
classes within the model. Every effort is made to mitigate the need for custom code. The
APDM does encapsulate behavior through the abstract and metadata feature classes, but
standard ESRI geodatabase technology is not currently capable of fully enforcing this
behavior out-of-the-box. The APDM does not include custom feature classes or class
extensions to implement advanced pipeline behaviors. The choices of how the APDM is
to be implemented determine if and when custom code is required to create desired object
behavior. The optimal platform for the APDM 5.0 is ArcGIS 9.3 and 9.3.1. All design
and implementation considerations are based on the technology available at these releases
of ArcGIS.
APDM inline history is implemented via a variety of ‘audit’ attributes and data
management practices. These attributes and associated data management practices allow
the storage of multiple historical states for a given feature, together with the current state
of the feature, in the same feature class. (If desired, historical versions of features can be
segregated into separate features classes, as well. See below for a discussion of inline
history physical implementation options.) The audit attributes that are used to implement
inline history are:
• EventID (String, 38) – The globally unique identifier (GUID) for a feature at
a particular historical state. EventID changes with each successive record
representing a different historical state of a feature.
• CreatedBy (String, 50) – User-ID of the operator who created the feature.
CreatedBy does not change with successive records representing different
historical states of a feature.
• CreatedDate (Date) – The timestamp the initial record for a feature or object
was created in the database. Because CreatedDate is a database date, it does
not necessarily correspond to the actual effective date of the feature or object
in the real world. CreatedDate may be either earlier or later than
EffectiveFromDate. CreatedDate does not change with successive records
representing different historical states of a feature.
• LastModified (Date) – The timestamp for the update of the record in the
database. For the initial record for a feature, LastModified = CreatedDate. The
LastModified timestamp is modified with each successive record documenting
the historical state of a feature.
• ModifiedBy (String, 50) – User-ID of the operator who last modified the
feature. For the initial record for a feature, ModifiedBy = CreatedBy.
ModifiedBy changes with each successive record representing different
historical states of a feature.
• Spatial edits
o A feature is moved
o An online polyline feature is split as the result of a reroute operation
o An online polyline feature is split or truncated as the result of a new,
overlapping feature of the same type being inserted
• Attribute edits
o Status changes
o Data changes
o Data corrections
A ‘significant change in state’ is left for the user to define. Some users of the APDM are
concerned primarily with spatial edits and regard only those as significant changes of
state. Others record every attribute edit as a change of state.
Three years after the valve is put in service the configuration of the pipeline is changed
and the valve is closed, on 2/5/2009. This change in state is recorded in the database on
2/9/2009 by User2. This is considered a significant change of state for the valve, so a new
record is created and the valve (and valve history) is now represented in the geodatabase
by two records. Both records have their own unique EventID, but the fact that the two
records store different historical states of the same feature is indicated by the common
OriginEventID. The current record is indicated by having EffectiveToDate = <NULL>.
Note that when the second record for the valve is created, the EffectiveToDate value for
the original record is modified and set equal to the EffectiveFromDate value for the new
record. HistoricalState for the original record is set to “Historical”; HistoricalState for the
second record is set to “Current”. These steps are critical in maintaining a pristine audit
trail.
The simplest implementation of APDM inline history is to store all records for the
historical states of a feature in the same feature class as the record representing the
current state of the feature (hence the term ‘inline’ history). A variety of queries facilitate
the extraction of pertinent information from the APDM geodatabase:
There are two basic implementations of offline history storage. In both implementations,
the main geodatabase stores only current records, and the offline archive stores historical
records. In the first variation, the offline archive is actually a complete implementation of
inline history, storing both current and historical records in the offline archive. In this
variation, current records are duplicated, being stored in both the main geodatabase and
the offline archive. In the second variation of offline history storage, only historical
records are stored in the offline archive.
Offline history storage has one potential advantage over inline history storage. With
inline history storage, multiple historical versions of a single feature may be present in
the geodatabase. When a topology feature class is used to manage coincident geometries
in the APDM, bear in mind that the topology feature class cannot distinguish between
current and historical records. Historical records may accidentally be modified when
using the out-of-the-box topology edit tools. The use of offline history storage can help
ameliorate this situation.
At ArcSDE 9.2 and higher, Archiving functionality is available to maintain audit history
on features. This functionality makes 'inline' and 'offline' history implementations largely
superfluous. However, the APDM audit fields are still useful as defined. The reason for
this is that Archiving tracks the times at which modified records are posted to
SDE.Default and at which original or deleted records are rolled into the archive tables.
The archiving time stamp is not the exact equivalent of any of the APDM audit date
fields.
If taking advantage of ArcSDE 9.2 Archiving, one will not be able to make use of
EffectiveToDate and HistoricalState. The reason for this is that modified and deleted
records are automatically rolled from SDE.Default to the archive tables during the
geodatabase ‘post’ operation. There is no opportunity to update either EffectiveToDate or
HistoricalState on the original record in SDE.Default.
The relationships between station series and online features have profound implications
for centerline editing in a versioned geodatabase environment. Great care should be taken
to ensure that centerline (StationSeries) edits are not performed in sibling geodatabase
versions, or in any version that is a parent to outstanding child versions. The reason for
this is that reconcile and post operations on dependent sibling or child versions could
potentially result in extremely large numbers of spurious data conflicts. Bear in mind that
when editing a station series feature with large numbers of related online features,
ArcSDE has no knowledge of which portion of the station series feature was edited; all
ArcSDE knows is that the station series feature was edited. If a child or sibling version is
outstanding during such an edit, every online feature related to the station series will be
flagged as a potential data conflict when the child or sibling version is reconciled with the
parent version.
Another approach to implementing the APDM is to use feature classes rather than event
tables to store the geometry. Using feature classes allows access to all the analytical
functionality of ArcGIS. However, there is no dynamic response that rebuilds the
geometry of the features when the linear referencing information is altered. Custom code
is required to implement "features as events" behavior.
Topology is a set of rules that define where features should be in space in relation to each
other. The rules define the permissible geometric relationships between features. The
underlying reason for using topology in the transmission pipeline environment is that
some features (pipes, costing, pressure tests) are dependent on the location (or lack
thereof) of other features (station series, etc.). Not only are features dependent on the
centerline for positioning, but features are also dependent on other features for existence
(coating and pressure tests require that pipe segments be present). When the source
feature is removed, the dependent features must also be removed.
Topology, at the current time, provides the best tools for managing pipeline spatial data
integrity. The rules of topology define how pipeline features' geometries relate to each
other. Ranks can be set for each feature class participating in the topology to determine
which features are salient and which can be altered to maintain integrity. Topology errors
can be examined and repaired with a wide variety of out-of-the-box ArcMap topology
editing tools. Shared geometry editing ensures that coincident features participating in a
topology move together as edits are performed. "Dirty areas" appear for points, lines, and
polygons whenever edits occur that may affect topology integrity. Topology exists as a
structure within the geodatabase, and, for all intents and purposes, acts as another feature
layer in ArcCatalog and ArcMap.
Some general guidelines and rules to keep in mind when implementing a topology are
listed below.
• Annotation, dimension, and geometric network features are complex features and
cannot participate in a topology.
• A topology and a geometric network can coexist in the same feature dataset, but
they cannot share a participating feature class.
• Using subtypes increases performance since fewer cursors are generated during
processing.
• There is no recommended upper limit to the number of feature classes that may
participate in a topology.
The geometric network is an excellent tool for analysis purposes and for editing features.
The network does not account for stationing nor does it account well for coincident linear
features. A geometric network only allows one linear feature to participate in the network
at one location in space. Since stationing is such an integral part of pipeline operations,
the benefits of the geometric network do not outweigh those of topology from a data
editing and maintenance standpoint. However, the geometric network is a versatile tool
for analysis. A recommendation is that organizations requiring a geometric network for
for the purposes of retrieval and updating are possible (through ADO, multi-version
views and the ESRI OLEBD data provider); however, the results may be unsatisfactory
due to perceived limitations of multiple domains assigned to the same fields based on
subtype value, and the non-resolution of domain values during query run-time. Users
attempting insert, update and delete operations using standard database access techniques
need to be aware of the potential impacts to the underlying geodatabase. Executing these
kinds of statements without due diligence can irretrievably corrupt the data stored within
a geodatabase (especially when the geodatabase is in a versioned state).
The data stored within a geodatabase is relatively simple to access for the purposes of
query. However, those attempting to edit such data via SQL should do so with caution. It
should be noted that the restriction of versioning does not apply to personal geodatabases
(which are currently based on the Microsoft Access technology). However, personal
geodatabases are not suitable as enterprise solutions because they do not support multi-
user access, and therefore are not used in most examples within this whitepaper. Even
with this assumption, small companies that cannot afford a license of ArcSDE will have
more options for increased data access and performance when ESRI releases its file-
based geodatabase (at ArcGIS 9.2).
• Import control points from a source containing x,y coordinates, station value, and
an ID field that can be used to group the control points.
• Digitize station series features from the control points using the station value to
order the control points sequentially. Calibrate the measure values of the station
series features using the station values of the control point features.
• Import the ID field used to group the control points into the station series feature
to establish the relationship between control points and station series.
• Update the begin/end station values of each station series feature from the
measured value contained in the from/to points of the station series feature.
• Import event tables containing features. Event tables must have a field that
contains a Route-ID value found in the EventID of a station series feature. Point
event tables must have an attribute named BeginStation containing valid station
values along a station series route feature. Linear event tables must have two
attributes (BeginStation, EndStation).
13.1.1 SitePoint
13.1.2 SiteBoundary
scale, domain,
description)
Relationships: SiteBoundary: SiteBoundary is 1..1 with Site
(cardinality,
optionality,
attributes,
composite)
SubTypes: --
13.2.1 Appurtenance
The Appurtenance feature class is used to store ad hoc, non-pressurized point features
that are found on and along a pipeline system. The Appurtenance feature class can be
used as a catchall for referenced online point features that do not fit into any other APDM
feature class and for which a minimum common set of attributes must be recorded.
Typical appurtenances include anchor rods, hold-down blocks, river weights, and thrust
blocks.
13.2.2 Casing
Geometry:
APDM ESRI Object Feature Feature Archive OnlineFeature
Inheritance: OnlineFacility OnlinePolylineFacility
Attributes: CasingLength (Short Integer, 4) – The length of the casing unit
(name, type, along the pipeline.
length, precision, CrossingType (String, 50) fcCasingCrossingType – The type of line
scale, domain, crossing over the pipeline (e.g., road, railroad).
description) Filled (String, 50) gnYesNo (required APDM domain) – Indicates
if the casing is filled with some material. The gnYesNo domain
is considered a ‘core’ APDM domain and must be implemented
verbatim.
InsulatorType (String, 50) fcCasingInsulatorType – The type of
insulator protecting the casing (e.g., concrete, plastic).
OutsideDiameter (String, 50) fcDiameter (required APDM domain)
– The outside diameter of the casing (e.g., 24", 36"). The
fcDiameter domain is considered a ‘core’ APDM domain and
must be implemented verbatim.
SealType (String, 50) fcCasingSealType – The type of seal used to
close the casing (e.g., epoxy, case seal).
Shorted (String, 50) gnYesNo (required APDM domain) – Indicates
if the casing is electrically conductive. The gnYesNo domain is
considered a ‘core’ APDM domain and must be implemented
verbatim.
Vented (String, 50) gnYesNo (required APDM domain) – Indicates
if the casing is vented for air/water circulation/drainage. The
gnYesNo domain is considered a ‘core’ APDM domain and must
be implemented verbatim.
WallThickness (String, 50) fcWallThickness (required APDM
domain) – The wall thickness of the casing. The
fcWallThickness domain is considered a ‘core’ APDM domain
and must be implemented verbatim.
Relationships: CasingAudit: Casing is 1:M with CasingAudit
(cardinality,
optionality,
attributes,
composite)
SubTypes: --
The Casing feature class represents a protective structural device surrounding a pipe
segment. Casings are used to protect pipelines from the weight, pressure, and vibration
caused by traffic on roads, railroads, and other types of line crossings.
13.2.3 Closure
The Closure feature class represents the terminus or endpoint of a pipeline. A closure is
designed to interrupt (and typically contain) pressurized flow at the end of a pipe
segment.
13.2.4 Coating
The Coating feature class represents the materials that are spread over a set of pipe
segments and fittings to preserve the metal from corrosion and exposure to environmental
conditions. Coating can be applied to the internal and/or external surfaces of pipe
segments. It is also common for coating features to overlap other coating features. A pipe
segment can potentially have zero or more internal and zero or more external applications
of coating.
13.2.5 Elbow
The Elbow feature class describes manufactured elbow fittings. An elbow feature
typically represents a bend in the pipeline at a specific angle. An elbow is typically
13.2.6 Instrument
19 –ER Probe
Note: The instrument feature class is subtyped by instrument type,
so new instrument types may be easily added to the model with out
resorting to the creation of additional feature classes.
The Instrument feature class stores information about facilities and equipment typically
found on a Process and Instrumentation Diagram (P&ID). Examples of these types of
equipment include pressure and temperature sensors, pressure and temperature
transmitters, pressure regulators, level indicators, level controllers, valve position
indicators, valve positioners, gas samplers, gas chromatographs, flow computers, E/R
probes, etc. Many implementers will choose not to capture all the piping found in a
compressor or pump station. For this reason, not all records in the Instrument feature
class will have a shape, a Station value and a StationSeriesEventID value. The
relationship between Instrument and Site (through the inherited attributes) is so that
Instrument features not related to a Station Series may still be related to a Site
(compressor, valve, or pumping station). The InstrumentParameter table stores
information about instruments.
13.2.7 Meter
13.2.8 PigStructure
The PigStructure feature class models launcher and receiver facilities used to launch and
receive inline inspection PIGs. Inline inspection PIGs are used to detect corrosion and
geometric anomalies in a reach of pipeline using pressurized flow to propel the PIG
through the pipe. Launchers and receivers are often fabricated in situ by a pipeline
company. Some pipeline companies station or locate pigging structures via stationing;
other companies consider these features to be non-referenced. The APDM does not
mandate whether pigging structure features are to be referenced or not. Referenced
pigging structure features can optionally be stored as a subtype of the PipeSegment
feature class rather than maintained in a separate feature class.
13.2.9 PipeJoinMethod
SubTypes: 1 – Weld
2 – Coupling
3 – Flange
4 – Screw
5 – Electro Stop
The PipeJoinMethod feature class stores information about the features that are used to
join pipe segments with varying attributes and features for which information must be
explicitly recorded. A pipe segment feature in a pipeline system is a generalized feature
that is composed of many pipes sharing the same attribute values. When attribute values
change between pipe segments, then a pipe join method feature (typically a weld) is
placed in between the pipe segments. Other features that are used to link two connected
pipe segments can be stored in the PipeJoinMethod feature class. These features share a
common set of attributes and can be divided into separate feature classes as required.
Some join method features are manufactured (flanges) and others are constructed or
applied in the field (e.g., welds, couplings).
13.2.10 PipeSegment
The PipeSegment feature class is used to model the primary conduit of pressurized
product flow of a pipeline system: pipes. The typical length of pipe used in transmission
pipelines is 40 feet. Pipe segment features aggregate many of these pipes into a single
feature with common attribute values. Traditionally it is common implementation
practice to not explicitly represent pipe or the joints in between individual pipe. Rather,
pipes were aggregated into larger pipe segment features where all attribute values
between the pipes were equal. Where the attribute values changed from pipe segment to
pipe segment, a pipe join feature was placed. Pipes represent straight pipe features. A
bend is a field fabrication where a pipe is bent over a distance to force the pipeline to
turn. A transition pipe segment represents where the diameter of the pipe changes over a
specified distance. When a pipe segment feature is altered, removed, or abandoned, then
a cascade of data maintenance must occur to maintain concurrency between the pipe
segment feature and the dependent features.
13.2.11 Reducer
(cardinality,
optionality,
attributes,
composite)
SubTypes: --
Reducers are manufactured fittings designed to carry pressurized product. The Reducer
feature class stores information about a reducer facility. Reducers are points along the
pipeline where the internal diameter of the pipeline is decreased or increased by the
reducer.
13.2.12 Sleeve
The Sleeve feature class stores information about sleeves, clamps, reinforcements, and
other repair features that are applied around the girth of pipes. Sleeve features do not
typically overlap each other and are dependent on the presence of a pipe segment feature.
13.2.13 Tap
The Tap feature class stores information describing both manufactured tap fittings and
tap fabrication (hot taps) located on a pipeline system. The APDM considers a tap to be
the joining of two or more pipes at a junction for the purpose of releasing product in a
controlled fashion. A tap is usually found in conjunction with a shutoff, check, or release
valve.
13.2.14 Tee
tee was manufactured to. The API, ANSI, ASTM and other
organizations all publish pipe specifications. Specification
include characteristics like ovality, wall thickness variation, test
requirements, strength, etc. (e.g., ANSI, API 5).
Relationships: TeeAudit: Tee is 1:M with TeeAudit
(cardinality,
optionality,
attributes,
composite)
SubTypes:
The Tee feature class contains information describing manufactured branch or tee fittings
designed to carry pressurized product flow from a main to a branch or secondary pipe.
13.2.15 Valve
13.2.16 ValveOperator
13.2.17 Vessel
The Vessel feature class describes large volume facility features that are used to contain,
process, or alter product on or along the pipeline.
13.2.18 Well
The Well feature class describes petroleum wells associated with, or near the pipeline.
13.3.1 ElevationPoint
The ElevationPoint feature class is designed to store elevations taken at specific points
along the pipeline centerline. Anytime that a section of pipe is excavated (or initially
placed in the ground) the depths of the pipeline features from the ground surface are
recorded. (The engineers need to know the elevation to plan for hydrostatic testing.)
Along with the elevation, slope/horizontal distance between elevation points,
slope/horizontal stationing, depth of cover, and lat/long information are collected. There
are many more ElevationPoints physically on the center line than off the center line. The
ElevationPoint feature class is also useful for storing the depth of offshore features that
are under water.
13.3.2 FieldNote
The FieldNote feature class is designed to store data collected during preliminary routing
of pipeline, engineering, environmental, or cultural field surveys. Field notes serve as
placeholders for information pertaining to proposed features or survey notes. Field notes
also serve as memos or notations that provide additional comments, descriptions, or
annotation about existing events or features on or along the pipeline. The GeoMetaData
for a field note stores the provenance of the field note's original position and data
collection method.
13.3.3 FieldNoteLocation
13.3.4 Marker
The Marker feature class stores information about monuments, aerial markers, mileposts,
and other offline features that determine position along a pipeline. Marker features are
not control points since they do not explicitly mark the route of a centerline. Markers are
placed at regular intervals or at points of known locations along the pipeline and serve as
reference points. Markers may serve as calibration points for station series features for
alternate measurement systems.
13.3.5 MarkerLocation
The MarkerLocation feature class stores the designated online locations for Marker
features. (As defined, Marker is an offline feature class.)
13.3.6 OnlineFieldNote
Inheritance: OnlinePoint
Attributes: FieldNoteType (String, 50) opFNCultural – The type of field note
(name, type, (e.g., structure location, routing angle) based on the subtype of
length, precision, the field note.
scale, domain,
description)
Relationships: OnlineFieldNoteAudit: OnlineFieldNote is 1:M with
(cardinality, OnlineFieldNoteAudit
optionality,
attributes,
composite)
SubTypes: 1 – Cultural Note
2 – Environmental Note
3 – Facility Note
4 – Geopolitical Note
5 – Hydrology Note
6 – Line Crossing Note
7 – Operations Note
8 – Routing Note
9 – Transportation Note
The OnlineFieldNote feature class is designed to store data collected during preliminary
routing of pipeline, engineering, environmental, or cultural field surveys. Field notes
serve as placeholders for information pertaining to proposed features or survey notes.
Online Field notes also serve as memos or notations that provide additional comments,
descriptions, or annotation about existing events or features on the pipeline.
13.3.7 OperatingPressure
The OperatingPressure feature class is designed to store features describing the current,
designed, and maximum allowable operating pressure zones along a pipeline. Operating
pressure features can potentially stretch over long areas of the pipeline system sharing
common attribute values. When lengthy linear features span station series, these features
must be segmented into lengths no longer than the underlying station series features. The
GroupEventID attribute inherited from the OnlinePolyline abstract class can be used to
aggregate many separate operating pressure features, with equal attributes, into a single
grouped element. The relationship between OperatingPressure and Contact establishes
the person responsible for verifying the attributes of an operating pressure feature.
13.3.8 PressureTest
optionality,
attributes,
composite)
SubTypes: --
The PressureTest feature class is designed to store features describing pressure tests
conducted along parts of the pipeline. PressureTest features can potentially stretch over
long reaches of the pipeline. When lengthy pressure test features span station series, these
features must be segmented into lengths no longer than the underlying station series
features. The GroupEventID attribute inherited from the Audit abstract class can be used
to aggregate many separate pressure test features, with equal attributes, into a single
grouped element.
13.3.9 RightOfWay
The RightOfWay feature class stores information describing easements and right-of-way
information of the pipeline as it passes through polygonal boundaries such as property
parcels, operating districts, and municipal/political boundaries. Right-of-way polyline
features are used to indicate the starting position of the pipeline as it enters and exits an
area including a distance or length value of the reach of the pipeline within the area.
Right-of-way features contain easement widths that can be used to buffer the feature. The
address and contact relationships model ownership and address information for the
section of the pipeline that passes through right-of-way. A relationship exists between
LineLoop and RightOfWay, which models that a RightOfWay linear feature falls on one
and only one LineLoop and is used as a source of identification.
13.4.1 Address
The Address object class contains information about a specific address. This address
information pertains to encroaching structures, company addresses, and individual
mailing addresses. The Address object class provides a simple repository for storing
address information for people and places. The Address object class is not intended to be
the definitive description of an address. The Address object class was designed to
maintain a list of commonly required addresses pertaining to geographic and
organizational features in the model that might be contacted via surface mailing and to
provide a linkage to customer information systems.
13.4.2 AlignmentSheet
The AlignmentSheet feature class stores the polygonal boundary of the printable
geographic map portion of an alignment sheet generated along a reach or section of the
pipeline system.
The attributes of the AlignmentSheet feature class are purposefully designed to store only
generic information due to the high variance of alignment sheet requirements between
different pipeline companies. Only the broadest attributes that describe alignment sheets
in the most generic terms are included in the model.
13.4.4 Contact
The Contact object class contains the contact information for communicating with any
person who has contact with or works for a pipeline company and its contractors.
13.4.5 DocumentPoint
The DocumentPoint feature class contains points that are used to link to one or more
external documents stored on a file server to one or more features in the geodatabase.
13.4.6 GeoMetaData
The GeoMetaData object class describes the geographic provenance of point features in
the model (e.g. ControlPoint, FieldNote) whose geographic coordinates are absolute and
known.
The GeoMetaData object class allows the database to store highly accurate coordinate
information derived from the field for points whose current position has been degraded to
suit a projection/precision limitation or has been moved to conflate the current feature to
an existing background or control layer (e.g., land base or orthophotography). The
GeoMetaData object class is used to maintain a historic tie to the original geographic
location of these features in the event that this information is required for more accurate
13.4.7 InstrumentParameter
18 – Corrosion Coupon
19 – ER Probe
13.4.8 RemovedLine
The RemovedLine feature class is a container for polyline features that belong to other
feature classes in which features have been deleted, removed from the ground, or
abandoned in place. Removed lines capture the stationing information that was last used
to locate the feature by linear referencing. The attribute names and values are appended
into a single string separated by colons and semicolons respectively. These name/value
pairs are stored in the Attributes field. The projection information of the original feature's
coordinates is also stored for the feature.
13.4.8 RemovedPoint
The RemovedPoint feature class is a container for point features that belong to other
feature classes in which features have been deleted, removed from the ground, or
abandoned in place. Removed points capture the stationing information that was last used
to locate the feature by linear referencing. The attribute names and values are appended
into a single string separated by colons and semicolons respectively. These name/value
pairs are stored in the Attributes field. The projection information of the original feature's
coordinates is also stored for feature.
for gas and liquids HCA analysis are very different, requiring different class structures
within the APDM. The example APDM integrity classes are depicted in the following
figure:
Activity HCARange
The aggregate segment derived from a rolled up set of
HCACLass segments.
HCASegmentAudit DOTClassAudit
AssessmentCalculated (Date) - Date the HCA analysis
HCASegmentEventID (fk) DOTClassEventID (fk) was performed.
RangeName (String) – A name or code assigned to the
APDM 4.0 has revised the schema for High Consequence Area and DOT Class analysis HCARange that is used in further analysis such as
for both gas and liquid transportation systems. The examples provided for gas are more Risk Assessment or mapping.
detailed than those for liquids. The biggest change from APDM 3.0-4.0 is the specification RiskRanking (Double) – An overall Risk Ranking
assigned to the HCARange.
of Structures and IDSites in the same object class and the relationships from this class to
both HCASegment and DOTClass feature classes. A 1-M and M-N relationship exist to
these classes from StructureAndIDSite showing how a single IDSite or multiple structures DOTClass
Segments indicating the calculated or assigned Department of
cause HCASegments. The inclusion of the HCARange feature class allows Transportation Office of Pipeline Safety class
HCASegments to be aggregated or ‘rolling up’ to form HCARange segments which solely designations.
indicating areas of high consequence along the pipelne should a rupture occur.
ActivityEventID (GUID) – The EventID of the Activity Object
HCASegment representing the calculation or determination of DOT
Class.
A segment derived from some form of HCA calculation or assignment.
CalculatedLength (Double) – The 2D/3D length of the class
segment (in feet).
ActivityEventID (GUID) – The EventID of the Activity Object representing the calculation or
ClassType <Domain> (opDOTClassType) – The class
determination of HCA.
designation assigned to the class.
BIHOStructureCount (Long Int) - The number of structures (buildings intended for human occupancy)
ClassSource <Domain> (opDOTClassSource) – The
that created the individual HCA segment (optional).
methodology used to derive/assign the class type to the
CalculatedLength (Double) - Calcuated 2D/3D length of class segment in feet.
segment.
DateCalculated (Date) - Date the HCA analysis was performed.
ClusterBufferEventID (GUID) – Foreign key of the cluster
HCARangeEventID (GUID) – The foreign key to the HCARange online polyline feature class indicating
buffer that was used to create DOT Class III or IV
the rolled up HCA parent segment.
segments
MAOP (Double) - The MAOP of the original operating pressure or dynamically segmented feature used
CorridorWidth (Double) – The width of the corridor
to calculate the PIR.
surrounding the class (?).
OutsideDiameter <Domain> (fcOutsideDiameter) - The outside diameter of the original pipe or
CorridorTolerance (Double) – The tolerance used to extend the
dynamically segmented feature used to calculate the PIR.
corridor buffer.
PIR (Double) – The potential impact radius of the original segment.
DateCalculated (Date) – The date the class value was
PIRT (Double) - A tolerance factor to account for variation in spatial data accuracy of the features used
determined and assigned to the class segment.
to determine if a segment is HCA.
IDSiteBufferRadius (Double) – The buffer distance surrounding
Provenance <Domain> (opHCAProvenance) – The method used to assign/calculate the HCAClass
the IDSite causing Class II or IV.
segment.
StructureOrIDSiteEventID (GUID) – The EventID of the object
TotalPIR (double) - The total PIR (PIR+PIRT) for a HCAClass segment.
class containing the Structures that were the cause of a
StructureOrIDSiteEventID (GUID) – The EventID of the object class containing the Identified Sites that
created DOT segment (optional).
were the cause of a created HCA segment (optional).
HighConsequenceArea
CouldAffectSegments A polygonal area the if affected by a liquids spill will result in
The segments affected as the results of a liquid spill. high loss of life, environmental and/or economic
consequence.
Figure 31
Detailed descriptions for each of the integrity classes are found below.
13.5.1 ClusterBuffer
The ClusterBuffer represents the extent of a cluster area used in determining the DOT
Class using clustering methods.
13.5.2 CouldAffectSegment
The CouldAffectSegment feature class is intended to store the results of liquids HCA
analysis. CouldAffectSegment features represent pipeline segments that potentially
‘could affect’ a high consequence area, as defined by the National Pipeline Mapping
System (NPMS). Because of the wide variation in practice for calculating could affect
segments, the CouldAffectSegment feature class is included as a ‘placeholder’ class
without defined attribution.
13.5.3 DOTClass
The DOTClass feature class contains the segments indicating the calculated or assigned
Department of Transportation Office of Pipeline Safety class designations.
13.5.4 DOTClassCorridor
13.5.5 DOTClassSegment
SubTypes: --
The DOTClassSegment feature class contains the segments derived from some form of
DOTClass calculaton or assignment. The many to one relationship to DOTClass denotes
that DOTClassSegment features are rolled-up to form a DOTClass feature.
13.5.6 HCACorridor
The HCACorridor is the calculated buffer either side of a centerline based on the PIR
value that is used in determining the extents of a HighConsequenceArea.
13.5.7 HCARange
The HCARange feature class contains the aggregate segment derived from a rolled up set
of HCAClass segments. The one to many relationship to HCASegment denotes that
HCASegment features are rolled-up to form an HCARange feature. The one to many
relationshop with RiskAnalysis denotes that more than one HCARange can be associated
with a RiskAnalysis feature.
13.5.8 HCASegment
SubTypes: --
The HCASegment feature class contains the segments derived from some form of HCA
calculaton or assignment. The many to one relationship to HCARange denotes that
HCASegment features are rolled-up to form an HCARange feature.
13.5.9 HighConsequenceArea
The HighConsequenceArea feature class denotes the boundary of high consequence areas
that encroach upon the DOT Class Corridor of the pipeline center and effectively drive up
the HCA class rating of segments of the pipeline. High consequence areas are navigable
waterways, ecological reserves, drinking water recharge zones, and densely populated
areas.
13.5.10 RiskAnalysis
The RiskAnalysis feature class stores polylines representing the results of a risk analysis
along a reach of the pipeline. Potential risk (probability of failure, rupture, or unplanned
release) along the pipeline is calculated based on the structural ability of the pipeline to
carry product under pressure. Parameters used for risk analysis might include pipe
segment wall thickness, anomaly frequency, soil and other environmental conditions, and
coating condition. Risk analysis also entails some quantification of the consequences of a
pipeline rupture on property, the environment, and human life. The RiskAnalysis feature
class was designed to be customizable and includes suggested attributes.
13.6.1 Anomaly
The Anomaly feature class is used to describe anomalies in the pipeline system as
detected from inline inspection runs of a pigging device.
Typical anomalies include corrosion, geometric distortions, and/or material defects such
as gouges or dents. The relationship between Anomaly and AnomalyCluster models that
an anomaly point can be a member of a cluster of like anomalies. Typically, anomalies
are classified according to the kind of inline PIG inspection conducted on the pipe
segments of a pipeline system. The relationship between Anomaly and InspectionRange
models the fact that an anomaly location can be determined by many different
inspections.
13.6.2 AnomalyCluster
The AnomalyCluster feature class contains mean (average) values for a set of anomaly
point features.
One feature in the AnomalyCluster feature class represents a set of anomalies stored as a
multipoint shape. The purpose behind the AnomalyCluster feature class is to allow
analysis of clustered anomalies (of similar types) discovered during an inline PIG run.
13.6.3 InspectionRange
SubTypes:
The InspectionRange feature class represents the length or range of an inline PIG run, the
linear extents of an Activity or another type of inspection along a pipeline. Currently
there is no published standard format for most of this data. Most of the data returned from
an inline PIG run is typically stored in an external data source and is not always easily
integrated as part of the GIS. The InspectionRange feature class provides a mechanism to
relate this information to a geometric feature in the geodatabase. The relationship
between InspectionRange and Anomaly and the relationship between InpectionRange and
Contact model the occurrence of many discovered anomalies for an inline run and list a
contact person for the contractor who conducted the inline run. Inspection Range also has
a many-to-many relationship with Activity (many linear ranges represent the spatial
extent of one or more recurring activities).
13.6.4 Leak
Inheritance: OnlinePoint
Attributes: DateRepaired (Date) – The date the leak was repaired.
(name, type, DateReported (Date) – The date the leak was discovered/reported.
length, precision, Depth (Double, 15, 3) – The depth of the leak below the surface of
scale, domain, the ground.
description) LeakCause (String, 50) inLeakCause – The cause of the leak
(e.g., outside force, corrosion).
LeakOrigin (String, 50) inLeakOrigin – The origin of the leak on
the pipe (e.g., girth weld, tap).
LeakStatus (String, 50) inLeakStatus – The status of the leak
(e.g., no leak, repaired).
MethodDetected (String, 50) inLeakDetectionMethod – How the
leak was detected (e.g., leak survey, third party).
RepairType (String, 50) inLeakRepairType – Type of repair
(permanent or temporary).
Relationships: LeakAudit: Leak is 1:M with LeakAudit
(cardinality,
optionality,
attributes,
composite)
SubTypes: --
The Leak feature class stores information about leaks, ruptures, and unexpected
deliveries or releases that are discovered along the pipeline system and repaired.
Figure 32
The detailed architecture of the structure and identified site example classes are shown
below:
(Polygon)
Figure 33
Detailed descriptions of the structure and identified site classes, and the line crossing
classes, follow.
13.7.1 StructureOrIDSite
The Address and Contact relationships model occupancy and owner emergency contact
information. The relationship between StructureOrIDSite and StructureOutline allows the
storage of one or more structure outlines with a structure point allowing for more
flexibility in spatial analysis of proximity of the structure with the pipeline centerline.
The relationship between StructureOrIDSite and NearestPointToLine indicates that the
structure may have one or more point locations. The relationship between StructureNPTL
and StructureOutline indicates that the structure can exist as either or both an offline
point and/or offline polygon.
13.7.2 NearestPointToLine
SubTypes: --
The NearestPointToLine feature class contains the location of the nearest point on a
structure to a line. The relationship between NearestPointToLine and the
StructureOrIDSite Object Class or the StructureOutline feature class models that there
may be one or more NearestPointToLine features for a StructureOrIDSite or
StructureOutline. The relationship between NearestPointToLine and the
StructureLocation feature class models that NearestPointToLine may have one or more
StructureOnlineLocaton features. The relationship between NearestPointToLine and
StructureOutline indicates that the structure can exist as either or both an offline point
and/or offline polygon.
13.7.3 IDSiteArea
length, precision,
scale, domain,
description)
Relationships: StructureOrIDSiteArea: StructureOrIDSite is 1:M with IDSiteArea
(cardinality,
optionality,
attributes,
composite)
SubTypes: --
In some cases, an identified seat may be represented by a polygon, rather than a point.
The IDSiteArea feature class is used to store identified sites that are represented as
polygons.
13.7.4 StructureLocation
SubTypes: --
The StructureLocation feature class contains the online point locations for a
NearestPointToLine feature that falls within a certain distance (usually 660 or 1,000 feet)
of the centerline. The relationship between StructureLocation and NearestPointToLine
models that many online locations reference an offline structure on the centerline.
13.7.5 StructureOutline
The StructureOutline feature class contains the polygon outlines of structures. The
relationship between StructureOutline and Structure models that many buildings are
associated with a single structure object that is referenced by a point on the centerline.
13.7.6 LineCrossing
The LineCrossing feature represents a set of linear features (roads, rivers, fences, etc.)
that intersect the centerline of the pipeline. Every pipeline company must track any of
these features for right-of-way purposes, ownership purposes, and DOT/FERC safety
regulations. The LineCrossing feature class has no inherent referential position but relies
on the LineCrossingLocation (online point) and LineCrossingEasement (online polyline)
to store referenced location information about the line crossing. The relationship between
LineCrossing and Contact and the relationship between LineCrossing and Company
model the line crossing owner/operator and first contact information for the line crossing.
Implementation note: Not all companies digitize the linear feature crossing the pipeline
centerline, or do so only sporadically. In the situation where digitization of crossing
features is sporadic, the LineCrossing feature class will contain some features with
<null> shapes. Those companies who do not digitize crossing features at all may prefer to
implement LineCrossing as an object class (table), rather than as a feature class.
13.7.7 LineCrossingEasement
The LineCrossingEasement feature class stores the online location of the easement to
either side of a LineCrossing feature when it intersects the centerline.
13.7.8 LineCrossingLocation
The LineCrossingLocation feature class stores the online location where a LineCrossing
feature intersects the centerline.
13.8.1 CPAnode
The CPAnode feature class stores information about the anodes utilized in a pipeline
cathodic protection system. Anodes receive electrical current and are sacrificed to reduce
the probability of pipeline corrosion. The weight of the anode and the size of the pipeline
are factors determining how anodes are placed and managed along a pipeline. The
relationship between CPAnode and CPGroundBed models the fact that one or more
anodes are located within a single ground bed. However, the CPGroundBed feature also
maintains a NumberOfAnodes attribute that may be used in lieu of its association to
CPAnode. The relationship between CPAnode and CPLocation shows that an anode may
have one or more online locations.
13.8.2 CPBond
The CPBond feature class stores information describing cathodic protection bonds that
link one or more bond wires together. Bonds are often placed where nonmetallic fittings
or valves join pipe segments together as a means of carrying over (or stopping) electric
current from one set of pipes to another. The relationship between CPBond and
CPLocation shows that a bond may have one or more online locations.
13.8.3 CPCable
The CPCable feature class stores information about the cathodic protection cables that
carry current to/from different cathodic protection devices and the pipe segments of the
pipeline. CPCables provide a physical connection between cathodic protection point
features and pipe segment features. The relationship between CPCable and CPLocation
shows that a cable may have one or more online point locations.
13.8.4 CPGroundBed
SubTypes: --
The CPGroundBed feature class is the location on or off the centerline where one or more
anodes are placed. Anodes within a ground bed are used to reduce corrosion caused by
the flow of direct current from one part of the metal pipeline to another. The relationships
between CPGoundBed and CPAnode and between CPGoundBed and CPRectifier model
the configuration that typically one CPRectifier feature has one or more CPGroundBeds,
containing one or more CPAnodes. The CPGroundBed feature also maintains a
NumberOfAnodes attribute that may be used in lieu of its association to CPAnode. The
relationship between CPGroundBed and CPLocation shows that a ground bed may have
one or more online locations.
13.8.5 CPLocation
The CPLocation feature class stores the online locations for CPAnode, CPBond,
CPGroundBed, CPRectifier, and the CPTestStation offline point features and the
CPCable offline polyline features. The relationship between CPLocation and CPAnode,
CPBond, CPGroundBed, CPRectifier, CPCable, and CPTestStation allows a common
location table for all corrosion features.
13.8.6 CPRectifier
The CPRectifier feature class stores information about a rectifier. A rectifier is a cathodic
protection device that manages the power conversion from AC (alternating current) to
DC (direct current) before it is passed on to a pipeline. A CPCable feature can be used to
provide connectivity between a rectifier and a pipe segment. The relationship between
CPRectifier and CPGroundBed models that zero or more ground beds serve one rectifier.
The relationship between CPRectifier and CPLocation shows that a rectifier may have
one or more online locations.
13.8.7 CPTestStation
The CPTestStation feature class stores the information describing a cathodic protection
test station. Test stations are located at strategic points along a pipeline and are used to
take readings and measurements of the cathodic protection system. The relationship
between CPTestStaton and CPLocation shows that a test station may have one or more
online locations.
CIS stands for ‘Close Interval Survey’. CISReading illustrates how a set of readings can
be attributed to an AuditClass record (in this case an InspectionAudit). CISReading is
related to Company and Contact illustrating how contact and surveyor information can be
recorded for a set of readings.
Close Interval Surveys are conducted along a pipeline usually by depressing a rod into
the ground and recording conductivity readings. The surveys are conducted at small
intervals relative to the distance of a pipeline (3 meters or 10 feet or less). Typically, a
station value is not known or recorded at the location of the reading and therefore, the
position of the reading must be interpolated along a known stationed range
(InspectionRange) and the given interval of the survey. Readings are measurements taken
at points or ranges along the centerline and are also taken at a specific feature. Taking
readings at a series of features denotes a scheduled or required activity such as a survey
or inspection. There is much variation in the type of readings taken and the types of data
collected during a reading. CISReading is provided as an APDM example construct that
is proposed to allow one or more reading tables to be related to any AUDIT table for a
given feature. An audit record may have zero or more readings of any type. The audit
record provides the link to the activity and the source feature without having to carry
many potentially unused attributes for other ‘non-reading’ audit events.
The < ReadingType >Reading tables provided as example constructs with the APDM
have a many-to-one relationship with the Company object class, which models that each
reading is performed by just one Company, but that a Company can perform many
readings. The < ReadingType >Reading tables also have a many-to-one relationship with
the Contact object class, which models that each reading is performed by just one
individual Contact person, but that a Contact can perform many readings.
13.9.2 MeterReading
The MeterReading object class is used to store generic readings (or measurements) of
typically fluctuating information taken at various features found on or along a pipeline
system.
Meters are manufactured, pressurized fittings that are used to monitor flow, pressure, and
composition of product as it is transported along a pipeline. MeterReadings are
measurements of monitored conditions provided by these fittings which are taken at
timed intervals and retained for future use. Therefore, a single Meter provides many
MeterReadings over the course of time. MeterReading is provided as an APDM example
construct that is proposed to allow one or more reading tables to be related to any Audit
table for a given feature. An audit record may have zero or more readings of any type.
The audit record provides the link to the activity and the source feature without having to
carry many potentially unused attributes for other ‘non-reading’ audit events.
The < ReadingType >Reading tables provided as example constructs with the APDM
have a many-to-one relationship with the Company object class, which models that each
reading is performed by just one Company, but that a Company can perform many
readings. The < ReadingType >Reading tables also have a many-to-one relationship with
the Contact object class, which models that each reading is performed by just one
individual Contact person, but that a Contact can perform many readings.
<class name>Contact
ContactAddress
<OriginClass><DestinationClass>
The <OriginClass> represents the Object Name of the Origin Class of the Relationship
Class and <DestinationClass> represents the Object Name of the Destination Class of the
Relationship Class. If any default relationship class name exceeds 30 characters, it is
reduced to 30 characters. To accomplish this, two methods of truncating the name are
used:
• Method 1 - Parse and remove elements within the name of the Origin Object
Class such that the resulting name is 30 or less characters long. Removal of letters
is performed using commonly accepted truncations, e.g. the word ‘Location’ is
shortened to Loc.
• Method 2 - Truncate the concatenated name to 30 characters.
<ForeignClass>EventID
The <ForeignClass> represents the name of the Origin Feature/Object Class participating
in the relationship with the class containing the foreign key attribute.
Two other aspects of the Feature Dataset are worth mentioning. First, the Feature Dataset
enforces a standard spatial reference (including precision and X, Y, Z and M extents) for
all Feature Classes that are stored within the Feature Dataset. Secondly, storing Feature
Classes in Feature Datasets provides easier administration of the database objects, such as
versions and permissions. Using Oracle as an example, if the underlying relational
database management system (RDBMS) environment is configured properly, tablespace
backup of specific feature datasets can be performed.
Feature Classes that inherit from OfflineFeature or OfflineFacility can have a different
spatial reference than that defined for the centerline (StationSeries and ControlPoint) in
the ‘Transmission’ Feature Dataset. (In this case, such feature classes must be stored in a
separate feature dataset.) Object classes (tables) are stored and displayed at the root level
of the geodatabase.
For a more complete explanation of Feature Datasets, please refer to the ESRI document
“Understanding ArcSDE”.
This has implications for any string attribute field in the APDM, and in particular the
fields defined in the RemovedPoint and RemovedLine Feature Classes. Implementers of
the APDM must address these two attributes (and any others with a string length greater
than 255 characters) by changing the physical UML model with string length settings
appropriate to the target RDBMS being used to host the geodatabase. Of course, any
changes to the APDM physical model should be noted and documented in a log file or
manual by the implementer and/or consultant. The following table depicts the maximum
string length supported by some industry standard RDBMS software.
Example:
ESRI Simple Object ESRI Simple Feature (Optional)
FeatureArchive (Abstract) CenterlinePolyline (Abstract)
ClassName (Concrete)
Attributes: Describe each attribute by name, type, (length, precision, scale, and
(name, type, domain name if applicable) and a description of the attribute
length, precision, including a reason why it was incorporated in the model.
scale, domain,
description) Example:
EventID (GUID) – A globally unique identifier for the class.
OperationalStatus (String, 50) gnOperationalStatus (required
Company: Origin
LineLoop: Destination
Ibid
B.2.1 Domains
• Interconnect
• Lateral
• Launcher
• Kicker
• Mainline
• Receiver
• Storage Line
• Tap Line
• Well Line
• clLineServiceType to fcPipeJurisdiction as PipeJurisdiction
• Distribution
• High Pressure Gathering
• Low Pressure Gathering
• Transmission
• Added clLineJurisdiction to Lineloop as LineJurisdiction
• Offshore
• Onshore
properly formatted. Support of these two field data types are congruent with
ESRI’s current technology offering.
• Reasoning - This option has been suggested as part of the PODS Spatial working
group and represents an extension to the existing APDM design rather than
alteration of what is there. Adding alternate reference mode station values to
online feature classes would improve performance by reducing the need to
traverse relationship classes from online feature classes to the AltRefMeasure
object class. All stationing values would be present in the online feature classes
for easy reference, comparison and updating. Three fields would be added to the
ReferenceMode APDM Metadata class to denote the field names for each
reference mode – one field for point features, two fields (representing begin/end
station values) for polyline features.
• Reasoning - Any feature class or event-based object class that inherits from
the APDMFitting Abstract Class will inherit the Specification attribute AND
the assigned coded value domain to that attribute. The valid value list of
specifications that describe features such as valves and flanges are completely
different from each other and, from a database integrity and normalization
stand-point, having a single domain containing specification values for both of
these feature types would cause data integrity issues as a user may describe a
valve with a flange specification. Abstract Classes are supposed to be the
lowest and most generic representation of a super class. The specification field
is unique to the feature type it is describing and thus must be placed in the
concrete classes. Field is deleted from the Core Model but remains in the
concrete classes in the full model.
• Renamed StationSeriesEventID to RouteEventID
• Added SeriesEventID (FK) field
Another consideration is that future integration between ESRI data models would
require detailed description and definition of pipelines at the line level to
differentiate between transmission, distribution, high and low pressure gathering
pipelines. LineJurisdiction was added to differentiate between onshore and
offshore pipelines.
B.2.2.7 PipeSegment
• Change – Moved LineType from LineLoop – domain clLineType becomes
fcPipeJurisdiction
• Reasoning – Whether a pipe is a transmission, gathering, distribution is
completely subjective and applies to the pipe rather than the line. The same line
can contain high pressure distribution that is not classified as transmission or low
pressure distribution. This is a pipe attribute, not a line attribute and it changes a
lot.
B.2.3.1 Well
• Change - Add a Well class to support Gathering pipeline systems. (Full model)
• Reasoning - There is an industry effort to integration the energy and APDM
models in conjunction with developing a gathering system model in the short term
adding a well feature to model helps the gathering folks out a little.
B.2.3.2 ClusterBuffer
• Change – Add a ClusterBuffer class to support DOTClass clustering (Full
Model).
• Reasoning – Contains information supporting DOT Class determination using
clustering.
B.2.3.3 DOTClassCorridor
• Change – Add DOTClassCorridor class to support DOT Class analysis (Full
Model).
• Reasoning – The DOTClassCorridor holds the buffer polygon used in
determining DOT Class for the line loop.
B.2.3.4 DOTClassSegment
• Change – Add DOTClassSegment class to support DOT Class analysis (Full
Model).
• Reasoning – The DOTClassSegment is a polyline representation of the lineloop
dynamically segmented to specific DOT classes.
B.2.3.5 HCACorridor
• Change – Add HCACorridor class to support HCA analysis (Full Model)
• Reasoning – The HCACorridor is a polygon representing the PIR buffer of an
HCA.
X/Y Domain:
Min X: -400
Min Y: -400
Max X: 400
Max Y: 400
Scale: 11258999068426.2
M Domain:
Min: -1000000
Max: 90071991547409.9
Scale: 100
Z Domain:
Min: -50000
Max: 90071992497409.9
Scale: 100
Appendix D - Glossary
Abstract Classes
In ArcObjects, a specification for subclasses that is often shown on object model
diagrams to help give structure to the diagram. An abstract class is not defined in a type
library and cannot be instantiated.
In the APDM, abstract classes are a collection of broad data type categories, each of
which has its own defined behaviors, and are used to coarsely define the semantic
behavior of the various feature and object classes in the APDM.
APDM
The ArcGIS Pipeline Data Model is designed for storing information pertaining to
features found in gathering and transmission pipelines, particularly gas and liquid
systems.
The APDM was expressly designed for implementation as an ESRI geodatabase for use
with ESRI's ArcGIS and ArcSDE® products.
Core elements in an APDM geodatabase that maintain the semantic framework and
behavior of the model. For an APDM- compliant geodatabase implementation, core
classes must be implemented with the same names, attributes and relationship classes as
described in the APDM Whitepaper.
Arc-node topology
The data structure in a coverage used to represent linear features and polygon boundaries
and to support analysis functions, such as network tracing. Nodes represent the beginning
and ending vertices of each arc. Arcs that share a node are connected, and polygons are
defined by a series of connected arcs. An arc that intersects another arc is split into two
arcs. Each arc that defines all or part of a polygon boundary records the number of the
polygon to its left and to its right, giving it a direction of travel.
Attribute
Information about a geographic feature in a GIS, usually stored in a table and linked to
the feature by a unique identifier. For example, attributes of a river might include its
name, length, and average depth.
In raster datasets, information associated with each unique value of raster cells.
Information that specifies how features are displayed and labeled on a map; the graphic
attributes of a river might include line thickness, line length, color, and font for labeling.
Attribute data
See Also: nonspatial data
Tabular or textual data describing the geographic characteristics of features.
Attribute domain
See Also: Coded value domain, Domain, Range domain
In a geodatabase, a mechanism for enforcing data integrity. Attribute domains define
what values are allowed in a field in a feature class or nonspatial attribute table. If the
features or nonspatial objects have been grouped into subtypes, different attribute
domains can be assigned to each of the subtypes.
Attribute table
See Also: Text attribute table
A database or tabular file containing information about a set of geographic features,
usually arranged so that each row represents a feature and each column represents one
feature attribute. In raster datasets, each row of an attribute table corresponds to a certain
zone of cells having the same value. In a GIS, attribute tables are often joined or related
to spatial data layers, and the attribute values they contain can be used to find, query, and
symbolize features or raster cells.
B
Baseline Assessment Plan (BAP)
See Also: Integrity Management Plan
A plan of inline inspections, direct assessment and close interval survey inspections to
determine the structural integrity and health of a pipeline. A BAP is an integral part of an
Integrity Management Plan (IMP)
Boundary
A line separating adjacent political entities, such as countries or districts; adjacent tracts
of privately-owned land, such as parcels; or adjacent geographic zones, such as
ecosystems. A boundary is a line that may or may not follow physical features, such as
rivers, mountains, or walls.
C
CAD
Acronym for Computer Aided Design. Software and techniques used to render schematic
diagrams representing facilities or mapped area on or along a pipeline system.
Cathodic Protection
Centerline
A line digitized along the center of a linear geographic feature, such as a street or a river
that at a large enough scale would be represented by a polygon.
CIS
Acronym for Close Interval Survey. A procedure where soil loss potential measurements
are taken from a pipeline by a person stabbing a thin metal wire into the ground spaced
by a regular distance from the previous measurement.
Class
See Also: Abstract Classes; Concrete Class
CLSID
See Also: GUID
Acronym for class identifier. Refers to the globally unique number that is used by the
system registry and the COM framework to identify a particular co-class.
A type of attribute domain that defines a set of permissible values for an attribute in a
geodatabase. A coded value domain consists of a code and its equivalent value. For
example, for a road feature class, the numbers 1, 2, and 3 might correspond to three types
of road surface: gravel, asphalt, and concrete. Codes are stored in a geodatabase, and
corresponding values appear in an attribute table.
Coincident
Occupying the same space. Coincident features or parts of features occupy the same
space in the same plane. In geodatabase feature classes, vertices or boundaries that fall
within the set cluster tolerance of one another are coincident; they are snapped together
during the validate topology process.
Coincident geometry
See Also: Topology
In a geodatabase, how the coordinates of coincident features are stored. For example, if
two lines are coincident, they are both drawn in ArcMap, with one line lying precisely on
top of the other. For two adjacent polygons, the coordinates for the shared boundary are
stored with each polygon and the boundary is drawn twice.
COM
Acronym for Component Object Model. A binary standard that enables software
components to interoperate in a networked environment regardless of the language in
which they were developed. Developed by Microsoft, COM technology provides the
underlying services of interface negotiation, life cycle management (determining when an
object can be removed from a system), licensing, and event handling. The ArcGIS system
is created using COM objects.
Concrete Class
See Also: Abstract Classes
A feature or object class that is implemented within the Geodatabase. Within APDM a
concrete class may inherit attributes and relationships from one or more APDM Abstract
Classes.
Constraints
Limits imposed on a model to maintain data integrity. For example, in a water network
model, an 8-inch pipe cannot connect to a 4-inch pipe.
Control point
An accurately surveyed coordinate location for a physical feature that can be identified
on the ground. Control points are used in a least squares adjustment as the basis for
improving the spatial accuracy of all other points to which they are connected.
One of various locations on a paper or digital map that has known coordinates and that is
used to transform another dataset--spatially coincident but in a different coordinate
system--into the coordinate system of the control point. Control points are used in
digitizing data from paper maps, in georeferencing both raster and vector data, and in
performing spatial adjustment operations such as rubber sheeting.
Coordinate system
A reference framework consisting of a set of points, lines, and/or surfaces, and a set of
rules, used to define the positions of points in space in either two or three dimensions.
The Cartesian coordinate system and the geographic coordinate system used on the
earth's surface are common examples of coordinate systems.
Coordinates
See Also: Geographic coordinates, x,y coordinates
Values represented by x, y, and possibly z, that define a position in terms of a spatial
reference framework. Coordinates are used to represent locations on the earth's surface
relative to other locations.
CP
See Also: Cathodic Protection
cp – The prefix used for the Cathodic Protection domains.
Core Classes
In the APDM, those abstract, feature, object and relationship classes, and domains, that
must be implemented to attain APDM compliance.
Crows Feet
A database modeling term used to describe the end symbol on a relationship represent
‘many’ or ‘one or more’.
D
Database
See Also: Geodatabase
One or more structured sets of persistent data, managed and stored as a unit and generally
associated with software to update and query the data. A simple database might be a
single file with many records, each of which references the same set of fields. A GIS
database includes data about the spatial locations and shapes of geographic features
recorded as points, lines, areas, pixels, grid cells, or TINs, as well as their attributes.
Data model
See Also: Data structure
In GIS, a mathematical paradigm for representing geographic objects or surfaces as data.
The vector data model represents geography as collections of points, lines and polygons;
the raster data model represents geography as cell matrixes that store numeric values; the
TIN data model represents geography as sets of contiguous, non-overlapping triangles.
In ArcGIS, a set of database design specifications for objects in a GIS application. A data
model describes the thematic layers used in the application (for example, counties, roads,
hamburger stands); their spatial representation (for example, point, line, or polygon);
their attributes; their integrity rules and relationships (for example, streets cannot self-
intersect, counties must nest within states); their cartographic portrayal; and their
metadata requirements.
In information theory, a description of the rules by which data is defined, organized,
queried, and updated within an information system (usually a database management
software program).
Data structure
The organization of data within a specific computer system that allows the data to be
stored and manipulated effectively; a representation of a data model in computer form.
Dataset
See Also: Feature dataset
Data source
Any data. Data sources may include coverages, shapefiles, rasters, or feature classes.
DBA
Acronym for Database Administrator. The person responsible for the creation,
management and monitoring of a Relational Database Management System (RDBMS)
implementation for integrity and performance purposes.
DLL
Acronym for dynamic link library. A type of file that stores shared code to be used by
multiple programs (a "code library"). Programs access the shared code by linking to the
.dll file when they run, a process referred to as dynamic linking. The .dll file must be
registered for other programs to locate it.
Domain
See Also: Attribute domain, Coded value domain, Range domain
A group of computers and devices on a network that are administered as a unit with
common rules and procedures. Within the Internet, a domain is defined by IP address. All
devices sharing a common part of the IP address are said to be in the same domain.
The range of valid values for a particular metadata element.
Domain name
See Also: Domain
The unique name of a computer system on the Internet, such as www.apdm.net
Dynamic segmentation
The process of calculating the shapes of point and line route events at run time.
E
Edge
In a network system, a linear feature (for example, a pipeline in a sewer system) through
which a commodity, such as information, water, or electricity flows.
In a geometric network, a network edge can be simple or complex. A simple edge is
always connected to exactly two junction features, one at each end. A complex edge is
always connected to at least two junction features at its endpoints, but it can also be
connected to additional junction features along its length.
In a network dataset, a network edge is only connected to two junctions at its endpoints.
Elevation
The vertical distance of a point or object above or below a reference surface or datum
(generally mean sea level). Used especially in reference to vertical height on land.
Equation
A deliberate break in the monotonicity of stationing along a Lineloop. Equations
represent the start or end of a station series of a different reference within a given
Lineloop. Equations are sometimes referred to as Station Equations.
Event
See Also: route event, temporal event, x,y event
A geographic location stored in tabular rather than spatial form. Event types include
address events, route events, x,y events, and temporal events.
EventID
Provides a mechanism for uniquely identifying each feature or object in the geodatabase
independent of the feature or object class to which it belongs.
Event layer
In ArcGIS, a layer created from an event table.
Event table
A data source containing location information in tabular format (called events) that is
used to create a spatial dataset. For example, an event table might contain x,y coordinates
or routes.
Extrapolation
In GIS, using known or observed data to infer or calculate values for unobserved times,
locations or other variables outside a sampled area. In the absence of data, extrapolation
may be a good method for making predictions, but it is not always accurate. For example,
based on observed economic indicators, an economist can make predictions about the
state of the economy at a future time. These predictions may not be accurate because they
cannot take into account seemingly random events such as natural disasters.
F
Feature
A representation of a real-world object on a map.
Feature class
A collection of geographic features with the same geometry type (such as point, line, or
polygon), the same attributes, and the same spatial reference. Feature classes can be
stored in geodatabases, shapefiles, coverages, or other data formats. Feature classes allow
homogeneous features to be grouped into a single unit for data storage purposes. For
example, highways, primary roads, and secondary roads can be grouped into a line
feature class named "roads." In a geodatabase, feature classes can also store annotation
and dimensions.
Feature data
Feature dataset
A collection of feature classes stored together that share the same spatial reference; that
is, they have the same coordinate system, and their features fall within a common
geographic area. Feature classes with different geometry types may be stored in a feature
dataset.
Feature layer
See Also: Layer
A layer that references a set of feature data. Feature data represents geographic entities as
points, lines, and polygons.
G
Geodatabase
See Also: Database
A collection of geographic datasets for use by ArcGIS. There are various types of
geographic datasets, including feature classes, attribute tables, raster datasets, network
datasets, topologies, and many others. There are various styles of Geodatabase including:
personal, file-based, workgroup, and enterprise.
Geographic coordinates
See Also: Geographic Coordinate System
Geographic data
Information about real-world features, including their shapes, locations, and descriptions.
Geographic data is the composite of spatial data and attribute data.
Geometric coincidence
The distance within which features in a geometric network are deemed to be coincident
and, therefore, connected.
Geometric network
Edge and junction features that represent a linear network, such as a utility or hydrologic
system, in which the connectivity of features is based on their geometric coincidence. A
geometric network does not contain information about the connectivity of features; this
information is stored within a logical network. Geometric networks are typically used to
model directed flow systems.
Geometry
The measures and properties of points, lines and surfaces. In a GIS, geometry is used to
represent the spatial component of geographic features.
Georeferencing
Aligning geographic data to a known coordinate system so it can be viewed, queried, and
analyzed with other geographic data. Georeferencing may involve shifting, rotating,
scaling, skewing, and in some cases warping or rubber sheeting the data.
GIS
See Also: Model, Spatial data
GPS
Acronym for Global Positioning System. A system of geosynchronous, radio-emitting and
receiving satellites used for determining positions on the earth. The orbiting satellites
transmit signals that allow a GPS receiver anywhere on earth to calculate its own location
through triangulation. Developed and operated by the U.S. Department of Defense, the
system is used in navigation, mapping, surveying, and other applications in which precise
positioning is necessary.
GUI
Acronym for graphical user interface. A software display format of the input and output
of a program that lets the user choose commands by pointing to icons, dialog boxes, and
lists of menu items on the screen, typically using a mouse. This contrasts with a
command line interface where communication is accomplished via the exchange of
strings of text.
GUID
See Also: CLSID
Acronym for globally unique identifier. A string used to uniquely identify an interface,
class, type library, or component category.
H
Hierarchical database
See Also: database
A database that stores related information in a tree-like structure, where records can be
traced to parent records which in turn can be traced to a root record.
I
ILI
Acronym for Inline Inspection. A procedure by which a mechanical devices equipped
with sensors and/or cleaning devices is pushed, under pressure, through the pipeline for
the purposes of detecting anomalies in the structure or ovality of the pipe or for removing
sludge and other undesirable elements from inside the pipeline.
Index
A data structure, usually an array, used to speed the search for records in a database or for
spatial features in geographic datasets. In general, unique identifiers stored in a key field
point to records or files holding more detailed information.
Inheritance
An term or convention used by object-oriented modelers describing the ‘passing’ of
attributes, interfaces, and relationships from a parent to child object.
IMP
Acronym for Integrity Mangement Programs. A formalized set of operating procedures
for planning the remediation and mitigation of threats posed to a pipeline from corrosion,
third party damage, current operating conditions, etc.
The IMP is designed to guide a pipeline operator in performing the required functions to
maintain the structural and operational integrity of a pipeline system.
Interoperability
See Also: OGC
The capability of components or systems to exchange data with other components or
systems, or to perform in multiple environments. In GIS, interoperability is required for a
GIS user using software from one vendor to study data compiled with GIS software from
a different provider.
Interpolation
In the context of linear referencing, the calculation of measure values for a route between
two known measure values.
J
Joining
See Also: relate
Appending the fields of one table to those of another through an attribute or field
common to both tables. A join is usually used to attach more attributes to the attribute
table of a geographic layer.
Connecting two or more features from different sets of data so that they become a single
feature.
Junction
For network data models in a geodatabase, a point at which two or more edges meet.
K
Keyword
See Also: index
A word searched for in a search command. Keywords are searched for in any order.
When defining metadata, users can enter theme and place keywords.
Known point
A surveyed point that has an established x,y coordinate value. Known points are used in
survey operations to extend survey computations into a project area.
L
Layer
5. The visual representation of a geographic dataset in any digital map environment.
Conceptually, a layer is a slice or stratum of the geographic reality in a particular
area, and is more or less equivalent to a legend item on a paper map. On a road map,
for example, roads, national parks, political boundaries and rivers are examples of
different layers.
6. In ArcGIS, a reference to a data source, such as a coverage, geodatabase feature class,
raster, and so on, that defines how the data should be symbolized on a map. Layers
can also define additional properties, such as which features from the data source are
included. Layers can be stored in map documents (.mxd) or saved individually as
layer files (.lyr). Layers are conceptually similar to themes in ArcView 3.x.
7. A stand-alone feature class in a geodatabase managed with SDE 3 or ArcSDE.
Line
See Also: line feature, polyline
On a map, a shape defined by a connected series of unique x,y coordinate pairs. A line
may be straight or curved.
Line event
In linear referencing, a feature that describes a portion of a route using a from- and to-
measure value. Examples include pavement quality, salmon spawning grounds, bus fares,
pipe widths, and traffic volumes.
Line feature
See Also: line, polyline feature
A map feature that has length but not area at a given scale, such as a river on a world map
or a street on a city map.
Line loop
An object class designed to store information describing a line in the pipeline system.
A construct that represents a single pipeline from the source (the gathering fields or
refineries) to the terminus of the line (connection at town border stations to distribution
centers or refineries). A line loop might be a mainline transmission pipe or a branch from
a gathering field. Often several line loops run parallel to each other. A line loop may have
gaps along the entire pipeline as pipes are often shared between several lines. In almost
all cases a line loop is an aggregation of one or more station series features but can also
be the aggregation of one or more line loops.
Logical LineLoop – A LineLoop object that has no related StationSeries features but
may have one or more related child LineLoop objects.
Physical LineLoop – A parent LineLoop object that has one or more related child
StationSeries features.
Linear interpolation
The estimation of an unknown value using the linear distance between known values.
Linear referencing
See Also: dynamic segmentation
A method for storing geographic data by using a relative position along an already
existing linear feature; the ability to uniquely identify positions along lines without
explicit x,y coordinates. Location is given in terms of a known linear feature and a
position, or measure, along it. Linear referencing is an intuitive way to associate
multiple sets of attributes to portions of linear features.
Linear unit
See Also: Unit of Measure
The unit of measurement on a plane or a projected coordinate system, often meters or
feet.
M
Many-to-many relationship
An association between two linked or joined tables in which one record in the first table
may correspond to many records in the second table, and vice versa.
Many-to-one relationship
See Also: joining, many-to-many relationship, one-to-many relationship, one-to-one
relationship
An association between two linked or joined tables in which many records in the first
table may correspond to a single record in the second table.
Metadata
Information that describes the semantic behavior, schema and data content of an APDM
geodatabase.
Two types of metadata constructs are implemented in the APDM:
Class-level metadata – stores additional behavioral information for an object
or feature class that applies to all objects in the class, or to all objects within a
subtype of the class.
Feature-level metadata – stores information that defines the behavior of
individual features within a feature class. Feature-level metadata is used to
define the behavior of online events and ControlPoint features during
centerline editing operations that change the shape of the centerline or
alter station values.
Model
1. An abstraction and representation of reality used to represent objects, processes,
or events.
2. A set of clearly defined analytical procedures used to derive new information
from input data.
3. A set of rules and procedures for representing a phenomenon or predicting an
outcome. In geoprocessing, a model consists of one process or a sequence of
processes connected together, and is created in Model Builder.
4. A data representation of reality, such as the vector data model.
Monotonic
Increasing or decreasing values in a single direction without breaks, gaps, or repetitions
in values.
M-value
Vertex attributes that are stored with x,y point coordinates in ESRI's Geometry Engine.
Every type of geometry (point, polyline, polygon, and so on) can have attributes for every
vertex.
In linear referencing, measure values that may be added to linear features to perform
dynamic segmentation. In linear referencing, m-values are used on vertices to imply a
measurement along a linear feature. The m-value allows a location along a line to be
found.
N
Nonspatial data
See Also: attribute data
Data without inherently spatial qualities, such as attributes.
NPMS
Acronym for the National Pipeline Mapping System. The U.S. Government requires that
all pipelines report the location and other attributes describing the pipeline using the
standard NPMS reporting format.
O
Object
In GIS, a digital representation of a spatial or nonspatial entity. Objects usually belong to
a class of objects with common attribute values and behaviors.
In object-oriented programming, an instance of the data structure and behavior defined by
a class.
Object class
In a geodatabase, a collection of nonspatial data of the same type or class. While spatial
objects (features) are stored in feature classes in a geodatabase, nonspatial objects are
stored in object classes.
A table in a geodatabase used to store a collection of objects with similar attributes and
behavior. Objects with no location information are stored as rows or records in object
classes. Spatial objects, or features, are stored as rows in feature classes, which are a
specialized type of object class in which objects have an extra attribute to define their
geographic location.
OGC
One-to-many relationship
See Also: joining, many-to-many relationship, many-to-one relationship, one-to-one
relationship
An association between two linked or joined tables in which one record in the first table
corresponds to many records in the second table.
One-to-one relationship
See Also: joining, many-to-many relationship, many-to-one relationship, one-to-many
relationship
An association between two linked or joined tables in which one record in the first table
corresponds to only one record in the second table.
op
Prefix applied to domains describing feature classes describing pipeline operations.
OPS
Acronym for the Office of Pipeline Safety. The OPS is the regulatory branch of the
Pipeline and Hazardous Materials Safety Administation (PHMSA) under the auspices of
the U.S. Department of Transportation (DOT) and Federal Energy Regulatory
Commission (FERC).
P
Personal geodatabase
A geodatabase that stores data in a single-user relational database management system. A
personal geodatabase can be read simultaneously by several users, but only one user at a
time can write data into it.
Point
See Also: Point Feature
A geometric element defined by a pair of x,y coordinates.
Point event
In linear referencing, a feature that occurs at a precise point location along a route; it uses
a single measure value. Examples include accident locations along highways, signals
along rail lines, bus stops along bus routes, and pumping stations along pipelines.
Point feature
See Also: Point
A map feature that has neither length nor area at a given scale, such as a city on a world
map or a building on a city map.
Polygon
See Also: Polygon Feature
On a map, a closed shape defined by a connected sequence of x,y coordinate pairs, where
the first and last coordinate pair are the same and all other pairs are unique.
Polygon feature
See Also: Attribute Table, Polygon
A map feature that bounds an area at a given scale, such as a country on a world map or a
district on a city map.
Polyline
See Also: polyline feature
In ArcGIS software, a shape defined by one or more paths, where a path is a series of
connected segments. If a polyline has more than one path (a multipart polyline) the paths
may either branch or be discontinuous.
Polyline feature
See Also: attribute table, polyline
In ArcGIS software, a digital map feature that represents a place or thing that has length
but not area at a given scale. A polyline feature may have one or more parts. For
example, a stream is typically a polyline feature with one part. If the stream goes
underground and later reemerges, it might be represented as a multipart feature with
discontinuous parts. If the stream diverges around an island and then rejoins itself, it
might be represented as a multipart feature with branching parts. A multipart polyline
feature is associated with a single record in an attribute table.
Primary key
A column or set of columns in a database that uniquely identifies each record. A primary
key allows no duplicate values and cannot be null.
Q
Query
A request to select features or records from a database. A query is often written as a
statement or logical expression.
R
Range domain
See Also: Attribute domain, Coded value domain, Domain
A type of attribute domain that defines the range of permissible values for a numeric
attribute. For example, the permissible range of values for a pipe diameter could be
between one and 32 inches.
Raster
See Also: Vector
A spatial data model that defines space as an array of equally sized cells arranged in rows
and columns. Each cell contains an attribute value and location coordinates. Unlike a
vector structure, which stores coordinates explicitly, raster coordinates are contained in
the ordering of the matrix. Groups of cells that share the same value represent the same
type of geographic feature.
RDBMS
Acronym for relational database management system. A type of database in which the
data is organized across several tables. Tables are associated with each other through
common fields. Data items can be recombined from different files. In contrast to other
database structures, an RDBMS requires few assumptions about how data is related or
how it will be extracted from the database.
Oralce and MS SQLServer are two vendor specific RDBMS that both support
implementation of an ESRI Geodatabase.
Reference mode
Reference modes represent different methods of recording station values and how these
values are applied at the LineLoop level.
Relate
See Also: joining
An operation that establishes a temporary connection between records in two tables using
an item common to both.
Relationship class
An item in the geodatabase that stores information about a relationship. A relationship
class is visible as an item in the ArcCatalog tree or contents view.
Relational database
A data structure in which collections of tables are logically associated with each other by
shared fields.
Re-Route
The procedure where the current position of a portion of the pipeline is altered by either:
• adding length to the beginning or end of the pipeline,
• deleting length from the pipeline
• abandoned or removing a portion of the pipeline and replacing that segment with
another segment of pipe at the same or a slightly difference location.
ROI
Acronym for Return on Investment. A financial term used to measure the potential return
(in monetary value) on an investment.
Route event
In linear referencing, linear, continuous or point features occurring along a base route
system.
S
Segment
In ArcGIS software, a geometric element from which paths are constructed. A segment
consists of a start point, an endpoint, and a function that describes a straight line or curve
between these two points. Curves may be circular arcs, elliptical arcs, or Bézier curves.
Shape
The characteristic appearance or visible form of a geographic object as represented on a
map. A GIS uses variations of three basic shapes to represent geographic objects: points,
lines, and polygons.
Shapefile
A vector data storage format for storing the location, shape, and attributes of geographic
features. A shapefile is stored in a set of related files and contains one feature class.
Single-user geodatabase
A personal geodatabase that can handle a single editor and multiple readers.
Spatial data
See Also: nonspatial data, temporal data
Information about the locations and shapes of geographic features and the relationships
between them, usually stored as coordinates and topology.
Any data that can be mapped.
Spatial database
A collection of spatial data and its related descriptive data, organized for efficient storage
and retrieval.
Spatial reference
The coordinate system used to store a spatial dataset. For feature classes and feature
datasets within a geodatabase, the spatial reference also includes the spatial domain.
Stationing
1. In the pipeline industry, another name for linear referencing. Stationing is the
measured distance along the station series.
2. Stationing allows any point along a pipeline to be uniquely identified.
Station series
A linear path representing a portion of the centerline of a pipeline, or the route that the
pipeline follows across the surface of the earth.
Station Value
The measure value assigned to a point location.
Subsystem
zones, site boundaries etc. A subsystem could also be represented by one or more linear
‘reaches’ or ‘events’ along a pipeline system.
Physical SubSystem – A parent SubSystem object that has one or more related child
SubSystemRange features.
Subtype
In geodatabases, a subset of features in a feature class or objects in a table that share the
same attributes. For example, the streets in a streets feature class could be categorized
into three subtypes: local streets, collector streets, and arterial streets. Creating subtypes
can be more efficient than creating many feature classes or tables in a geodatabase. For
example, a geodatabase with a dozen feature classes that have subtypes will perform
better than a geodatabase with a hundred feature classes. Subtypes also make editing data
faster and more accurate because default attribute values and domains can be set up. For
example, a local street subtype could be created and defined so that whenever this type of
street is added to the feature class, its speed limit attribute is automatically set to 35 miles
per hour.
T
Table
A set of data elements arranged in rows and columns. Each row represents a single record
for an entity, such as a feature. Each column represents a field of the record. Rows and
columns intersect to form cells, which contain a specific value for one field in a record.
Tabular data
See Also: Table
Descriptive information, usually alphanumeric, that is stored in rows and columns in a
database and can be linked to spatial data.
Temporal data
See Also: Spatial data
Time- and date-specific information for geographic locations that enables tracking of
real-time, future, or past observations, which can be discrete, such as lightning strikes;
moving, such as airplanes; or static, such as traffic sensors.
Temporal event
See Also: event
In ArcGIS Tracking Analyst, a type of event used to describe observations through time
of particular objects or groups of objects.
Topology
See Also: Arc-node topology
In geodatabases, the arrangement that constrains how point, line, and polygon features
share geometry. For example, street centerlines and census blocks share geometry, and
adjacent soil polygons share geometry. Topology defines and enforces data integrity rules
(for example, there should be no gaps between polygons). It supports topological
relationship queries and navigation (for example, navigating feature adjacency or
connectivity), supports sophisticated editing tools, and allows feature construction from
unstructured geometry (for example, constructing polygons from lines).
The branch of geometry that deals with the properties of a figure that remains unchanged
even when the figure is bent, stretched, or otherwise distorted.
U
Unit of measure
See Also: Linear unit
A standard quantity used for measurements such as length, area, and height.
V
Vector
See Also: Raster
A coordinate-based data model that represents geographic features as points, lines, and
polygons. Each point feature is represented as a single coordinate pair, while line and
polygon features are represented as ordered lists of vertices. Attributes are associated
with each feature, as opposed to a raster data model, which associates attributes with
grid cells.
Any quantity that has both magnitude and direction.
Vertex
One of a set of ordered x,y coordinate pairs that defines a line or polygon feature.
W
Wormhole
A database or object-modeling term used to show a relationship to a class using a small
colored oval to represent the class in a logical model diagram as opposed to representing
the class in it’s entirety. Is used in logical model diagrams for simplifying the drawing.
X
X,Y coordinates
A pair of values that represents the distance from an origin (0,0) along two axes, a
horizontal axis (x), and a vertical axis (y). On a map, x,y coordinates are used to represent
features at the location they are found on the earth's spherical surface.
X,Y event
See Also: coordinates, event, event layer, event table, x,y coordinates
A simple coordinate pair that describes the location of a feature, such as a set of latitude
and longitude degrees.
Z
Z-value
The value for a given surface location that represents an attribute other than position. In
an elevation or terrain model, the z-value represents elevation; in other kinds of surface
models, it represents the density or quantity of a particular attribute.