Generate Pipeline CCTV Features (Utility Solutions)

Summary

Imports CCTV inspections data in multiple formats and creates spatial data for surveyed sewer mains.

Usage

  • The specified CCTV schema versions selected must match the input tables to produce accurate results. If the input schema deviates from the standard, use the custom schema for best results.

Parameters

LabelExplanationData Type
Pipe Feature Class

The feature class for sewer pipes.

Feature Layer
Pipe ID Field (PK)

Uniquely identifies each pipe segment. This field corresponds with the InspectionID field in the inspections table.

Field
CCTV Database Schema

The CCTV schema version.

String
File Geodatabase Location

The location where the results are saved.

Folder
File GDB Name

The name of the file geodatabase. The output generates a new geodatabase with a unique name if a database with the current name already exists.

String
Inspections Table

The name of the inspections table. This table must contain records.

Table View
Inspections ID Field (PK)

Uniquely identifies each inspection.

Field
Pipe ID Field (FK)

The ID of the sewer pipe that was inspected (corresponds with the field specified in the Pipe ID Field (PK) parameter) or the ID of the row in the pipeline table (corresponds with the field specified in the Pipeline Pipe ID Field parameter) for the ITpipes schema.

Field
Trace Direction Field

Identifies the direction (upstream or downstream) of where the inspection began. This field corresponds with the line direction in a utility's pipe dataset. The supported values are Upstream, U, Downstream, and D.

Field
Total Length Surveyed

Identifies the total length surveyed for the inspection. This field is used to trim a utility's pipe dataset in the final output.

Field
Conditions Table

The name of the conditions table. This table must contain records.

Table View
Conditions ID Field (PK)

Uniquely identifies each condition corresponding to a particular inspection.

Field
Inspections ID Field (FK)

Identifies the inspection associated with the condition.

Field
Distance Field

The total distance from the start of the inspection to where the condition was logged.

Field
Field

Identifies if the condition is the start or end of a continuos defect. The supported values are S# and E# and the defect requires two rows (S# and E#).

Field
Media Inspections Table

The name of the media inspections table.

Table View
Inspections ID Field (FK)

The inspection associated with the media.

Field
Media Conditions Table

The name of the media conditions table.

Table View
Conditions ID Field (FK)

Identifies the condition associated with the media.

Field
Pipeline Table
(Optional)

The name of the pipeline inspection table, only required and supported if ITpipes schema is selected.

Table View
Pipeline ID Field (PK)
(Optional)

Uniquely identifies each pipeline in the schema, only required and supported if ITpipes schema is selected.

Field
Pipeline Pipe ID Field
(Optional)

The ID of the sewer pipe that was inspected (corresponds with the field specified in the Pipe ID Field (PK) parameter), only required and supported if ITpipes schema is selected.

Field
Media Table
(Optional)

The name of the media table, only required and supported if ITpipes schema is selected.

Table View
Media Table ID
(Optional)

Uniquely identifies each inspection, only required and supported if ITpipes schema is selected.

Field
Image Reference Field
(Optional)

Identifies the name of the image or video for the condition or inspection.

Field
Inspections Media Video Name
(Optional)

Identifies the name of the video for the inspection, required if ITpipes schema is not selected.

Field
Inspections Media ID Field
(Optional)

Identifies which particular media is associated with this media inspection, only required and supported if ITpipes schema is selected.

Field
Image Reference Field
(Optional)

The name of the media on disk.

Field
Conditions Media ID Field

Identifies which particular media is associated with this media condition, only required and supported if ITpipes schema is selected.

Field
Shape Length Field
(Optional)

The length field used for calculations. If left blank, the geometry will be used to calculate length.

Field
Inspection Name
(Optional)

The inspection name to store on the resulting features.

String
Video URL
(Optional)

Optional URLs for CCTV inspection videos.

String
Media Folder
(Optional)

An optional folder where images will be loaded as attachments. The root folder can contain sub-folders of images and does not require all images to be stored within one single folder.

Workspace
Load Videos as Attachments
(Optional)

