Skip to main content

Construct 3D Lines from Point Values

Description

Linearly interpolates values along the lines and creates an output 3D line feature class. Values to interpolate are defined by values in the "Value Field" (field name is specified by the user) of the input point feature class. Values can represent any measure and do not have to be in any specific units (e.g. it can be temperature). If they represent the elevation, it is user's responsibility to ensure that the vertical units of values in the "Value Field" match the horizontal units (if that is of importance). Tool will not perform any unit adjustments.

While the value interpolation between points is always linear, specific coputation will depend on the number of points on each line and selected "Computation on Confluences" type. The tool is iterative in nature. It first processes all linear features that have points on them. If there is only one point on a line, the constant value associated with the point is applied to all vertices on the line. If there are two or more points on a line, their value is linearly interpolated based on distance between the points along the line. If the points do not fall on the line ends, the values for end pointss (junctions) will be extrapolated.

Once the lines with points are processed, all their line ends (junctions) will have interpolated values. This then becomes the starting value for those lines that did not have points on them. This process is continued until all lines have some values associated with them. Note that while this process will assign some value to all lines in the input, those values might be misleading due to the sparsity of the data and interpolation method. The best approach to avoid this is to have at least one, but preferably two or more points per line.

If optional raster is provided, the values at vertices along the lines are added AFTER the value interpolation is performed (this can result in a "wavey" 3D line depending on the underlying raster). If you do not want this behavior, assign the raster elevation to the points FIRST, then calculate the new value as a sum of the raster value and the original point value, and then interpolate using that updated value and do NOT provide the raster as input.

Computation on the junction is controlled by the "Computation on Junctions" parameter. If default "None" option is used, it is possible that the values at a junction for two lines joining at that junction will not be the same. Ant other option is used, value at a junction will be the same for all the lines meeting at that junction.

D:\Projects\Branches\10.6_Final\ArcHydroTools\srcPy\AHMain\Scripts\archydro\construct3dlinesfrompointvalues.py

Usage

Parameters

Parameter NameTypeDirectionData TypeDialog Reference
Input PointsRequiredInputFeature LayerPoints whose values will be interpolated along the lines. Must have the following fields:
  • FeatureID. Contains the HydroID of the underlying line feature along which to interpolate the value.
  • Any numeric field containing the value to interpolate.
  • Value FieldRequiredInputFieldAny numeric field in the input point feature class containing the values to interpolate along the lines.
    Input LinesRequiredInputFeature LayerLine feature class. Must have HydroID field. If From_Node and To_Node fields are present, they will be used to determine line connectivity. If not, they will be created based on line's digitized direction (using Generate From/To Node for Lines function).
    Input RasterOptionalInputRaster LayerOptional raster that provides the values to be added to the interpolated values at 2D line vertices.
    Output 3D LinesRequiredOutputFeature LayerOutput 3D feature class. Default name is [Input lines]_3D and placed in the same location where the input lines reside. 4 fields are added to the input line attributes:
  • FromZ = line's value at the from_node.
  • ToZ = line's value at the to_node.
  • FromWSE = total value at the from_node, FromWSE=FromZ+ raster value (if raster was used).
  • ToWSE = total value at the to_node, ToWSE = ToZ + raster value (if raster was used).
  • Note that HydroID field is NOT updated in the output feature class. If it is critical to maintain uniqueness of HydroIDs across the geodatabase, it is suggested to rename HydroID to FeatureID and recalculate HydroID.
    Compution on JunctionsOptionalInputStringValid entries:
  • None: no operation will be applied on the confluence points (junctions). This is the default. This option can generate interpolated values at confluences that will be offset (each line coming into a confluence will have the value at the confluence calculated independently).
  • Avg: average operation will be applied on the junctions.
  • Min: min operation will be applied on the junctions.
  • Max: Max operation will be applied at the junctions.