CrossLineCreator Class

Class for creating CrossLineData along reaches of a network.

Along the river reaches a number of CrossLineData is created, defining the coordinates for the river cross lines / cross sections.

Definition

Namespace: DHI.Mike1D.FloodMap
Assembly: DHI.Mike1D.FloodMap (in DHI.Mike1D.FloodMap.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class CrossLineCreator
Inheritance
Object    CrossLineCreator

Constructors

CrossLineCreatorInitializes a new instance of the CrossLineCreator class

Properties

CrossLineLocations Where to add cross lines.

Default is DigiPoints.

CrossSectionData If the INetworkReach does not contain any grid points with cross sections, the cross sections can be retrieved from here.
DirectionVectorType Specify how to calculate the direction unit vector based on the digipoints.

Default is Weighted

DirectionVectorWidthFactor When direction vector is weighted, it is by default weighted over the maximum width of the cross section. This factor is multiplied on the maximum width to increase or decrease the weighting distance.

Default value is 1.

FloodMapCrossSectionAdapterHub Hub for extracting cross sections

Methods

ConvertFromLocalCoordinates Convert the crossLineRc from a local river coordinate system, where the x-axis follows the river center line, and y is the distance from the river center line.
ConvertToLocalCoordinates Convert the crossLine to a local river coordinate system, where the x-axis follows the river center line, and y is the distance from the river center line.
CreateCrossLineForCs Create CrossLineData for cross section cs.
CreateCrossLines(IListINetworkReach, Int32) Create a list of CrossLineData, containing bank and center coordinates, at points based on CrossLineLocations.

It will use the CrossSectionData (if defined) to extract cross sections for reach. If CrossSectionData is not defined (i.e. when connected to a res1d result-file) It will use the grid points in the reachesWithId for finding cross sections

CreateCrossLines(ILocationSpan, ListIFloodMapCrossSection, ICoordinateSequence, Boolean, Double) Create a list of CrossLineData, where CrossLineLocations specifies which cross lines to include.
CreateCrossLines(ILocationSpan, String, ICoordinateSequence, Boolean, Double) Create a list of CrossLineData, containing bank and center coordinates, using CrossSectionData for finding cross sections, at points based on CrossLineLocations.
CreateCrossLinesForLocations Create a list of CrossLineData for all crossLineLocations

For crossLineLocations without a cross section, the CrossLineData is calculated by interpolation in the local river coordinate system.

Only cross line locations within the span of crossSections will be created.

CreateCrossLinesForReachCs Create CrossLineData for all cross sections in crossSections.

If crossSections does not fully cover reachSpan, cross sections are extrapolated to start/end chainage of reachSpan, similar to how the MIKE 1D engine does interpolation.

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
ExtrapolateCrossLine Extrapolate (copy) a cross line a the given pointM chainage from a cross line and cross section.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FindCrossLineLocationsCrossSections Create a list of cross lines with their chainage location for all cross sections
FindCrossLineLocationsDigiPoints Create a list of cross lines with their chainage location, including locations of cross sections, grid points and digipoints. This is all locations where geometry changes. That happens at cross section points due to the cross section, and at digipoints due to change in river direction.

All cross section points will be added to the list. If a cross section point and a digi-point is inside DigiPointMinDistance, only the cross section point is added to the list.

This methods assumes csgpLocations and digiPoints start at same chainage and end at same chainage

FindCrossLineLocationsGridPoints Create a list of cross lines with their chainage location, including locations of all grid points in the reach. If no grid points are present in reach, use cross sections and MaximumDx to add additional grid points
FindCrossLineLocationsMaximumDx Create a list of cross lines with their chainage locations, using cross sections and the reachMaximumDx. It adds locations at use cross sections and uses MaximumDx to add additional grid point locations

This may not give exactly the same layout of points as in the engine; it does not take tributary connections into account, where the engine adds additional grid points.

GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
InterpolateCrossLine Interpolate a cross line a the given crossLine chainage from upstream and downstream cross lines and cross sections.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
ToStringReturns a string that represents the current object.
(Inherited from Object)

Fields

CrossSectionSidesFromChainageDirection Flag indicating if left/right side of cross sections without coordinates are defined left/right by flow direction (false - default) or by chainage direction (true).

MIKE 11 engine decide (parts) of this based on chainage direction, so this is a backwards compatible flag.

DigiPointMergeTolerance Tolerance on when to merge two sets of digipoints to one big set. Used two evaluate when two reaches with same id can be considered as one long reach.

A sound value is in the order of the the width of the largest cross section.

Default is 100 meters.

DigiPointMinDistance Minimum distance between digipoints. The digipoints are filtered out until the distance is at least this distance.

Also used as a tolerance on when a cross section and a digi-point is merged into one location.

A sound value is a fraction of the width of the smallest cross section.

Default is 5 meters.

InterpolateInDistAngle Flag indicating how cross lines are interpolated, either in vector (x,y) coordinates (default) or in vector polar (dist,angle) coordinates.

See Also