ENABLED - Tool will scan the Media Folder for video files named in the Media Inspections table. Video files will be loaded as attachments to the output TelevisedMains feature class. A Media Folder input is required when this is enabled.

DISABLED - Tool will not load Videos as attachments.

Boolean

arcpy.utilsolutions.GenerateCCTVPipeFeatures(pipe, pipe_id, schema, out_folder_path, out_name, inspections, inspections_pk, inspections_fk, inspections_direction, inspections_survey_length, conditions, conditions_pk, conditions_fk, conditions_distance, conditions_continuous, media_inspections, media_inspections_fk, media_conditions, media_conditions_fk, {pipeline}, {pipline_pk}, {pipeline_pipe_id}, {media}, {media_id}, {media_image}, {media_inspections_video_name}, {media_inspections_media_id}, {media_conditions_image}, media_conditions_media_id, {shape_length}, {cctv_id}, {video_path}, {media_folder}, {video_attach})
NameExplanationData Type
pipe

The feature class for sewer pipes.

Feature Layer
pipe_id

Uniquely identifies each pipe segment. This field corresponds with the InspectionID field in the inspections table.

Field
schema

The CCTV schema version.

String
out_folder_path

The location where the results are saved.

Folder
out_name

The name of the file geodatabase. The output generates a new geodatabase with a unique name if a database with the current name already exists.

String
inspections

The name of the inspections table. This table must contain records.

Table View
inspections_pk

Uniquely identifies each inspection.

Field
inspections_fk

The ID of the sewer pipe that was inspected (corresponds with the field specified in the Pipe ID Field (PK) parameter) or the ID of the row in the pipeline table (corresponds with the field specified in the Pipeline Pipe ID Field parameter) for the ITpipes schema.

Field
inspections_direction

Identifies the direction (upstream or downstream) of where the inspection began. This field corresponds with the line direction in a utility's pipe dataset. The supported values are Upstream, U, Downstream, and D.

Field
inspections_survey_length

Identifies the total length surveyed for the inspection. This field is used to trim a utility's pipe dataset in the final output.

Field
conditions

The name of the conditions table. This table must contain records.

Table View
conditions_pk

Uniquely identifies each condition corresponding to a particular inspection.

Field
conditions_fk

Identifies the inspection associated with the condition.

Field
conditions_distance

The total distance from the start of the inspection to where the condition was logged.

Field
conditions_continuous

Identifies if the condition is the start or end of a continuos defect. The supported values are S# and E# and the defect requires two rows (S# and E#).

Field
media_inspections

The name of the media inspections table.

Table View
media_inspections_fk

The inspection associated with the media.

Field
media_conditions

The name of the media conditions table.

Table View
media_conditions_fk

Identifies the condition associated with the media.

Field
pipeline
(Optional)

The name of the pipeline inspection table, only required and supported if ITpipes schema is selected.

Table View
pipline_pk
(Optional)

Uniquely identifies each pipeline in the schema, only required and supported if ITpipes schema is selected.

Field
pipeline_pipe_id
(Optional)

The ID of the sewer pipe that was inspected (corresponds with the field specified in the Pipe ID Field (PK) parameter), only required and supported if ITpipes schema is selected.

Field
media
(Optional)

The name of the media table, only required and supported if ITpipes schema is selected.

Table View
media_id
(Optional)

Uniquely identifies each inspection, only required and supported if ITpipes schema is selected.

Field
media_image
(Optional)

Identifies the name of the image or video for the condition or inspection.

Field
media_inspections_video_name
(Optional)

Identifies the name of the video for the inspection, required if ITpipes schema is not selected.

Field
media_inspections_media_id
(Optional)

Identifies which particular media is associated with this media inspection, only required and supported if ITpipes schema is selected.

Field
media_conditions_image
(Optional)

The name of the media on disk.

Field
media_conditions_media_id

Identifies which particular media is associated with this media condition, only required and supported if ITpipes schema is selected.

Field
shape_length
(Optional)

