Australian Asset Design & As Constructed (ADAC) XML Feature Representation

ADAC v3

The ADAC XML reader recognizes the following ADAC v 3.0.1 asset structures:

  • Sewerage asset: Manhole, PipeNonPressure, PipePressure, Valve, Fitting, House_Connection.
  • Roads asset: Pavement, Parking, RoadEdge, RoadIsland, RoadPathway, PramRamp, RoadSubsoilDrain.
  • Water asset: Pipe, Valve, Hydrant, Meter, Fittings, Maintenance_Hole.
  • Stormwater asset: ManholePit, EndStructure, Pipe, SurfaceDrainage.
  • Cadastre asset: LandParcel.
  • OtherData asset: Object.

The feature type names for ADAC FME features closely resemble the naming for the ADAC v3 XML document. Feature type names are whitespace separated combinations of theme and asset structure names. For example, “Sewerage Valve”, “Water Valve”, “Stormwater Pipe”, and “Cadastre LandParcel”.

Attribute names also closely resemble their XML counterpart. The non-geometrical, non-repeating, and non-nested child elements, i.e., the simple type elements whose maxOccurs is 1, of an asset structure are mapped with their names unchanged. For example, the simple type child element <OutletType> of the <ManholePit> element is mapped as the “OutletType” attribute of the “Stormwater ManholePit” feature.

Non-geometrical nested child elements, i.e., the complex type elements, of an asset are mapped as whitespace separated combinations of child and descendant elements. For example, the <ChamberSize> complex type child element of the <ManholePit> element creates the following FME attributes in a “Stormwater ManholePit” feature: “ChamberSize Blankend”, “ChamberSize PS”, “ChamberSize Rectangular” and “ChamberSize Circular”.

Most non-geometrical child elements in an asset structure are non-repeating, these are mapped as simple, atomic FME attribute values. Repeating non-geometrical child elements, i.e., those with maxOccurs greater than 1 or unbounded, such as the <ComponentInfo> element, are mapped as CSV values.

The geometry for a feature is mapped from the various ADAC geometry elements. Some ADAC asset structures, such as the “RoadSubsoilDrain”, may have more than one geometry, these are mapped as aggregates. Two special FME geometry traits are assigned to the geometries to help identify their original ADAC role. The “adac_geometry” trait identifies the original ADAC XML geometry element, while the “adac_geometry_parent” trait identifies the geometry’s parent.

Data not explicitly defined in the ADAC schema is supported in the ADAC XML via the “OtherData” asset model. This <OtherData> asset model element can contain one or more <Layer> child elements, and each <Layer> can contain one or more <Object> elements. The FME ADAC reader maps these <Object>s into a single “Object” feature type.

All FME ADAC “Object” features carry a “LayerName” attribute which identifies its original <Layer> container in the XML document. An “Object” feature can be a point, line, area, text geometry, or an aggregate of these geometries.

An <Object> element may have zero or more <ComponentInfo> child elements. The information for the first <ComponentInfo> element, as with the other predefined ADAC structures which can have at most one <ComponentInfo>, is represented in the FME ADAC feature by the following attributes:

“ComponentInfo InfrastructureCode”,
“ComponentInfo Status”,
“ComponentInfo Notes”, and
“ComponentInfo Supporting_Info”.

All of the above except for the “ComponentInfo Status” attribute have CSV values. Multiple <ComponentInfo> elements in a single layer are represented in the FME ADAC feature as a structure list attribute, except for the list indexing the representation is similar to the above:

“ComponentInfo{0}.InfrastructureCode”,
“ComponentInfo{0}.Status”,
“ComponentInfo{0}.Notes”, and
“ComponentInfo{0}.Supporting_Info”.

“ComponentInfo{1}.InfrastructureCode”,
“ComponentInfo{1}.Status”,
“ComponentInfo{1}.Notes”, and
“ComponentInfo{1}.Supporting_Info”.

Note: The ComponentInfo list attribute with index 0 is identical to the non-indexed set of ComponentInfo attributes.

ADAC v4

The ADAC XML reader parses the ADAC v4.0.0, v4.1.0, or v4.2.0 schema to determine the asset structures available to be read.

