APDM 6.0 ArcGIS Pipeline Data Model Peter Veenstra APDM 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-Model155824/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 inline 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 The ArcGIS Pipeline Data Model (APDM v6.0) APDMObject GlobalID EventID (pk) PipelineID TagID [Object] Abstract & Metadata Classes [Object] OBJECTID ActivityHierarchy LineLoopHierarchy SubSystemHierarchy [ObjectArchive] Catalog View Object OBJECTID APDM_GeoDatabase [Feature] Transmission (FeatureDataset) Shape Activity Bend ReferenceMode RefMode <d> RefModeMeasureRootName RefModeBasis <d> RedModeType <d> RefModeUnits <d> IsPRM <d> ParentRefMode (fk) RefModeRootName APDMFeature 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. CreatedBy CreatedDate EffectiveFromDate EffectiveToDate HistoricalState <d> LastModified ModifiedBy OriginEventID ProcessFlag Remarks Metadata OBJECTID GlobalID EventID (pk) PipelineID TagID ClassMetaData ClassEventID (pk) ClassName ClassType <d> RequiresGeometry AllowGap <d> AllowOverlap <d> ArchivingActivated ServerName SchemaOwner OnlineLocationClass RelationshipMetaData OriginClassEventID (fk) OnlineLocationClassEventID (fk) OnlineLocationMechanism <d> OriginClassName (fk) <d> OriginClassEventID OriginPrimaryKey OriginForeignKey OriginLabel DestinationClassName (fk) <d> DestinationClassEventID DestinationPrimaryKey DestinationForeignKey DestinationLabel RelationshipCardinality <d> RelationshipModeStatus <d> FeatureArchive CreatedBy CreatedDate EffectiveFromDate EffectiveToDate HistoricalState <d> LastModified ModifiedBy OriginEventID ProcessFlag Remarks 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. DomainList DomainMetaData DomainName DomainValue DomainDescription ValueOrder DomainClass DomainName DomainGroup OriginClassName <d> AttributeName ClassName <d> DomainName ActivityCrossRef Branch ActivityDocumentCrossRef CPRectifier ActivityHierarchy CPRectifierLocation ActivityMetaData Coating Company Contact ConditionOrAnomaly Crossing ControlPoint StationSeries CrossingEasement DocumentCrossRef CrossingFeature ExternalDocument CrossingLocation Lineloop FacilityPoint LineloopHierarchy Inspection Site JoinMethod SiteContact LineOperationalUse Subsystem OfflineMarker OutsideArea OwnerOperator PipeSegment Pressure ProductRange RegulatorySegment RepairFeature CenterlineObject NonFacilityObject OperationalStatus <d> Status <d> LineLoop SubSystem Site FacilityObject InServiceDate InstallationDate OperationalStatus <d> SiteEventID (fk) Activity Company ExternalDocument OwnerOperator SiteContact OnlineEvent CLEditResponse <d> CLValidityTolerance <d> EventOffset LineLoopEventID (fk) RouteEventID (fk) SiteLayout SiteLocation SitePoint StationSeries CenterlinePolyline LineLoop BeginMeasure EndMeasure BeginStation EndStation OperationalStatus <d> ValveOperator Site OnlineFacilityEvent AuditObject ActivityCrossRef ActivityExtension ActivityEventID (fk) ActivityEventID (fk) ActivityDate InServiceDate InstallationDate OperationalStatus <d> SiteEventID (fk) OnlinePointFacilityEvent Measure SeriesEventID Station Point_X Point_Y Point_Z SymbolRotation Activity OnlinePointEvent Measure SeriesEventID Station Poiint_X Point_Y Point_Z Status <d> SymbolRotation Site OnlinePolylineEvent BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation Status <d> StationSeries CenterlinePolylineEvent RouteEventID (fk) BeginSeriesEventID EndSeriesEventID CLEditResponse <d> CLValidityTolerance <d> CenterlinePoint CLControl <d> CLStationEditResponse <d> CLXYEditResponse <d> CLZEditResponse <d> OperationalStatus <d> MeasureValue Point_X Point_Y Point_Z RouteEventID (fk) SeriesEventID (fk) StationValue SymbolRotation OfflineFeature OfflineFacility Status <d> InServiceDate InstallationDate OperationalStatus <d> <OnlineFeatureClass> OnlinePointForOfflineFeatureEvent OffsetAngle OffsetDistance StationLocated <d> FittingEvent SitePolygon CLEditResponse <d> CLValidityTolerance <d> RouteEventID (fk) StationSeries StationSeries Structure Valve <Online<FC> ForOfflineClass> OfflinePoint OfflinePointFacility Point_X Point_Y Point_Z SymbolRotation SiteEventID (fk) Point_X Point_Y Point_Z SymbolRotation SitePolygon SiteLayout CPRectifier OnlinePolyline OfflineNonPointFacility SiteEventID (fk) OfflineMarker ControlPoint OnlinePoint LineLoop BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation Status <d> LineOperationalUse RegulatorySegment Inspection OwnerOperator ProductRange StationSeries LineLoop OnlineFacility Measure SeriesEventID Station Status <d> SymbolRotation Poiint_X Point_Y Point_Z StationSeries <OnlineFeatureClass> Site SubSystemRange OnlinePolylineForOfflineFeatureEvent NOTE: The Catalog View does not show any relationship classes Only feature and object classes are shown. StructureLocation SubsystemRange CrossingFeature Structure OnlinePolylineFacilityEvent BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation OnlineFeature InServiceDate InstallationDate OperationalStatus <d> SiteEventID (fk) OnlinePointFacility OnlinePolylineForOfflineFeature OffsetAngle OffsetDistance StationLocated <d> BeginOffsetAngle BeginOffsetDistance EndOffsetAngle EndOffsetDistance StationLocated <d> OnlinePolylineFacility Bend RepairFeature JoinMethod SiteLocation Measure SeriesEventID Station Point_X Point_Y Point_Z SymbolRotation StructureLocation ConditionOrAnomaly OnlinePointForOfflineFeature BeginOffsetAngle BeginOffsetDistance EndOffsetAngle EndOffsetDistance StationLocated <d> Site BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation Casing Coating PipeSegment Sleeve StationSeries CrossingEasement LineLoop <OfflineFeatureClass> Fitting DateManufactured Grade <d> InletConnectionType <d> InletDiameter <d> InletWallThickness <d> Manufacturer <d> Material <d> PressureRating <d> <OfflineFeatureClass> FacilityPoint Valve Branch APDM Core Classes APDMObject DateManufactured Grade <d> InletConnectionType <d> InletDiameter <d> InletWallThickness <d> Manufacturer <d> Material <d> PressureRating <d> Additional Classes NonFacilityObject AuditObject Structures/Buildings/Identified Sites CenterlinePoint CenterlinePolyline CenterlineObject APDMObject ControlPoint StationSeries ControlPointAngle ControlPointType <d> PIDirection <d> LineLoopEventID (fk) ParentStationSeriesEventID (fk) FromStationSeriesEventID (fk) FromConnectionStationValue ToStationSeriesEventID (fk) ToConnectionStationValue RefMode <d> StationSeriesName SeriesOrder LineLoop ClassName (fk) <d> FeatureEventID Comments CommentBy CommentDate LineLoopHierarchy LineName LineFunction <d> LineJurisdiction <d> ParentLineLoopEventID (fk) ChildLineLoopEventID (fk) Foreign Line Crossings OfflineFeature OnlinePoint ActivityCrossRef OfflineFeature Offline Feature NonFacilityObject OnlinePointForOfflineFeature OfflinePoint OnlinePolylineEventForOfflineFeature ActivityHierarchy ParentActivityEventID (fk) ChildActivityEventID (fk) ActivityDocumentCrossRef ExternalDocumentEventID (fk) OutsideArea StructureLocation AreaName IdentifiedSite <d> StructureEventID (fk) StructureType <d> StructureEventID (fk) Activity ActivityDate ActivityDescription ActivityName ActivityType <d> ReferenceMode Bend ExternalDocument DocumentDescription DocumentType <d> FileName FilePath FileServer Hyperlink AltHyperlink CrossingFeature Structure CrossingLocation CrossingEventID (fk) Name IFHO <d> StructureName StructureType <d> Crossing Clearance CrossingEventID (fk) CrossingFeatureEventID (fk) EasementWidth CrossingEasement CrossingName AlternateName CrossingType <d> OfflineMarker CrossingEventID (fk) Name EasementWidth MarkerID MarkerType <d> MarkerNumber DocumentCrossRef ClassName (fk) <d> FeatureEventID FeatureAttributeName ExternalDocumentEventID (fk) ExternalDocumentReference Branch Coating CPRectifierLocation Generic Tables Operational and Regulatory Segments NonFacilityObject CrossingEasement ActivityExtension OnlinePolyline CrossingLocation Bend FacilityPoint Branch Inspection Company Company JoinMethod Contact CompanyAddress CompanyLabel CompanyName CompanyType <d> OperatorID Coating LineOperationalUse ControlPoint Pressure ConditionOrAnomaly OwnerOperator Name Email Mobile Phone UserID CPRectifier PipeSegment CPRectifierLocation ProductRange Activity Crossing RegulatorySegment CrossingEasement ActivityMetaData AcceptanceDate AFENumber CompanyName ContactEmail DateFinish DateStart JobNumber ProjectName ProjectNumber ReasonForSurvey SurveyNumber WONumber LineOperationalUse RegulatorySegment DesignCode HistoricLineName LineType <d> LineFunction <d> LineJurisdiction <d> OperatingArea Inspection DeterminationDate DeterminationMethod RegulatorySegmentType <d> OwnerOperator InspectionDate InspectionType <d> BaselineAssessment InspectionResult InspectionCompany (fk) InspectionBy (fk) ProductRange CompanyEventID (fk) OwnerPercentage OwnerType <d> Product <d> Company Contact RepairFeature CrossingFeature SubsystemRange CrossingLocation StructureLocation FacilityPoint Operational and Facility Point Features Valve Inspection CenterlineObject JoinMethod OnlinePointFacility Lineloop Fitting OnlinePointFacility OnlinePoint OfflinePointFacility OnlinePointForOfflineFeature LineOperationalUse OfflineMarker Site SiteName SiteType <d> SiteLocation Pressure ConnectionDescription <d> ConnectionType <d> SiteName OwnerOperator FacilityPoint RegulatorySegment RepairFeature Coating Valve FeatureLength FacilityPointType <d> InletDiameter <d> Insulated <d> OutletDiameter <d> PipeSegment ProductRange Bend Branch Closed <d> Critical <d> FeatureLength Insulated <d> RemoteControl <d> Specification <d> Site CPRectifier SiteLayout FacilityPoint SiteLocation JoinMethod SitePoint PipeSegment SitePolygon RepairFeature StationSeries SiteLayout Branch Branched <d> BranchDiameter <d> BranchType <d> Closed <d> FeatureLength InletDiameter <d> Insulated <d> OutletDiameter <d> Specification <d> Facility Segments Bend BendDirection <d> BendAngleHorizontal BendAngleVertical RepairFeature RepairDate RepairFeatureType <d> JoinMethod Insulated <d> JoinMethodType <d> CoatingType <d> CoatingMaterial <d> CoatingThickness <d> CoatingThicknessUOM <d> Subsystems ConditionOrAnomaly CPRectifier AnomalyDepth AnomalyLength AnomalyOrientation AnomalyWidth ConditionAnomalyType <d> InitialAssessment InitialAssessmentBy InitialAssessmentDate PercentDepth RectifierIdentifier RectifierType <d> CPRectifierLocation CPRectifierEventID (fk) NonFacilityObject Site Location Structure SitePoint SubSystem SitePolygon SubsystemRange Valve StructureLocation OnlinePolylineFacility CenterlinePolylineEvent CenterlineObject OnlinePointFacility OfflineNonPointFacility Contact SiteContact SiteEventID (fk) ContactEventID (fk) Valve PipeSegment NOTES: 05/09/2013 – Version 6.0 04/23/2010 - Version 5.0 04/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 Concrete Class RegularNormalField SomethingEventID (FK) MaybeEventID (FK) DomainField <d> Abstract Class RegularNormalField ... 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. Eventbased 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. ExternalDocument 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. Launcher Receiver Organization 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. Coating SegmentType <d> FacilityPointClassType <d> FacilityPointEventID (fk) DateManufactured DesignFactor DesignPressure <d> Grade <d> InstallLocation <d> LongitudinalWeldType <d> Manufacturer <d> Origin <d> PercentSMYS <d> SMYS <d> Specification <d> WallThickness <d> AppliedForRepair <d> CoatingType <d> CoatingMaterial <d> CoatingThickness <d> CoatingThicknessUOM <d> Internal <d> Origin <d> Pressure MAOP <d> MAOPEstablishedDate MOP <d> MOPEstablishedDate LatestTestPressure LatestTestPressureDate SubsystemRange SubsystemEventID (fk) SubSystem SitePoint SubsystemName SubSystemType <d> ParentSubsystemEventID (fk) SiteName SitePolygon SiteName SiteLayout SiteName Site Valve FacilityPoint ClassMetaData Part 1 4 of 10 MetaData Tables • ReferenceMode, ClassMetaData, OnlineLocationClass – remain the same • Add RelationshipMetaData, DomainList, DomainMetaData, DomainClass are new Metadata ReferenceMode RefMode <d> RefModeMeasureRootName RefModeBasis <d> RedModeType <d> RefModeUnits <d> IsPRM <d> ParentRefMode (fk) RefModeRootName Object OBJECTID ClassMetaData ClassEventID (pk) ClassName ClassType <d> RequiresGeometry AllowGap <d> AllowOverlap <d> ArchivingActivated ServerName SchemaOwner OnlineLocationClass RelationshipMetaData OriginClassEventID (fk) OnlineLocationClassEventID (fk) OnlineLocationMechanism <d> OriginClassName (fk) <d> OriginClassEventID OriginPrimaryKey OriginForeignKey OriginLabel DestinationClassName (fk) <d> DestinationClassEventID DestinationPrimaryKey DestinationForeignKey DestinationLabel RelationshipCardinality <d> RelationshipModeStatus <d> DomainList DomainName DomainValue DomainDescription ValueOrder DomainMetaData DomainName DomainGroup OriginClassName <d> DomainClass AttributeName ClassName <d> DomainName StationSeries Part 1 5 of 11 [Object] OBJECTID APDMObject Abstract Classes OnlineEvent CLEditResponse <d> CLValidityTolerance <d> EventOffset LineLoopEventID (fk) RouteEventID (fk) StationSeries LineLoop GlobalID EventID (pk) PipelineID TagID • APDMFeature and APDMObject • Event-based Abstract Classes – Tables not Feature Classes OnlineFacilityEvent [ObjectArchive] CreatedBy CreatedDate EffectiveFromDate EffectiveToDate HistoricalState <d> LastModified ModifiedBy OriginEventID ProcessFlag Remarks InServiceDate InstallationDate OperationalStatus <d> SiteEventID (fk) OnlinePointFacilityEvent Measure SeriesEventID Station Point_X Point_Y Point_Z SymbolRotation FittingEvent OnlinePointEvent Site Measure SeriesEventID Station Poiint_X Point_Y Point_Z Status <d> SymbolRotation OnlinePolylineEvent BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation Status <d> OnlinePolylineFacilityEvent BeginMeasure EndMeasure BeginSeriesEventID BeginStation EndSeriesEventID EndStation <OnlineFeatureClass> OnlinePointForOfflineFeatureEvent OffsetAngle OffsetDistance StationLocated <d> OnlinePolylineForOfflineFeatureEvent BeginOffsetAngle BeginOffsetDistance EndOffsetAngle EndOffsetDistance StationLocated <d> <OfflineFeatureClass> DateManufactured Grade <d> InletConnectionType <d> InletDiameter <d> InletWallThickness <d> Manufacturer <d> Material <d> PressureRating <d> 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-yourway. • 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 APDMObject NonFacilityObject AuditObject • 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 ActivityCrossRef ClassName (fk) <d> FeatureEventID Comments CommentBy CommentDate ActivityHierarchy ParentActivityEventID (fk) ChildActivityEventID (fk) ActivityDocumentCrossRef ExternalDocumentEventID (fk) Activity ActivityDate ActivityDescription ActivityName ActivityType <d> Bend Branch Company Coating ControlPoint ConditionOrAnomaly Etc... Part 1 9 of 11 NonFacilityObject AuditObject 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 ActivityDocumentCrossRef ExternalDocumentEventID (fk) Activity ExternalDocument ActivityDate ActivityDescription ActivityName ActivityType <d> DocumentDescription DocumentType <d> FileName FilePath FileServer Hyperlink AltHyperlink DocumentCrossRef ClassName (fk) <d> FeatureEventID FeatureAttributeName ExternalDocumentEventID (fk) ExternalDocumentReference Bend Branch Company Coating 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 PODS Data Model RDBMS Oracle or MS SQL Server PODS Relational GIS Data Spatial Enabled PODS Relational Part 4 3 of 12 APDM RDBMS PODS ESRI Spatial or APDM Oracle or MS SQL Server ArcSDE 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 Matrix Criteria/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 DMS Documents Data WMS Inspections Planning Routing Tracking Auditing Work Inspections Tracking Location Data Model LOCATION is everything! Engineering Project LifeCycle Design Installation Fabrication Life-of-Asset Records Conditions Anomalies Tracking Analysis Prediction Part 5 4 of 8 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 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 Part 5 6 of 8 ArcGIS Pro ArcMap A New Application for Desktop ArcGIS Pro Desktop Files DBMS Server Cloud • Improved User Experience • Very Fast • Combined 2D and 3D • Powerful Analysis • Multiple Layouts . . . Tightly Integrated with Web GIS Part 5 7 of 8 2014 Esri UC Technical Workshop Part 5 8 of 8 Thank you! Questions? tom.coolidge@esri.com – www.esri.com peter.veenstra@willbros.com – www.apdm.net https://www.linkedin.com/groups/APDM-ArcGIS-Pipeline-Data-Model-155824/about That’s all folks!