The length field used for calculations. If left blank, the geometry will be used to calculate length.

Field
cctv_id
(Optional)

The inspection name to store on the resulting features.

String
video_path
(Optional)

Optional URLs for CCTV inspection videos.

String
media_folder
(Optional)

An optional folder where images will be loaded as attachments. The root folder can contain sub-folders of images and does not require all images to be stored within one single folder.

Workspace
video_attach
(Optional)

ENABLED - Tool will scan the Media Folder for video files named in the Media Inspections table. Video files will be loaded as attachments to the output TelevisedMains feature class. A Media Folder input is required when this is enabled.

DISABLED - Tool will not load Videos as attachments.

Boolean

Code sample

GenerateCCTVPipeFeatures example (stand-alone script)

Creates point and line features from CCTV data.

# Name: GenerateCCTVPipeFeatures.py
# Description: Creates point and line features from CCTV inspections.

# Import system modules
import arcpy

# CCTV tables are located here
arcpy.env.workspace = "D:/data/CCTV_tables.gdb"

# Pipes
pipes = "D:/data/SanitarySewerNetwork.gdb/SewerStormwater/ssGravityMain"
pipe_id = "FacilityID"

# Format and output
schema = "PACP v6.0.4"
out_folder_path = "D:/data"
out_name = "CCTVResults"

# Pipeline, only used for ITPipes schema
pipeline = None
pipeline_pk = None
pipeline_pipe_id = None

# Inspections
inspections = "Inspections"
inspections_pk = "InspectionID"
inspections_fk = "Pipe_Segment_Reference"
inspections_direction = "Direction"
inspections_survey_length = "Length_Surveyed"

# Conditions
conditions = "Conditions"
conditions_pk = "ConditionID"
conditions_fk = inspections_pk
conditions_distance = "Distance"
conditions_continuous = "Continuous"

# Media, only used for ITPipes schema
media = None
media_id = None
media_image = None

# Media Inspections
media_inspections = "MEDIA_INSPECTIONS"
media_inspections_fk = inspections_pk
media_inspections_video_name = "Video_Name"
# Only used for ITPipes
media_inspections_media_id = None

# Media Conditions
media_conditions = "MEDIA_CONDITIONS"
media_conditions_fk = conditions_pk
media_conditions_image = "Image_Reference"
# Only used for ITPipes
media_conditions_media_id = None

# Options
shape_length = 'MeasureLen'
cctv_id = 'March 5th inspections'
video_path = 'http://localhost/cctv'
media_folder = None
video_attach = False

arcpy.utilsol.GenerateCCTVPipeFeatures(pipe=pipes,
                                       pipe_id=pipe_id,
                                       schema=schema,
                                       out_folder_path=out_folder_path,
                                       out_name=out_name,
                                       inspections=inspections,
                                       inspections_pk=inspections_pk,
                                       inspections_fk=inspections_fk,
                                       inspections_direction=inspections_direction,
                                       inspections_survey_length=inspections_survey_length,
                                       conditions=conditions,
                                       conditions_pk=conditions_pk,
                                       conditions_fk=conditions_fk,
                                       conditions_distance=conditions_distance,
                                       conditions_continuous=conditions_continuous,
                                       media_inspections=media_inspections,
                                       media_inspections_fk=media_inspections_fk,
                                       media_conditions=media_conditions,
                                       media_conditions_fk=media_conditions_fk,
                                       pipeline=pipeline,
                                       pipeline_pk=pipeline_pk,
                                       pipeline_pipe_id=pipeline_pipe_id,
                                       media=media,
                                       media_id=media_id,
                                       media_image=media_image,
                                       media_inspections_video_name=media_inspections_video_name,
                                       media_inspections_media_id=media_inspections_media_id,
                                       media_conditions_image=media_conditions_image,
                                       media_conditions_media_id=media_conditions_media_id,
                                       shape_length=shape_length,
                                       cctv_id=cctv_id,
                                       video_path=video_path,
                                       media_folder=media_folder
                                       video_attach=video_attach)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes