4.3.1.2. Route (FV)

Note

Route is identified as Fully Validated.

4.3.1.2.1. Example Route

{
  "pdef_id": "ae0df9c9-cf1a-4c51-99ae-ce8640fa4161",
  "pdef_type": "route",
  "meta_data": {},
  "additional_data": {},
  "life_phase": "design",
  "descr": "From PLET-1 to PLET-2",
  "kp_start_descr": "PLET-1",
  "kp_start_point": {
    "type": "Point",
    "coordinates": [
      2.35,
      48.85
    ],
    "crs": "EPSG:4326"
  },
  "kp_end_descr": "PLET-2",
  "kp_end_point": {
    "type": "Point",
    "coordinates": [
      802.35,
      448.85
    ],
    "crs": "EPSG:4326"
  },
  "easting_northing_linestring": {
    "type": "LineString",
    "coordinates": [
      [
        2.35,
        48.85
      ],
      [
        202.35,
        248.85
      ],
      [
        602.35,
        484.85
      ],
      [
        802.35,
        484.85
      ]
    ],
    "crs": "EPSG:4326"
  },
  "bathymetry_multipoint": {
    "type": "MultiPoint",
    "coordinates": [
      [
        2.35,
        48.85,
        -1750.0
      ],
      [
        202.35,
        248.85,
        -1720.0
      ],
      [
        602.35,
        484.85,
        -1700.0
      ],
      [
        802.35,
        484.85,
        -1700.0
      ]
    ],
    "crs": "EPSG:4326"
  },
  "intersection_point_radius": [
    [
      {
        "type": "Point",
        "coordinates": [
          402.35,
          484.85
        ],
        "crs": "EPSG:4326"
      },
      {
        "val": 800.0,
        "unit": "m"
      }
    ]
  ],
  "flow_direction": true,
  "length": {
    "val": 895.0,
    "unit": "m"
  }
}

The figure shows the route defined in this example

_images/route_example.jpg

4.3.1.2.2. Schema Route

pdef.model.route.Route

Parameters defining the Pipeline (FV) route, including location of start and end points, length, Kilometer Post (KP) 0 conventions and the like.