In ADAC v4 the FME feature type names also closely resemble, as in V3, the ADAC v4 XML element asset names. ADAC FME feature type names are whitespace separated combinations of theme and asset names. For example, the <Pit> asset in the <Stormwater> theme is mapped as the FME “Stormwater Pit” feature type.

Note: The <Pits> element, the element representing the feature class of stormwater pits, i.e., the parent element enclosing the <Pit> elements, is not part of the FME feature type.

Most non-geometrical child elements in an asset structure are non-repeating, these are mapped as simple, atomic FME attribute values. These elements are mapped as FME attributes with their name unchanged. For example, the simple type child element <PitNumber> of the <Pit> element is mapped as the “PitNumber” attribute of the “Stormwater Pit” feature.

Repeating non-geometrical child elements, i.e., those with maxOccurs greater than 1 or unbounded, such as the <SupportingFile> element, is mapped as a list attribute. The <SupportingFile> element is part of the <ComponentInfo> element, which is an element defined as a complex type, hence <SupportingFile> is mapped in FME as a nested list attribute, “ComponentInfo.SupportingFiles.SupportingFile{}”.

Non-geometric nested child elements, i.e., the complex type elements, of an asset structure are mapped differently from v3, in ADAC v4 these complex property elements are mapped as FME nested list attributes. For example, the <ChamberSize> complex type child element of the <Pit> element creates the following FME nested list attributes in a “Stormwater Pit” feature:

“ChamberSize.Rectangular.Length_mm”
“ChamberSize.Rectangular.Width_mm”
“ChamberSize.Circular.Diameter_mm”
“ChamberSize.Extended.Radius_mm”
“ChamberSize.Extended.Extension_mm”

The geometry for a feature is mapped from the various ADAC <Geometry> elements. Unlike ADAC v3, the assets data structure for ADAC v4 do not have multiple geometries.

Geometry

Note: ADAC v4 assets have exactly one geometry. The following applies only to ADAC v3.

ADAC v3 asset structures with multiple geometry elements are mapped into FME geometry aggregates.

FME geometry traits are used to help identify the original ADAC role. Two special geometry traits are assigned: the “adac_geometry” trait identifies the original ADAC XML geometry element, while the “adac_geometry_parent” trait identifies the geometry’s parent. The values for these two traits are their respective ADAC XML element names.

The ADAC v3 <ManholePit> element has two descendant <Location> elements, one is an immediate child element, while the other grandchild element. In the above example, the “adac_geometry_parent” trait on the point geometries can be used to identify the geometry’s original role in the ADAC XML document, the first location refers to the <InletStructure> element, while the second refers to the <ManholePit> element.

Mapped rotated point geometries include an additional “Rotation” trait, illustrated by the log of the following “Water Valve” feature:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++         
Feature Type: Water Valve'                                                         
Attribute(encoded: utf-16): Construction Date' has value 2007-04-14'              
Attribute(encoded: utf-16): Drawing Number' has value B02166-C66'                 
Attribute(encoded: utf-16): Owner' has value Council'                             
Attribute(encoded: utf-16): Project Name' has value ' 
Attribute(encoded: utf-16): Size_mm' has value 150'                               
Attribute(encoded: utf-16): Type' has value Gate'                                 
Attribute(encoded: utf-16): Use' has value Control'                               
Attribute(string)         : fme_geometry' has value fme_point'                    
Attribute(string)         : fme_type' has value fme_point'                        
Attribute(string)         : xml_type' has value xml_point'                        
Coordinate System: '                                                               
Geometry Type: IFMEPoint                                                            
Number of Geometry Traits: 3                                                        
GeometryTrait(encoded: utf-16): Rotation' has value 83.496'                       
GeometryTrait(encoded: utf-16): adac_geometry' has value Location'                
GeometryTrait(encoded: utf-16): adac_geometry_parent' has value Valve'            
Coordinate Dimension: 3                                                             
(529952.79399999999,6942138.1310000001,0)                                           
========================================================================         

The geometry for ADAC v3 and v4 features may be identified by the xml_type attribute. The valid values for this attribute are:

xml_type

Description

xml_no_geom

FME Feature with no geometry.

xml_point

Point geometry.

xml_line

Linear geometry.

xml_area

Simple polygon geometry

xml_text

Annotation geometry

xml_aggregate

An aggregate of the above geometries.