Extract Power Lines From Point Cloud (3D Analyst)

Summary

Extracts 3D line features modeling power lines from classified point cloud data.

Illustration

Extract Power Lines From Point Cloud tool illustration

Usage

  • This tool models each segment of a power line between two suspension points as individual line features. Points that belong to the same span are fitted to a catenary curve to determine the resulting line. The input point cloud must have the points representing the power lines classified with a unique class code value that excludes points representing other objects. The best results will be obtained with power line points that are regularly sampled at a distance that is at least half the length of the distance that separates the nearest cables.

  • A span of bundled conductor cables, in which two or more conductor cables are affixed to each other, are best modeled as one line feature by specifying a point tolerance that approximates the radius of the bundled cables.

  • Wind correction can be applied to either simulate the power lines in a resting state when no wind is acting on them or create power lines that achieve a better fit for points modified by the wind. Eliminating the impact of wind can provide a better representation of the power lines for applications such as evaluating vegetation clearance. When an improved wind correction is performed, it will result in the power lines achieving a better fit to the source points. However, this fit will only adjust for power lines that are shifted in one direction, so power lines reflecting galloping vibrations may not achieve an optimal fit. Consider increasing the point tolerance if a desirable result is not produced for such power lines.

  • The output line features will contain the following attributes:

    • CLASS_CODE—The class code value associated with the power line.
    • CURVE_LEN—The length of the catenary curve being modeled by the line. This value will differ from the 3D length of the line feature based on the value of the Output Line Tolerance parameter in which a smaller value will result in a more accurate depiction of the catenary curve than a larger value.
    • SAG_DIST_0—The horizontal distance from the first vertex of the line to the position of maximal sag.
    • SAG_DIST_1—The horizontal distance from the last vertex of the line to the position of maximal sag.
    • SAG—The maximum vertical drop of the power line from the straight three-dimensional line connecting its end points.
    • WIND_ANGLE—The maximum angle of deviation caused by the wind from the resting state of the power line. A value of -1 is returned if no wind correction was attempted due to the distance specified in the Minimum Span for Wind Correction parameter.

Parameters

LabelExplanationData Type
Input Point Cloud

The LAS dataset layer containing points classified as power lines.

LAS Dataset Layer
Power Line Class Codes

The class code values for the points representing the power lines.

Long
Output 3D Lines

The 3D lines modeling the power lines.

Feature Class
Point Tolerance
(Optional)

The distance used to establish the points that belong to a given power line. The default is 80 centimeters.

Linear Unit
Wire Separation Distance
(Optional)

The distance apart points must be to determine if they belong to different power lines. The default is 1 meter.

Linear Unit
Maximum Wire Sampling Gap
(Optional)

The largest gap that can exist in a given span of a power line. The catenary curve being modeled from a set of power line points will be extended by this distance to find other points that fit the same power line. The default is 5 meters.

Linear Unit
Output Line Tolerance
(Optional)

The distance that will be used to establish the accuracy of the output power line. A larger distance will result in the creation of less vertices per line, yielding a more coarse representation of the power line when compared with a smaller distance. The default is 1 centimeter.

Linear Unit
Adjust for wind distortion
(Optional)

Specifies whether the output power lines will be adjusted for the influence of wind. When wind correction is applied, it can be used to either improve the fitting of wind modified points or model the resting state of the power lines when no wind is acting on them. The type of wind correction is specified using the Eliminate wind parameter.

  • Checked—The power lines will be adjusted for the influence of the wind. This is the default.
  • Unchecked—An attempt will be made to fit the points without additional adjustments for the wind.
Boolean
Minimum Span for Wind Correction
(Optional)

The shortest distance a power line span can be to apply wind correction when generating the output power line. The default is 60 meters.

Linear Unit
Maximum Deviation Angle
(Optional)

The maximum angle that the wind is expected to deviate a given power line. The default is 10 degrees.

Double
End Point Search Radius
(Optional)

The distance that will be used to identify a common suspension point for power line segments connected to the same distribution pole or transmission tower. The default is 10 meters.