Show JSON schema
{
   "title": "Route",
   "description": "Parameters defining the :ref:`Pipeline` route, including location of start and end points, length, Kilometer Post (KP) 0 conventions and the like.",
   "type": "object",
   "properties": {
      "pdef_id": {
         "title": "PDEF id",
         "description": ":ref:`pdef_id` is the unique identifier for the object.",
         "example": "14474720-db23-453a-b9c0-6a9fc9b03ef3",
         "type": "string"
      },
      "pdef_type": {
         "title": "Pdef Type",
         "const": "route",
         "type": "string"
      },
      "meta_data": {
         "title": "Metadata",
         "description": "Optional user free structured :ref:`Metadata` object.",
         "example": "{'created':'2021-09-03'}",
         "allOf": [
            {
               "$ref": "#/definitions/MetaData"
            }
         ]
      },
      "additional_data": {
         "title": "Additional Data",
         "description": "Optional user free structured :ref:`Additional Data` object.",
         "example": "{'color':'grey'}",
         "allOf": [
            {
               "$ref": "#/definitions/AdditionalData"
            }
         ]
      },
      "life_phase": {
         "title": "Name",
         "description": "The pipeline life phase to which this route is related.",
         "enum": [
            "design",
            "installation",
            "as-built",
            "inspection"
         ],
         "type": "string"
      },
      "descr": {
         "title": "Description",
         "description": "Descriptive text for the route.",
         "maxLength": 1000,
         "type": "string"
      },
      "kp_start_descr": {
         "title": "KP Start Description",
         "description": "Short description of location selected as pipeline starting point and KP 0.",
         "maxLength": 256,
         "example": [
            "spool/pipeline tie-in point on as-built drawing XXX rev. 1"
         ],
         "type": "string"
      },
      "kp_start_point": {
         "title": "Location of Starting Point (KP 0)",
         "description": "GeoJSON :ref:`Point` for localizing kp_start.",
         "allOf": [
            {
               "$ref": "#/definitions/Point"
            }
         ]
      },
      "kp_end_descr": {
         "title": "KP End Description",
         "description": "Short description of location selected as pipeline endpoint.",
         "maxLength": 1000,
         "example": [
            "spool/pipeline tie-in point on as-built drawing XXX rev. 1"
         ],
         "type": "string"
      },
      "kp_end_point": {
         "title": "Location of End Point (KP end)",
         "description": "GeoJSON Point for localizing kp_end.",
         "allOf": [
            {
               "$ref": "#/definitions/Point"
            }
         ]
      },
      "easting_northing_linestring": {
         "title": "Easting, Northing coordinates",
         "description": "GeoJSON :ref:`LineString` of easting and northing coordinates.",
         "allOf": [
            {
               "$ref": "#/definitions/LineString"
            }
         ]
      },
      "bathymetry_multipoint": {
         "title": "Bathymetry profile ",
         "description": "GeoJSON :ref:`MultiPoint` of bathymetry - water depth -.",
         "allOf": [
            {
               "$ref": "#/definitions/MultiPoint"
            }
         ]
      },
      "intersection_point_radius": {
         "title": "Intersection point with curve radius",
         "description": "Array of GeoJSON :ref:`Point` of intersection points and associated curve radius.",
         "type": "array",
         "items": {
            "type": "array",
            "items": [
               {
                  "$ref": "#/definitions/Point"
               },
               {
                  "$ref": "#/definitions/Length"
               }
            ]
         }
      },
      "flow_direction": {
         "title": "Direction convention for the conveyed fluid flow versus the KP.",
         "description": "`True` if the direction of the flow follows the KP, `False` otherwise.",
         "default": true,
         "type": "boolean"
      },
      "length": {
         "title": "Route Length",
         "description": "The projected route length.",
         "example": {
            "val": 12.568,
            "unit": "km"
         },
         "allOf": [
            {
               "$ref": "#/definitions/Length"
            }
         ]
      }
   },
   "additionalProperties": false,
   "definitions": {
      "MetaData": {
         "title": "MetaData",
         "description": "Optional base JSON-fragment used to report meta data. User free structure.",
         "type": "object",
         "properties": {}
      },
      "AdditionalData": {
         "title": "AdditionalData",
         "description": "Optional base JSON-fragment used to report additional user specific data. User free structure.",
         "type": "object",
         "properties": {}
      },
      "Point": {
         "title": "Point",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "Point",
               "enum": [
                  "Point",
                  "LineString",
                  "Polygon",
                  "MultiPoint",
                  "MultiLineString",
                  "MultiPolygon"
               ],
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "description": "Single position. A position is an array of 2 or 3 floats (long, lat, el), see GeoJSON documentation.",
               "examples": [
                  2.3393476009368896,
                  48.857771121284145
               ],
               "anyOf": [
                  {
                     "type": "array",
                     "items": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ]
                  },
                  {
                     "type": "array",
                     "items": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        },
                        {
                           "type": "number"
                        }
                     ]
                  }
               ]
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "LineString": {
         "title": "LineString",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "LineString",
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "minItems": 2,
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     }
                  ]
               }
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "MultiPoint": {
         "title": "MultiPoint",
         "description": "Base model for all geo-referenced objects.",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "const": "MultiPoint",
               "type": "string"
            },
            "coordinates": {
               "title": "Coordinates",
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     {
                        "type": "array",
                        "items": [
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     }
                  ]
               }
            },
            "crs": {
               "title": "Coordinate Reference System",
               "description": "Geodesic reference system used for the coordinate. PDEF recommend the use of EPSG code.",
               "examples": "EPSG:4326",
               "type": "string"
            }
         },
         "required": [
            "coordinates",
            "crs"
         ]
      },
      "Length": {
         "title": "Length",
         "description": ":ref:`Measure` of a length, distance, thickness, diameter, etc",
         "type": "object",
         "properties": {
            "val": {
               "title": "Value",
               "description": "The value taken by the Measure.",
               "examples": [
                  1.0,
                  -25.1,
                  1000000.0
               ],
               "type": "number"
            },
            "unit": {
               "title": "unit of measure",
               "description": "Unit of measure.",
               "enum": [
                  "km",
                  "hm",
                  "dam",
                  "m",
                  "dm",
                  "cm",
                  "mm",
                  "microm",
                  "ft",
                  "in"
               ],
               "type": "string"
            }
         },
         "required": [
            "val",
            "unit"
         ],
         "additionalProperties": false
      }
   }
}

