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 Name | Type | Direction | Data Type | Dialog Reference |
---|---|---|---|---|
Input Points | Required | Input | Feature Layer | Points whose values will be interpolated along the lines. Must have the following fields: |
Value Field | Required | Input | Field | Any numeric field in the input point feature class containing the values to interpolate along the lines. |
Input Lines | Required | Input | Feature Layer | Line 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 Raster | Optional | Input | Raster Layer | Optional raster that provides the values to be added to the interpolated values at 2D line vertices. |
Output 3D Lines | Required | Output | Feature Layer | Output 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: |
Compution on Junctions | Optional | Input | String | Valid entries: |