Linear Unit
Minimum Wire Length
(Optional)

The shortest wire length that can be used to determine the presence of a common end point. The default is 5 meters.

Linear Unit
Eliminate wind
(Optional)

Specifies how wind correction will be applied to the output power lines. Wind correction will only be applied for catenary curves that span a distance longer than the value specified in the Minimum Span for Wind Correction parameter.

  • Checked—The power lines will be adjusted to simulate the elimination of the impact of wind.
  • Unchecked—The power lines will be adjusted to achieve a better fit for the impact of wind. This is the default.
Boolean
Minimum Power Line Length
(Optional)

The minimum 3D length of the output wires. Lines that have a length shorter than the value specified for this parameter will be omitted from the output.

Linear Unit

arcpy.ddd.ExtractPowerLinesFromPointCloud(in_point_cloud, class_codes, out_3d_lines, {point_tolerance}, {separation_distance}, {max_sampling_gap}, {line_tolerance}, {wind_correction}, {min_wind_span}, {max_wind_deviation}, {end_point_search_radius}, {min_length}, {eliminate_wind}, {min_line_length})
NameExplanationData Type
in_point_cloud

The LAS dataset layer containing points classified as power lines.

LAS Dataset Layer
class_codes
[class_codes,...]

The class code values for the points representing the power lines.

Long
out_3d_lines

The 3D lines modeling the power lines.

Feature Class
point_tolerance
(Optional)

The distance used to establish the points that belong to a given power line. The default is 80 centimeters.

Linear Unit
separation_distance
(Optional)

The distance apart points must be to determine if they belong to different power lines. The default is 1 meter.

Linear Unit
max_sampling_gap
(Optional)

The largest gap that can exist in a given span of a power line. The catenary curve being modeled from a set of power line points will be extended by this distance to find other points that fit the same power line. The default is 5 meters.

Linear Unit
line_tolerance
(Optional)

The distance that will be used to establish the accuracy of the output power line. A larger distance will result in the creation of less vertices per line, yielding a more coarse representation of the power line when compared with a smaller distance. The default is 1 centimeter.

Linear Unit
wind_correction
(Optional)

Specifies whether the output power lines will be adjusted for the influence of wind. When wind correction is applied, it can be used to either improve the fitting of wind modified points or model the resting state of the power lines when no wind is acting on them. The type of wind correction is specified using the eliminate_wind parameter.

  • WINDThe power lines will be adjusted for the influence of the wind. This is the default.
  • NO_WINDAn attempt will be made to fit the points without additional adjustments for the wind.
Boolean
min_wind_span
(Optional)

The shortest distance a power line span can be to apply wind correction when generating the output power line. The default is 60 meters.

Linear Unit
max_wind_deviation
(Optional)

The maximum angle that the wind is expected to deviate a given power line. The default is 10 degrees.

Double
end_point_search_radius
(Optional)

The distance that will be used to identify a common suspension point for power line segments connected to the same distribution pole or transmission tower. The default is 10 meters.

Linear Unit
min_length
(Optional)

The shortest wire length that can be used to determine the presence of a common end point. The default is 5 meters.

Linear Unit
eliminate_wind
(Optional)

Specifies how wind correction will be applied to the output power lines. Wind correction will only be applied for catenary curves that span a distance longer than the value specified in the min_wind_span parameter.

  • ELIMINATE_WINDThe power lines will be adjusted to simulate the elimination of the impact of wind.
  • KEEP_WINDThe power lines will be adjusted to achieve a better fit for the impact of wind. This is the default.
Boolean
min_line_length
(Optional)

The minimum 3D length of the output wires. Lines that have a length shorter than the value specified for this parameter will be omitted from the output.

Linear Unit

Code sample

ExtractPowerLinesFromPointCloud example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.


arcpy.env.workspace = "c:/data"
arcpy.ddd.ExtractPowerLinesFromPointCloud("Electrical_Assets.lasd", 14, 
                                          "Power_Lines.shp", "80 Centimeters")

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst

Related topics