Class RasterLayer
Represents a generic raster implementation which provides functionality to
explore for nearest cells and saved objects, to pass a "metadata.csv" with a file-mapping
to enable a time-series dimension and a concurrency control to be used by multiple concurrent threads.
Inheritance
System.Object
RasterLayer
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: Mars.Components.dll
Syntax
public abstract class RasterLayer : MatrixRaster, IRasterLayer, IDataLayer, IRaster, IRaster<double>, IBoundedDataLayer, IDataSet, IDisposable, IChangingLayer, ILayer, IModelObject
Fields
Context
Declaration
protected ISimulationContext Context
Field Value
Properties
AllowDiagonalMove
Indicates if the path contains diagonal movement. If false, then only Manhattan movement is permitted.
Declaration
protected bool AllowDiagonalMove { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
DistanceMetric
Defines the heuristic metric for exploration
Declaration
protected IMetric<double[]> DistanceMetric { get; set; }
Property Value
Type |
Description |
IMetric<System.Double[]> |
|
Mapping
Gets the input mapping for this vector-layer.
Declaration
public LayerMapping Mapping { get; }
Property Value
Methods
Explore(Position, Double, Int32, Func<Double, Boolean>)
Executes a point query at the specified position
to get all features inside radius, filtered by an optional predicate and limited
Declaration
public ICollection<NodeDistance<K2dTreeNode<double>>> Explore(Position position, double radius = -1, int count = -1, Func<double, bool> predicate = null)
Parameters
Type |
Name |
Description |
Position |
position |
The outgoing position from which to start the query. |
System.Double |
radius |
The exploration radius. |
System.Int32 |
count |
The limit of queried features |
System.Func<System.Double, System.Boolean> |
predicate |
The optional predicate to filter out specific features |
Returns
Type |
Description |
System.Collections.Generic.ICollection<NodeDistance<K2dTreeNode<System.Double>>> |
A collection with distance based order of the explored features. |
FindPath(Position, Position)
Tries to find a route from a start cell to a goal cell.
Declaration
public List<Position> FindPath(Position start, Position goal)
Parameters
Type |
Name |
Description |
Position |
start |
Position that identifies the starting cell |
Position |
goal |
Position that identifies the ending cell |
Returns
Type |
Description |
System.Collections.Generic.List<Position> |
A list of positions that describe the path from start to end; an empty list of no path could be found |
FindPath(Int32, Int32, Int32, Int32)
Tries to find a route from a start cell to a goal cell.
Declaration
public List<Position> FindPath(int startX, int startY, int goalX, int goalY)
Parameters
Type |
Name |
Description |
System.Int32 |
startX |
Describes the x coordinate of the starting cell. |
System.Int32 |
startY |
Describes the y coordinate of the starting cell. |
System.Int32 |
goalX |
Describes the x coordinate of the ending cell. |
System.Int32 |
goalY |
Describes the y coordinate of the ending cell. |
Returns
Type |
Description |
System.Collections.Generic.List<Position> |
A list of positions that describe the path from start to end; an empty list of no path could be found |
GetCurrentTick()
Declaration
public override long GetCurrentTick()
Returns
Type |
Description |
System.Int64 |
|
Overrides
GetNeighbourCellWithMaxValue(Position)
Declaration
[Obsolete("This method should not be used anymore. Please use Explore(..) instead")]
public Position GetNeighbourCellWithMaxValue(Position coordinate)
Parameters
Type |
Name |
Description |
Position |
coordinate |
|
Returns
GetValue(Position)
Declaration
public double GetValue(Position coordinate)
Parameters
Type |
Name |
Description |
Position |
coordinate |
|
Returns
Type |
Description |
System.Double |
|
GetValueByGeoPosition(Position)
Declaration
public double GetValueByGeoPosition(Position coordinate)
Parameters
Type |
Name |
Description |
Position |
coordinate |
|
Returns
Type |
Description |
System.Double |
|
GetValueByGridPosition(Position)
Declaration
public double GetValueByGridPosition(Position coordinate)
Parameters
Type |
Name |
Description |
Position |
coordinate |
|
Returns
Type |
Description |
System.Double |
|
InitLayer(LayerInitData, RegisterAgent, UnregisterAgent)
Declaration
public override bool InitLayer(LayerInitData layerInitData, RegisterAgent registerAgentHandle, UnregisterAgent unregisterAgent)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Overrides
IsRoutable(Position)
Indicates if a cell is routable, so can be used for movement, or not.
This is the overload for usability purposes: the logic is defined in
IsRoutable(int, int)
.
Declaration
public bool IsRoutable(Position cellPosition)
Parameters
Type |
Name |
Description |
Position |
cellPosition |
Identifies the cell by index. |
Returns
Type |
Description |
System.Boolean |
True, if routing is possible on this cell, false otherwise |
IsRoutable(Double, Double)
Indicates if a cell is routable, so can be used for movement, or not.
This is the overload for usability purposes: the logic is defined in
IsRoutable(int, int)
.
Declaration
public bool IsRoutable(double x, double y)
Parameters
Type |
Name |
Description |
System.Double |
x |
Identifies the cell on the x-axis. |
System.Double |
y |
Identifies the cell on the y-axis. |
Returns
Type |
Description |
System.Boolean |
True, if routing is possible on this cell, false otherwise |
IsRoutable(Int32, Int32)
Indicates if a cell is routable, so can be used for movement, or not.
Declaration
public virtual bool IsRoutable(int x, int y)
Parameters
Type |
Name |
Description |
System.Int32 |
x |
Identifies the cell on the x-axis. |
System.Int32 |
y |
Identifies the cell on the y-axis. |
Returns
Type |
Description |
System.Boolean |
True, if routing is possible on this cell, false otherwise |
ParseData(String)
Declaration
protected void ParseData(string file)
Parameters
Type |
Name |
Description |
System.String |
file |
|
SerializeValueCells()
Declaration
public IEnumerable<string> SerializeValueCells()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.String> |
|
SetCurrentTick(Int64)
Declaration
public override void SetCurrentTick(long currentTick)
Parameters
Type |
Name |
Description |
System.Int64 |
currentTick |
|
Overrides
Implements
System.IDisposable