Config
  • extra: str = forbid

bathymetry_multipoint: Optional[pdef.model.geo_ref.MultiPoint] = PydanticUndefined

GeoJSON MultiPoint of bathymetry - water depth -.

descr: Optional[str] = PydanticUndefined

Descriptive text for the route.

Constraints and examples:
  • maxLength = 1000

easting_northing_linestring: Optional[pdef.model.geo_ref.LineString] = PydanticUndefined

GeoJSON LineString of easting and northing coordinates.

flow_direction: bool = True

True if the direction of the flow follows the KP, False otherwise.

intersection_point_radius: Optional[List[Tuple[pdef.model.geo_ref.Point, pdef.model.measure.Length]]] = PydanticUndefined

Array of GeoJSON Point of intersection points and associated curve radius.

kp_end_descr: Optional[str] = PydanticUndefined

Short description of location selected as pipeline endpoint.

Constraints and examples:
  • maxLength = 1000

  • example = [‘spool/pipeline tie-in point on as-built drawing XXX rev. 1’]

kp_end_point: Optional[pdef.model.geo_ref.Point] = PydanticUndefined

GeoJSON Point for localizing kp_end.

kp_start_descr: Optional[str] = PydanticUndefined

Short description of location selected as pipeline starting point and KP 0.

Constraints and examples:
  • maxLength = 256

  • example = [‘spool/pipeline tie-in point on as-built drawing XXX rev. 1’]

kp_start_point: Optional[pdef.model.geo_ref.Point] = PydanticUndefined

GeoJSON Point for localizing kp_start.

length: Optional[pdef.model.measure.Length] = PydanticUndefined

The projected route length.

Constraints and examples:
  • example = {‘val’: 12.568, ‘unit’: ‘km’}

life_phase: Optional[Literal[design, installation, as-built, inspection]] = PydanticUndefined

The pipeline life phase to which this route is related.

pdef_type: str = 'route'
Constraints and examples:
  • const = route

4.3.1.2.3. List Route

Route Variables

Variable

Type

Description

pdef_id

<class ‘str’>

pdef_id is the unique identifier for the object.

pdef_type

<class ‘str’>

meta_data

<class ‘pdef.model.metadata.MetaData’>

Optional user free structured MetaData object.

additional_data

<class ‘pdef.model.additional_data.AdditionalData’>

Optional user free structured Additional Data object.

life_phase

typing.Literal[‘design’, ‘installation’, ‘as-built’, ‘inspection’]

The pipeline life phase to which this route is related.

descr

<class ‘pdef.model.route.ConstrainedStrValue’>

Descriptive text for the route.

kp_start_descr

<class ‘pdef.model.route.ConstrainedStrValue’>

Short description of location selected as pipeline starting point and KP 0.

kp_start_point

<class ‘pdef.model.geo_ref.Point’>

GeoJSON Point for localizing kp_start.

kp_end_descr

<class ‘pdef.model.route.ConstrainedStrValue’>

Short description of location selected as pipeline endpoint.

kp_end_point

<class ‘pdef.model.geo_ref.Point’>

GeoJSON Point for localizing kp_end.

easting_northing_linestring

<class ‘pdef.model.geo_ref.LineString’>

GeoJSON LineString of easting and northing coordinates.

bathymetry_multipoint

<class ‘pdef.model.geo_ref.MultiPoint’>

GeoJSON MultiPoint of bathymetry - water depth -.

intersection_point_radius

typing.Tuple[pdef.model.geo_ref.Point, pdef.model.measure.Length]

Array of GeoJSON Point of intersection points and associated curve radius.

flow_direction

<class ‘bool’>

True if the direction of the flow follows the KP, False otherwise.

length

<class ‘pdef.model.measure.Length’>

The projected route length.