APDM 6.0ArcGIS Pipeline Data Model
Peter VeenstraAPDM Standing Committee
Abstract• The purpose of this workshop is to review the final release of the ArcGIS
Pipeline Data Model (APDM) version 6.0. • Changes include;
– simplification of the data model structure, – a focus on supporting gathering systems – full support for both geometric/feature-based and event-table based
implementation of the model. • An overview of the resources available for the APDM 6.0 implementation will
be provided including a preview of the latest APDM.net website. • An overview of how the model has been implemented in Sparx System
Enterprise Architect UML Modeling software will be provided. • Lastly, the current state of data models and best practices available to
pipeline operators and GIS practitioners will be outlined as an aid to helping pipeline operators understand the options available for managing pipeline data within a GIS.
Introductions• APDM Standing Committee Co-Chairs
– Tom Coolidge – ESRI Pipeline Industry Manager– Peter Veenstra – Willbros Engineering
• APDM Standing Committee– Justin Anderson – Enbridge Houston– Jeff Allen – Coler and Colantonio– Patrick Baes – Global Information Systems– Ron Brush – New Century Software– Eric James – Colonial Pipeline– John Linehan – JP Kenny– Tracy Thorleifson – Eagle Information Management– 1 open position
• www.apdm.net• www.esri.com/industries/pipeline/community/datamodel• https://www.linkedin.com/groups/APDM-ArcGIS-Pipeline-Data-Model-155824/about
Overview
• Part 1 - Changes in APDM 6.0 • Part 2 - ArcGIS Pipeline Data Model (APDM) • Part 3 – APDM 6.0 in Enterprise Architect• Part 4 - State of Data Models
– ArcGIS Pipeline Data Model (APDM)– PODS Relational– PODS ESRI Spatial
• Part 5 - Thoughts on Pipeline Data Models
Part 1 - Changes in APDM
• Why do we do this?• High level changes (Change Log)(Logical)(Physical)
– Metadata Tables– Corrections– New Abstract Classes (more refined)– Relationship to LineLoop for ‘online’ features– Less ‘example’ classes– Activity and Document CrossRef– Better Site Location Tables– EventOffset Attribute
Part 1 1 of 11
Changes in APDM 6.0
• APDM is a Template – it has always been a starting point from which more comprehensive data models can be developed
• Contrary to popular belief APDM was never intended to be a ‘be-all-end-all’ repository of pipeline data
• It has always been a design specification for how pipeline data is created, edited, and how that data responds to alterations/modifications to the pipeline centerline
• Optional classes have been reduced to keep the model in-line with being template
• Changes to the core have been additive rather than deleting, merging, splitting classes and elements
Part 1 2 of 11
APDM 6.0 – Why change?
• Represents changes to the core elements of the data model
• Maintain compatibility with changes in core ESRI technology – guiding principle
• Stay in sync with PODS ESRI Spatial Data Model• Get in-step with ESRI message towards data models
and GIS as a service– location, services, data exchange, integration– simpler template to start with– helps smaller operators and gathering companies
Part 1 3 of 11
Part 1 4 of 10
The ArcGIS Pipeline Data Model (APDM v6.0)
CenterlineObject
ControlPointAngleControlPointType <d>PIDirection <d>
ControlPoint
LineLoopEventID (fk)ParentStationSeriesEventID (fk)FromStationSeriesEventID (fk)FromConnectionStationValueToStationSeriesEventID (fk)ToConnectionStationValueRefMode <d>StationSeriesNameSeriesOrder
StationSeries
LineNameLineFunction <d>LineJurisdiction <d>
LineLoop
ParentLineLoopEventID (fk)ChildLineLoopEventID (fk)
LineLoopHierarchy
CenterlinePoint CenterlinePolyline
SiteNameSiteType <d>
Site
CenterlineObject
Bend
Branch
ReferenceMode
APDMObject
Coating
CPRectifierLocation
CrossingEasement
CrossingLocation
FacilityPoint
Inspection
JoinMethod
LineOperationalUse
Pressure
OwnerOperator
PipeSegment
ProductRange
RegulatorySegment
RepairFeature
SubsystemRange
StructureLocation
Valve
ConnectionDescription <d>ConnectionType <d>SiteName
SiteLocation
OnlinePointFacility
Bend
Branch
Coating
CPRectifier
FacilityPoint
JoinMethod
PipeSegment
RepairFeature
SitePoint
SitePolygon
Valve
SiteLayout
ParentActivityEventID (fk)ChildActivityEventID (fk)
ActivityHierarchy
APDMObject
ActivityDateActivityDescriptionActivityNameActivityType <d>
Activity
NonFacilityObject
DocumentDescriptionDocumentType <d>FileNameFilePathFileServerHyperlinkAltHyperlink
ExternalDocument
ExternalDocumentEventID (fk)
ActivityDocumentCrossRef
AuditObject
ClassName (fk) <d>FeatureEventIDCommentsCommentByCommentDate
ActivityCrossRef
ClassName (fk) <d>FeatureEventIDFeatureAttributeNameExternalDocumentEventID (fk)ExternalDocumentReference
DocumentCrossRef
Bend
Branch
Coating
CPRectifierLocation
CrossingEasement
CrossingLocation
FacilityPoint
Inspection
JoinMethod
LineOperationalUse
Pressure
OwnerOperator
PipeSegment
ProductRange
RegulatorySegment
RepairFeature
SubsystemRange
StructureLocation
Valve
Company
ControlPoint
ConditionOrAnomaly
CPRectifier
Crossing
CrossingFeature
Lineloop
OfflineMarker
Site
SiteLayout
SitePoint
SitePolygon
SiteLocation
StationSeries
Structure
SubSystem
APDM Core Classes Additional Classes
Structures/Buildings/Identified SitesOnlinePoint OfflineFeature
StructureEventID (fk)
StructureLocationAreaNameIdentifiedSite <d>StructureEventID (fk)StructureType <d>
OutsideArea
IFHO <d>StructureNameStructureType <d>
Structure
Foreign Line CrossingsOfflineFeature OnlinePointForOfflineFeature
CrossingEventID (fk)Name
CrossingFeature
ClearanceCrossingEventID (fk)CrossingFeatureEventID (fk)EasementWidth
CrossingLocation
CrossingNameAlternateNameCrossingType <d>
Crossing
NonFacilityObject OnlinePolylineEventForOfflineFeature
CrossingEventID (fk)NameEasementWidth
CrossingEasement
Offline FeatureOfflinePoint
MarkerIDMarkerType <d>MarkerNumber
OfflineMarker
Generic TablesNonFacilityObject
CompanyAddressCompanyLabelCompanyNameCompanyType <d>OperatorID
Company
NameEmailMobilePhoneUserID
Contact
AcceptanceDateAFENumberCompanyNameContactEmailDateFinishDateStartJobNumberProjectNameProjectNumberReasonForSurveySurveyNumberWONumber
ActivityMetaData
ActivityExtension
Activity
Operational and Regulatory SegmentsOnlinePolyline
DesignCodeHistoricLineNameLineType <d>LineFunction <d>LineJurisdiction <d>OperatingArea
LineOperationalUse
DeterminationDateDeterminationMethodRegulatorySegmentType <d>
RegulatorySegment
InspectionDateInspectionType <d>BaselineAssessmentInspectionResultInspectionCompany (fk)InspectionBy (fk)
Inspection
Company
CompanyEventID (fk)OwnerPercentageOwnerType <d>
OwnerOperator
Product <d>
ProductRange
Contact
Operational and Facility Point FeaturesFitting
FeatureLengthFacilityPointType <d>InletDiameter <d>Insulated <d>OutletDiameter <d>
FacilityPoint
Closed <d>Critical <d>FeatureLengthInsulated <d>RemoteControl <d>Specification <d>
Valve
Branched <d>BranchDiameter <d>BranchType <d>Closed <d>FeatureLengthInletDiameter <d>Insulated <d>OutletDiameter <d>Specification <d>
Branch
OnlinePointFacility
BendDirection <d>BendAngleHorizontalBendAngleVertical
Bend
RepairDateRepairFeatureType <d>
RepairFeature
Insulated <d>JoinMethodType <d>CoatingType <d>CoatingMaterial <d>CoatingThickness <d>CoatingThicknessUOM <d>
JoinMethod
OnlinePoint
AnomalyDepthAnomalyLengthAnomalyOrientationAnomalyWidthConditionAnomalyType <d>InitialAssessmentInitialAssessmentByInitialAssessmentDatePercentDepth
ConditionOrAnomaly
OfflinePointFacility
RectifierIdentifierRectifierType <d>
CPRectifier
OnlinePointForOfflineFeature
CPRectifierEventID (fk)
CPRectifierLocation
Facility SegmentsOnlinePolylineFacility
SegmentType <d>FacilityPointClassType <d>FacilityPointEventID (fk)DateManufacturedDesignFactorDesignPressure <d>Grade <d>InstallLocation <d>LongitudinalWeldType <d>Manufacturer <d>Origin <d>PercentSMYS <d>SMYS <d>Specification <d>WallThickness <d>
PipeSegment
AppliedForRepair <d>CoatingType <d>CoatingMaterial <d>CoatingThickness <d>CoatingThicknessUOM <d>Internal <d>Origin <d>
Coating
MAOP <d>MAOPEstablishedDateMOP <d>MOPEstablishedDateLatestTestPressureLatestTestPressureDate
Pressure
ClassMetaData
FacilityPoint
Valve
CenterlinePolylineEvent
SubsystemEventID (fk)
SubsystemRange
SubsystemNameSubSystemType <d>ParentSubsystemEventID (fk)
SubSystem
SubsystemsCenterlineObject OnlinePointFacility
SiteName
SitePoint
SiteName
SitePolygon
OfflineNonPointFacility
Site Location
SiteName
SiteLayout
Site
NonFacilityObject
SiteEventID (fk)ContactEventID (fk)
SiteContactContact
NOTES:05/09/2013 – Version 6.004/23/2010 - Version 5.004/01/2006 - Version 4.0 10/05/2004 - Version 3.0
APDM Model is maintained by APDM Technical Committee on behalf of the ESRI and the ESRI Pipeline Interest Group (PIG).
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Environmental Systems Research Institute, Inc. All Rights Reserved.
EventID EventID is an arbitrary name assigned to a globally unique identifier. The use of ‘Event’ in EventID attribute name DOES NOT denote that features identified by this attribute are ‘events’ created via linear referencing. EventID could be replaced by FeatureID, GeoElementID, or GeoEntityID.
The classes depicted in this model are assumed to be feature classes and are depicted as such rather than as ‘events’ or ‘event tables’. APDM supports both – feature classes and events.
Version 6.0
Key
RegularNormalFieldSomethingEventID (FK)MaybeEventID (FK)DomainField <d>
Abstract Class
ExternalDocument
RegularNormalField ...
Concrete Class A concrete class represents a object table or a feature class. Object tables and feature classes stores rows of data containing attributes & features and attributes respectively.· Each field or attribute in the class stores data of a specific type.· (FK) Indicates the field is a foreign-key (fk) containing values found only in the
primary key (pk) of concrete class.· <d> Indicates that the valid values for the field are proscribed by the range of
values contained in a domain
An abstract class contains a set of attributes and possibly relationships that are inherited by every concrete subclass beneath the abstract class in the inheritance tree. Event-based abstract classes are ‘Orange’. The icons (point, table, line) indicate if the abstract class can be inherited from and the type of geometry that the concrete class will inherit.
Lines that indicate relationships between concrete classes. The single line connector indicates a cardinality of ‘one’ whereas the ‘Crow’s Foot’ connector indicates a cardinality of ‘many’. Cardinality defines a rule indicating how many rows in a concrete class can participate in a single instance of a specified relationship.
Wormholes represent a relationship between two concrete classes which is not specified diagrammatically by a line connecting the two classes. A pink wormhole indicates a proper primary key (pk) - foreign key (fk) relationship.
Generalization - Inheritance - A inheritance relationships between a super-class and a subclass in which the subclass inherits all of the properties of the super-class. Super-classes represent general behaviors and properties which are inherited by subclasses which, in turn, add more specific and complex behaviors to those already inherited.
LauncherReceiver
A subtype that further classifies a concrete classes into meaningful sub-divisions without creating additional classes. Allows for additional behavior for each subtype beyond the standard behavior for features in a particular class. Is particularly useful for assigning different domains to attributes, applying different splitting/merging rules, applying different symbology in a map environment, choosing different network connectivity rules per subtype and allowing for different editing behaviors within the GIS environment.
Organizational label used to sort concrete classes into meaningful operational categories.Organization
BeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStationStatus <d>
BeginOffsetAngleBeginOffsetDistanceEndOffsetAngleEndOffsetDistanceStationLocated <d>
OnlinePolylineForOfflineFeatureEvent
Abstract & Metadata Classes
OperationalStatus <d>
ActivityHierarchyLineLoopHierarchySubSystemHierarchy
ActivityCompanyExternalDocumentOwnerOperatorSiteContact
LineLoopSubSystemSite
Shape
CreatedByCreatedDateEffectiveFromDateEffectiveToDateHistoricalState <d>LastModifiedModifiedByOriginEventIDProcessFlagRemarks
OBJECTID
BeginMeasureEndMeasureBeginStationEndStationOperationalStatus <d>
CenterlinePolyline
RouteEventID (fk)BeginSeriesEventIDEndSeriesEventIDCLEditResponse <d>CLValidityTolerance <d>
CenterlinePolylineEvent
StationSeries
SubSystemRange
CLControl <d>CLStationEditResponse <d>CLXYEditResponse <d>CLZEditResponse <d>OperationalStatus <d>MeasureValuePoint_XPoint_YPoint_ZRouteEventID (fk)SeriesEventID (fk)StationValueSymbolRotation
CenterlinePoint
CLEditResponse <d>CLValidityTolerance <d>RouteEventID (fk)
OnlineFeature
Status <d>
OfflineFeature
CrossingFeatureStructure
InServiceDateInstallationDateOperationalStatus <d>
OfflineFacility
SiteEventID (fk)Point_XPoint_YPoint_ZSymbolRotation
OfflinePointFacility
Point_XPoint_YPoint_ZSymbolRotation
OfflinePoint
InServiceDateInstallationDateOperationalStatus <d>SiteEventID (fk)
OnlineFacility
MeasureSeriesEventIDStationPoint_XPoint_YPoint_ZSymbolRotation
OnlinePointFacilityBendRepairFeatureJoinMethodSiteLocation
DateManufacturedGrade <d>InletConnectionType <d>InletDiameter <d>InletWallThickness <d>Manufacturer <d>Material <d>PressureRating <d>
Fitting
FacilityPointValve
Branch
BeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStation
OnlinePolylineFacilityLineOperationalUseRegulatorySegmentInspectionOwnerOperatorProductRange
MeasureSeriesEventIDStationStatus <d>SymbolRotationPoiint_XPoint_YPoint_Z
OnlinePoint
StructureLocationConditionOrAnomaly
OffsetAngleOffsetDistanceStationLocated <d>
OnlinePointForOfflineFeature
StationSeries
StationSeries
Site
<OfflineFeatureClass>
ActivityEventID (fk)ActivityDate
AuditObject
Activity
ActivityCrossRef
RefMode <d>RefModeMeasureRootNameRefModeBasis <d>RedModeType <d>RefModeUnits <d>IsPRM <d>ParentRefMode (fk)RefModeRootName
ReferenceMode
ClassEventID (pk)ClassNameClassType <d>RequiresGeometryAllowGap <d>AllowOverlap <d>ArchivingActivatedServerNameSchemaOwner
ClassMetaData
Metadata
SiteEventID (fk)
OfflineNonPointFacility
Site
StationSeries
GlobalIDEventID (pk)PipelineIDTagID
OBJECTID
CreatedByCreatedDateEffectiveFromDateEffectiveToDateHistoricalState <d>LastModifiedModifiedByOriginEventIDProcessFlagRemarks
Status <d>
NonFacilityObject
OfflineMarker
SitePolygonSiteLayout
CasingCoating
PipeSegmentSleeve
CrossingEasement
This section describes the ‘APDM Abstract Classes’ and ‘APDM Metadata’ tables. This diagram shows the inheritance of attributes and relationships from the top-most classes down to the lower classes. Inheritance means that a concrete feature or object class inherits the attributes, relationships and potential geometry types from all the classes above it (following the lines and the arrow heads pointing upwards). All classes are shown with ‘light yellow’ header boxes with the exception of the ‘Audit’ classes which are shown in ‘light green’. Standard ESRI classes are shown with ‘white’ attribute boxes and ‘APDM Abstract Classes’ are shown with ‘light blue’ attribute boxes. The ‘gray’ boxes show feature and object classes that inherit directly from the specified parent ‘APDM Class’. [Square Brackets] around the title of a class means that no concrete feature/object class can inherit directly from this class. Note that for a class to belong to APDM it must inherit from one of the specified ‘APDM Abstract Classes’ otherwise it is considered to be only an ESRI class with no significance or relevance to the APDM. The feature class and object class icons denote which geometry type concrete ‘child’ classes may implement.
The metadata classes represent a set of object classes that are used to hold information about the reference modes, information about each concrete class inheriting from an ‘APDM Abstract Class’ and information about which ‘offline’ APDM classes have related ‘online’ polyline or ‘online’ point classes.
<OnlineFeatureClass>
InServiceDateInstallationDateOperationalStatus <d>SiteEventID (fk)
FacilityObject
ValveOperator
Site
<Online<FC>ForOfflineClass>
ControlPoint
ActivityEventID (fk)
ActivityExtensionBeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStationStatus <d>
OnlinePolyline
BeginOffsetAngleBeginOffsetDistanceEndOffsetAngleEndOffsetDistanceStationLocated <d>
OnlinePolylineForOfflineFeature
OriginClassEventID (fk)OnlineLocationClassEventID (fk)OnlineLocationMechanism <d>
OnlineLocationClass
OBJECTID
Object
[Object]
APDMObject
[Object]
[Feature]
FeatureArchive
[ObjectArchive]
CenterlineObject
StationSeries
StationSeries
CLEditResponse <d>CLValidityTolerance <d>EventOffsetLineLoopEventID (fk)RouteEventID (fk)
OnlineEvent
StationSeries
LineLoop
InServiceDateInstallationDateOperationalStatus <d>SiteEventID (fk)
OnlineFacilityEventSite
MeasureSeriesEventIDStationPoint_XPoint_YPoint_ZSymbolRotation
OnlinePointFacilityEvent
DateManufacturedGrade <d>InletConnectionType <d>InletDiameter <d>InletWallThickness <d>Manufacturer <d>Material <d>PressureRating <d>
FittingEvent
BeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStation
OnlinePolylineFacilityEvent
MeasureSeriesEventIDStationPoiint_XPoint_YPoint_ZStatus <d>SymbolRotation
OnlinePointEvent
OffsetAngleOffsetDistanceStationLocated <d>
OnlinePointForOfflineFeatureEvent
<OfflineFeatureClass>
<OnlineFeatureClass>
OnlinePolylineEvent
GlobalIDEventID (pk)PipelineIDTagID
APDMFeature
LineLoop
LineLoop
LineLoop
CPRectifier
OriginClassName (fk) <d>OriginClassEventIDOriginPrimaryKeyOriginForeignKeyOriginLabelDestinationClassName (fk) <d>DestinationClassEventIDDestinationPrimaryKeyDestinationForeignKeyDestinationLabelRelationshipCardinality <d>RelationshipModeStatus <d>
RelationshipMetaData
DomainNameDomainValueDomainDescriptionValueOrder
DomainList
DomainNameDomainGroupOriginClassName <d>
DomainMetaData
AttributeNameClassName <d>DomainName
DomainClass
Catalog View
NOTE: The Catalog View does not show any relationship classes Only feature and object classes are shown.
APDM_GeoDatabase
Transmission (FeatureDataset)
CPRectifier
Bend
Branch
CPRectifierLocation
Coating
ConditionOrAnomaly
ControlPoint
CrossingEasement
CrossingFeature
CrossingLocation
FacilityPoint
Inspection
JoinMethod
LineOperationalUse
OfflineMarker
OutsideArea
OwnerOperator
PipeSegment
Pressure
ProductRange
RegulatorySegment
RepairFeature
SiteLayout
SiteLocation
SitePoint
SitePolygon
StationSeries
Structure
StructureLocation
SubsystemRange
Valve
Activity
ActivityCrossRef
ActivityDocumentCrossRef
ActivityHierarchy
ActivityMetaData
Company
Contact
Crossing
DocumentCrossRef
ExternalDocument
Lineloop
LineloopHierarchy
Site
SiteContact
Subsystem
MetaData Tables
• ReferenceMode, ClassMetaData, OnlineLocationClass – remain the same
• Add RelationshipMetaData, DomainList, DomainMetaData, DomainClass are new
Part 1 5 of 11
RefMode <d>RefModeMeasureRootNameRefModeBasis <d>RedModeType <d>RefModeUnits <d>IsPRM <d>ParentRefMode (fk)RefModeRootName
ReferenceMode
ClassEventID (pk)ClassNameClassType <d>RequiresGeometryAllowGap <d>AllowOverlap <d>ArchivingActivatedServerNameSchemaOwner
ClassMetaData
Metadata
StationSeries
OriginClassEventID (fk)OnlineLocationClassEventID (fk)OnlineLocationMechanism <d>
OnlineLocationClass
OBJECTID
Object
OriginClassName (fk) <d>OriginClassEventIDOriginPrimaryKeyOriginForeignKeyOriginLabelDestinationClassName (fk) <d>DestinationClassEventIDDestinationPrimaryKeyDestinationForeignKeyDestinationLabelRelationshipCardinality <d>RelationshipModeStatus <d>
RelationshipMetaData
DomainNameDomainValueDomainDescriptionValueOrder
DomainList
DomainNameDomainGroupOriginClassName <d>
DomainMetaData
AttributeNameClassName <d>DomainName
DomainClass
• APDMFeature and APDMObject• Event-based Abstract Classes – Tables not
Feature Classes
Abstract ClassesGlobalIDEventID (pk)PipelineIDTagID
OBJECTID
CreatedByCreatedDateEffectiveFromDateEffectiveToDateHistoricalState <d>LastModifiedModifiedByOriginEventIDProcessFlagRemarks
[Object]
APDMObject
[ObjectArchive] BeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStationStatus <d>
BeginOffsetAngleBeginOffsetDistanceEndOffsetAngleEndOffsetDistanceStationLocated <d>
OnlinePolylineForOfflineFeatureEvent
CLEditResponse <d>CLValidityTolerance <d>EventOffsetLineLoopEventID (fk)RouteEventID (fk)
OnlineEvent
StationSeries
LineLoop
InServiceDateInstallationDateOperationalStatus <d>SiteEventID (fk)
OnlineFacilityEventSite
MeasureSeriesEventIDStationPoint_XPoint_YPoint_ZSymbolRotation
OnlinePointFacilityEvent
DateManufacturedGrade <d>InletConnectionType <d>InletDiameter <d>InletWallThickness <d>Manufacturer <d>Material <d>PressureRating <d>
FittingEvent
BeginMeasureEndMeasureBeginSeriesEventIDBeginStationEndSeriesEventIDEndStation
OnlinePolylineFacilityEvent
MeasureSeriesEventIDStationPoiint_XPoint_YPoint_ZStatus <d>SymbolRotation
OnlinePointEvent
OffsetAngleOffsetDistanceStationLocated <d>
OnlinePointForOfflineFeatureEvent
<OfflineFeatureClass>
<OnlineFeatureClass>
OnlinePolylineEvent
Part 1 6 of 11
Relate to Lineloop
• Direct relationship from online features to LineLoop• Designed to support feature-based gathering
systems with no underlying stationing – have pipes related directly to a ‘lineloop’ grouping
• Keeps hierarchy without need for stationing• If you have geometric features representing your
pipes and not stationing then you can place these features, relate them to a line and be on-your-way.
• Can implement Geometric-Networks OOTB
Part 1 7 of 11
Less Example Classes
• APDM is really a ‘design standard’• Meets the minimum requirements for handling
transmission and also gathering systems• Cleaner starting point• Less documentation to maintain• It can always be grown• Simpler and more technology focused• Example classes are still available in version 4.0
and 5.0 documentation via www.apdm.net
Part 1 8 of 11
Activity CrossRef
• Why do (did) we have audit tables?• Remove all audit tables from database• Each feature class and table relates to
ActivityCrossRef• Intersection or M-N table between Activity and rest of
database• Less tables, less relationship classes,• Single source for tying/grouping/querying what are
stored in separate tables or were implicitly joined by geographic location
ParentActivityEventID (fk)ChildActivityEventID (fk)
ActivityHierarchy
APDMObject
ActivityDateActivityDescriptionActivityNameActivityType <d>
Activity
NonFacilityObject
ExternalDocumentEventID (fk)
ActivityDocumentCrossRef
AuditObject
ClassName (fk) <d>FeatureEventIDCommentsCommentByCommentDate
ActivityCrossRef
Bend
Branch
Coating
Company
ControlPoint
ConditionOrAnomaly
Etc...
Part 1 9 of 11
Document CrossRef
• Same construct as activities• Remove all M-N relationships between
ExternalDocument and audit tables from database• Each feature class and table relates to
DocumentCrossRef• Less tables, less relationship classes,• Single source for tying/grouping/querying what
are stored in separate tables or were implicitly joined by document
ActivityDateActivityDescriptionActivityNameActivityType <d>
Activity
NonFacilityObject
DocumentDescriptionDocumentType <d>FileNameFilePathFileServerHyperlinkAltHyperlink
ExternalDocument
ExternalDocumentEventID (fk)
ActivityDocumentCrossRef
AuditObject
ClassName (fk) <d>FeatureEventIDFeatureAttributeNameExternalDocumentEventID (fk)ExternalDocumentReference
DocumentCrossRef
Bend
Branch
Coating
Company
ControlPoint
ConditionOrAnomaly
Etc ...
Part 1 10 of 11
Site Location/EventOffset
• Added SitePoint, SiteLayout and SitePolygon Tables
• Added EventOffset field for all online event types– Allows OOTB ArcMap ‘Add Route Event’ tool to
add events but offset from pipeline centerline– Useful for showing results of inspections over time
or multiple inspections
Part 1 11 of 11
Part II - APDM
• ArcGIS Pipeline Data Model• Built for ESRI Geodatabase
– Leverage ESR• Useful starting place• Describes in detail how pipeline data respond to
centerline edits, location placement, and how editing can be performed on them
• Standing Committee of 10 operators and vendors• Meet at PUG, GITA O&G and ESRI UC• Website – www.apdm.net and www.esri.com
Part 2 1 of 1
Part III - APDM and Case Tools
• Visio and UML and APDM• Alternative in Enterprise Architect Software (
www.sparxsystems.com)– Is a Case Tool– Is ESRI Business Partner– Is ESRI’s preferred choice– Uses XML Workspace Import to build schema – not additive
(need XML schema diff)– Scripts
• for validation, • for organization• to import an existing Visio and XML Workspace into EA
Part 3 1 of 2
Part III – APDM 6.0 in Enterprise Architect
• Base Functionality - toolbar, diagrams, packages, hyperlinks, documentation
• Import from Visio UML and from ArcGIS XML WorkspaceOrganization of Model
• Validation of output XML Workspace before import into ArcCatalog
• Modularization• Base Line (Documentation, Delta)• Multiple Inheritance (Abstract Class Hierarchy)• Script and Query Engine
Part 3 2 of 2
Part IV – State of Pipeline Data Models
• ArcGIS Pipeline Data Model• PODS Relational• PODS ESRI Spatial• Others (GDI, PODS Open Spatial)
APDM and PODS Committee members talk and discuss and collaborate often. Each model serves a purpose and has a place in the industry.It is not a competition!!!
Part 4 1 of 12
The Players• PODS (Pipeline Open Data Standard)
– Relational database model. – Tabular and spatial data are managed as two systems. – SQL driven. – Requires GIS software although by design GIS agnostic, but optimized for ESRI. – Standards organization. Active User Community.
• APDM (ArcGIS Pipeline Data Model)– ESRI Geodatabase model. – Tabular and spatial data are managed by one system. – Geodatabase provides built in versioning (long transactions), replication, archiving. – Requires ESRI ArcGIS software. Works with desktop, server, web and mobile software
OOTB.– Template Model (build as needed). Quasi-active user community.
• PODS ESRI Spatial (Geodatabase version of PODS Relational – optimized for Geodatabase)
Part 4 2 of 12
Oracle or MS SQL Server
RDBMS
PODS Data Model
PODS Relational GIS Data
Spatial EnabledPODS Relational
Part 4 3 of 12
Oracle or MS SQL Server
RDBMS
ArcSDE
PODS ESRI Spatial or APDM
APDM
Part 4 4 of 12
To decide on a model, ask some questions
• What GIS are you using?• Is your organization standards driven?• Focused on the Model or focused on the
business?• How do you implement your centerline and/or
pipeline hierarchy?• Do you have any GIS software in place?• What are your business processes?
Part 4 5 of 12
What GIS are you using?
• If using ESRI technologies then choice might be weighted toward a Geodatabase type model …– PODS ESRI Spatial– ArcGIS Pipeline Data Model
• If not particular about GIS software then choice might be …– PODS Relational– PODS Open Spatial– Geodatabase-type model
Part 4 6 of 12
Organization Standards Driven
• If business unit is standards-driven then choice would lean towards PODS ….– PODS Relational– PODS ESRI Spatial
• If business unit demands flexibility and agility over standards OR do not want weight of the 320+ PODS tables then lean towards …– APDM– Modified PODS ESRI Spatial
Part 4 7 of 12
Data Model or Business Focus
• If the choice of a data model drives the business then choose …– PODS Relational– PODS ESRI Spatial– APDM
• If the need for the data model is driven by the business … (Integrity Management, Operations, Engineering)– APDM– Modified PODS ESRI Spatial
Part 4 8 of 12
Centerline Hierarchy
• If the pipeline is modeled by line-route-series and requires continuous measure and engineering stationing then choose …– PODS Relational– PODS ESRI Spatial
• If the pipeline is modeled by only one ‘reference’ mode or no reference mode then choose …– APDM
Part 4 9 of 12
Software
• If the company has specific software for PODS relational or has a team of excellent SQL developers or excellent DBA support then choose …– PODS Relational
• If the company requires OOTB tools to work with GIS software or as a part of GIS software then choose …– APDM– PODS ESRI Spatial
Part 4 10 of 12
What are your business processes?
• GIS is the system of record for location
Part 4 11 of 12
Decision MatrixCriteria/Data Model
PODS Relational PODS ESRI Spatial ArcGIS Pipeline Data Model
Geographic Information System (ESRI?)
SQL Only. Requires integration w/ GIS.
Yes Yes
Require Standard Yes (Standard out of the box)
Yes (Standard out of the box)
No (Template Model – Framework)
Data Model driven by Business
Maybe (Is a standard, can be modified in additive fashion)
Maybe (Is a standard, can be modified in additive fashion)
Yes (Customizable – requires work but provides flexibility)
Business driven by Data Model
Yes (Data model requires specific workflows to implement and support.)
Yes (Data model requires specific workflows to implement and support.)
No (Template. Data model is created to suit business)
Require measure and stationing
Yes Yes No (Does not require but can support both)
Only one measurement system
No No Yes
Customized Software Required
Sort of … No No
Part 4 12 of 12
Part V – Data Models
• Who needs them?• How should we use them?• Is it time to re-think how they are used?
Part 5 1 of 8
The need for data models
• Why do we have them?• Why has so much energy been put to them?• Relational databases are great for OTP• What are noSQL databases bringing to the table?• How do exchange mechanisms affect us?
– JSON, GeoJSON, XML• How can we incorporate the use of Tags?• Is everything going to become coordinate-driven?• Distributed Services• Information Exchange Standards
Part 5 2 of 8
Choosing a Data Model
• The business drives the model, not the other way around.
• Systems are going to be connected• ESRI platform is focusing in the cloud• ArcGIS Online is about services and the
consumption of them• GIS is the system of record for location and the
hub that brings in all the other systems
Part 5 3 of 8
Part 5 4 of 8
DMSDocuments
Data
WMSWork
InspectionsTracking
ConditionsAnomalies
TrackingAnalysis
Prediction
EngineeringProject LifeCycleDesignInstallationFabricationLife-of-Asset Records
InspectionsPlanningRoutingTrackingAuditing
Location Data Model
LOCATION is everything!
APDM – last bits and next steps …
• Publish the web site to APDM.NET• Finish the core document • Watch and see what ESRI is going to do next
Part 5 5 of 8
APDM Committee Volunteers and Contributors Through the Years
Part 5 6 of 8
Jeff Allen, Justin Anderson, Doug Asay, John Alsup, Patrick Baes, Rob Brook, Ron Brush, Brian Boulmay, Lynn Crouse, Chris Elmer, Dave Frye, Tom Gilmour, Ken Greer, Benny Guo, Scott Hills, Luke Hutmacher, Eric James, Janette Jenson, Mike Kallas, Mike King, Theo Lawrence, John Linehan, Maggie Mabrey, Tom Marcotte, Greg McCool, Rob McElroy, Bill Meehan, Carl Meinke, Todd Murphy, Mary Muse, Buddy Nagel, David Nemeth, Ted Peay, Lane Powell, Jeff Puuri, Debra Rohrer, Andrew Saje, Cindy Salas, Rex Shrunk, Colby Smith, Jay Smith, John Spangler, Fred Spickler, Tracy Thorleifson, Peter Veenstra, Troy Walda, Mark Warner, Pamela West, Ed Wiegele, Craig Wilder, Danika Yeager, Chad Zamarin, Andrew Zolnai
Cloud
A New Applicationfor DesktopProAr
cGIS
• Improved User Experience
• Very Fast
• Combined 2D and 3D
• Powerful Analysis
• Multiple Layouts. . . Tightly Integrated with Web GIS
ArcGIS Pro
Desktop
ArcMap
Desktop
Files DBMS Server
Part 5 7 of 8
2014 Esri UC Technical Workshop
Part 5 8 of 8
Thank you!
Questions?
[email protected] – [email protected] – www.apdm.net
https://www.linkedin.com/groups/APDM-ArcGIS-Pipeline-Data-Model-155824/about
That’s all folks!