IsolineOperator Class
Generates isoline such as elevation contours from raster data.
NuGet/Assembly: Carmenta.Engine.5.16.2.nupkg (in the CEOperators assembly)
Syntax
public class IsolineOperator : UnaryOperator
Remarks
This operator generates isolines from raster data, usually elevation contours from elevation rasters, but also isobars from air pressure rasters, etc.
The levels of the isolines are separated by the given LevelDistance, and the range of generated levels can be restricted via FromLevel and ToLevel. The z coordinates of the line corners, and optionally also a value attribute, are set to the value of the level.
![]() |
![]() |
To display labels for the levels, it is important to set the LevelAttributeFormat to Int, Double or String, since the default, None, will not set the value attribute. A cartographic tradition says that the labels should be either unrotated or else rotated to face uphill; the latter choice means that labels on north slopes are harder to read, but it is easier to see what the uphill direction is. The configuration above shows one way to make uphill-facing labels with a text visualizer having rotation = −90.0 and rotationMode = Rotated, and it works because the IsolineOperator normalizes the direction of the isolines, so that the downhill slope is on its right side. Mnemonic: isolines are downright. This also makes it possible to display slope tags or hachures that show the downhill direction, by using a ComplexLineStyle in the line visualizer:
![]() |
These hachures are normally displayed only for contour lines that surround a depression instead of a hill. If the operator has generated a contour line as a closed loop, then a boolean attribute depression will be set on the line feature (its value is True if the loop goes clockwise), but if the operator cannot close the line, the depression attribute will not be set. This means that you can use a hachure visualization for depression contours only, by using the condition depression on the hachured line visualizer. However, long depression contours may go unrecognized if they are partially outside the View.Area, or outside the current TileLayer tile, because the condition will be unsatisfied when the depression attribute is absent from a line.
The operator can be made to generate polygons instead of lines; see OutputType.
Inheritance Hierarchy
System.Object (not available in C#)
EngineObject
Operator
UnaryOperator
IsolineOperator
Platforms
Windows, Linux, Android
IsolineOperator Members
The IsolineOperator type has the following members.
Constructors
Name | Description |
---|---|
IsolineOperator | Initializes a new instance of the IsolineOperator class. |
Properties
Name | Description |
---|---|
Description | Gets or sets a short description of the operator. Inherited from Operator |
DisplayName | Gets or sets a display name for the operator. Inherited from Operator |
FromLevel | Gets or sets the first level for which an isoline is generated. |
Input | Gets or sets the input operator, from which this operator reads features. Inherited from UnaryOperator |
IsDisposed | Gets a value that tells whether the current IsolineOperator has been disposed. Inherited from EngineObject |
IsoMetadataDocument | Gets or sets the path to an ISO 19139 metadata document for the operator. Inherited from Operator |
LevelAttributeFormat | Gets or sets a value specifying the type of the level attributes of the generated features. |
LevelDistance | Gets or sets the difference between the raster values that should generate lines. |
Name | Gets or sets the name of the operator. Inherited from Operator |
NativeHandle | Gets the native Carmenta Engine kernel object the current IsolineOperator represents. Inherited from EngineObject |
Offset | Gets or sets a value that offsets the raster values where lines are generated to higher or lower values. |
OutputType | Gets or sets a value that decides the output type: either lines or some kind of polygons. |
StopAtUndefined | Gets or sets a value specifying how undefined raster values should be treated. |
ToLevel | Gets or sets the last level for which an isoline is generated. |
IUserProperties.UserProperties | Gets the AttributeSet that contains the user properties. Inherited from IUserProperties |
ValueAttribute | Gets or sets the name of the attribute to store the isoline level value in. |
Methods
Name | Description |
---|---|
Clone | Creates a copy of an object. Inherited from EngineObject |
Dispose | Releases the reference to the native Carmenta Engine kernel instance the EngineObject represents. Inherited from EngineObject |
Equals | Determines whether this instance is equal to another. Inherited from EngineObject |
FindChildObject | Overloaded. Finds the child object with the specified name. Inherited from Operator |
FlushCache | Marks the layer as flushed which will release cached resources during the next update. Inherited from Operator |
GetChildObjects | Overloaded. Gets the child objects of the current object. Inherited from Operator |
GetFeatures | Overloaded. Gets features from the operator chain. Inherited from Operator |
GetLocalizedDescription | Gets a localized version of the operator description in a specific language. Inherited from Operator |
GetLocalizedDisplayName | Gets a localized version of the operator display name in a specific language. Inherited from Operator |
GetLocalizedIsoMetadataDocument | Gets the path to an ISO 19139 metadata document for a specific language. Inherited from Operator |
GetRasterFeature | Overloaded. Gets raster features from the operator chain and merges them into a single raster. Inherited from Operator |
HasLocalizedDescription | Checks if a localized version of the operator description is available in a specific language. Inherited from Operator |
HasLocalizedDisplayName | Checks if a localized version of the operator display name is available in a specific language. Inherited from Operator |
HasLocalizedIsoMetadataDocument | Checks if an ISO 19139 metadata document is available for a specific language. Inherited from Operator |
SetLocalizedDescription | Sets a operator description in a specific language. Inherited from Operator |
SetLocalizedDisplayName | Sets a operator display name in a specific language. Inherited from Operator |
SetLocalizedIsoMetadataDocument | Sets the path to an ISO 19139 metadata document for the operator, for a specific language. Inherited from Operator |