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 : AbstractEnvelopedLayer, IRasterLayer, IDataLayer, IRaster<double>, IEnvelopDataLayer, IDataSet, IDisposable, IChangingLayer, ILayer, IModelObject
   
  Properties
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  CellHeight
  
Gets or sets the geographic height of a cell the projected units. Setting this will
automatically adjust the affine coefficient to a negative value.
  
  Declaration
  
    public double CellHeight { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  CellWidth
  
Gets or sets the geographic width of a cell in the projected units.
  
  Declaration
  
    public double CellWidth { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Count
  
Gets the amount of cells with a concrete value (
is not equal  NoDataValue).
Declaration
  
    public int Count { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  DistanceMetric
  
Defines the heuristic metric for exploration
  
  Declaration
  
    protected IMetric<double[]> DistanceMetric { get; set; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | IMetric<System.Double[]> |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Extent
  
Gets or sets the image bounds being used to define the geospatial raster or image
  
  Declaration
  
    public override BoundingBox Extent { get; set; }
   
  Property Value
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Height
  
Gets the vertical count of the cells in the raster.
  
  Declaration
  
    public int Height { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  IsChanged
  
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.
  
  Declaration
  
    public bool IsChanged { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Item[Position]
  
Gets or sets the value on the current band, given a geospatial position.
  
  Declaration
  
    public double this[Position pos] { get; set; }
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Position | pos | The geospatial coordinate of the cell | 
    
  
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Item[Double, Double]
  
Gets or sets the value on the current band, given a
and
value which can be a continuous coordinate in space,
such as geographic coordinates (longitude, latitude);
Declaration
  
    public double this[double xCoord, double yCoord] { get; set; }
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Double | xCoord | The x coordinate of the cell | 
      
        | System.Double | yCoord | The y coordinate of the cell | 
    
  
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Item[Int32, Int32]
  
Gets or sets the value on the current band, given a x and y index;
  
  Declaration
  
    public double this[int x, int y] { get; set; }
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Int32 | x | The x coordinate of the cell | 
      
        | System.Int32 | y | The y coordinate of the cell | 
    
  
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  LowerLeft
  
The lower left corner as a geospatial 
Position.
Declaration
  
    public Position LowerLeft { get; }
   
  Property Value
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  NoDataValue
  
Gets or sets a float showing the no-data values.
  
  Declaration
  
    public double? NoDataValue { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Nullable<System.Double> |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  UpperRight
  
The upper right corner as a geospatial 
Position.
Declaration
  
    public Position UpperRight { get; }
   
  Property Value
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Width
  
Gets the horizontal count of the cells in the raster.
  
  Declaration
  
    public int Width { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 |  | 
    
  
  Methods
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ConvertToGridCoordinate(Double, Double, out Int32)
  
Converts the raster continuous coordinate into precise raster cell index able to
access the raster by index.
  
  Declaration
  
    protected int ConvertToGridCoordinate(double xCoordinate, double yCoordinate, out int y)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Double | xCoordinate | The y coordinate of the position. | 
      
        | System.Double | yCoordinate | The x coordinate of the position. | 
      
        | System.Int32 | y | Output y cell index | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 | Output x cell index | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetCurrentTick()
  
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.
  
  Declaration
  
    public override long GetCurrentTick()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Int64 |  | 
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetNeighbourCellWithMaxValue(Position)
  
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.
  
  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
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetValue(Position)
  
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.
  
  Declaration
  
    public double GetValue(Position coordinate)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Position | coordinate |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetValueByGeoPosition(Position)
  
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.
  
  Declaration
  
    public double GetValueByGeoPosition(Position coordinate)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Position | coordinate |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Increase(Double, Double, Double)
  
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.
  
  Declaration
  
    public double Increase(double xCoord, double yCoord, double value)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Double | xCoord |  | 
      
        | System.Double | yCoord |  | 
      
        | System.Double | value |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Increase(Int32, Int32, Double)
  
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.
  
  Declaration
  
    public double Increase(int x, int y, double value)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Int32 | x |  | 
      
        | System.Int32 | y |  | 
      
        | System.Double | value |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  InitLayer(LayerInitData, RegisterAgent, UnregisterAgent)
  
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.
  
  Declaration
  
    public override bool InitLayer(LayerInitData layerInitData, RegisterAgent registerAgentHandle = null, UnregisterAgent unregisterAgent = null)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean |  | 
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  IsInRaster(Position)
  
Checks for the encapsulated position">> whether this point is inside the raster
  
  Declaration
  
    public bool IsInRaster(Position position)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Position | position | The position containing the coordinates. | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean | Returns true when the point is inside the raster rectangle. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  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 | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ParseData(String)
  
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.
  
  Declaration
  
    protected void ParseData(string file)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | file |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Reduce(Double, Double, Double)
  
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.
  
  Declaration
  
    public double Reduce(double xCoord, double yCoord, double value)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Double | xCoord |  | 
      
        | System.Double | yCoord |  | 
      
        | System.Double | value |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Reduce(Int32, Int32, Double)
  
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.
  
  Declaration
  
    public double Reduce(int x, int y, double value)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Int32 | x |  | 
      
        | System.Int32 | y |  | 
      
        | System.Double | value |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SerializeValueCells()
  
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.
  
  Declaration
  
    public IEnumerable<string> SerializeValueCells()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Collections.Generic.IEnumerable<System.String> |  | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SetCurrentTick(Int64)
  
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.
  
  Declaration
  
    public override void SetCurrentTick(long currentTick)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Int64 | currentTick |  | 
    
  
  Overrides
  
  Implements
  
  
  
  
  
  
      System.IDisposable
  
  
  
  
  Extension Methods