• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API

    Show / Hide Table of Contents
    • Mars.Components
      • DependencyRegistrationModelling
    • Mars.Components.Agents
      • AbstractAgent
      • AbstractEntity
      • Agent
    • Mars.Components.Environments
      • AbstractEnvironment
      • AbstractGraphElement
      • AlwaysPassingNodeGuard
      • EntityLane<TEntity>
      • GeoEnvironment
      • GeoHashEnvironment<T>
      • IEnvironmentMediator
      • IModalChoiceResolver
      • PathHeuristics
      • SpatialEdge
      • SpatialGraphEntityExtensions
      • SpatialGraphEnvironment
      • SpatialGraphHelper
      • SpatialHashEnvironment<TEntity>
      • SpatialNode
      • WorldIndexExtensions
    • Mars.Components.Environments.Cartesian
      • CartesianEnvironment<TEntity>
      • CollisionEnvironment<TCharacter, TObstacle>
      • CollisionKind
      • ConeExplorationView
      • ExplorationView
      • GeometryFactory
      • ICartesianEnvironment<TEntity>
      • ICharacter
      • ICollidable
      • ICollisionEnvironment<TCharacter, TObstacle>
      • IObstacle
      • IVisible
      • RayExplorationView
      • TrapezoidExploration
      • VisibilityKind
    • Mars.Components.Environments.Cartesian.Routing
      • CartesianRoutingService<TObstacle>
      • GeometryCoordinatesRoutingPointsGenerator
      • HomogenousRoutingPointsGenerator
      • IRoutingPointsGenerator
      • RandomRoutingPointsGenerator
      • SectionalRandomRoutingPointsGenerator
    • Mars.Components.Layers
      • AbstractActiveLayer
      • AbstractEnvelopedLayer
      • AbstractLayer
      • AbstractVectorFeature
      • AgentSchedulerLayer<TAgent, TLayer>
      • QuerySourceLoader
      • RasterLayer
      • SchedulerEntry
      • SchedulerLayer
      • VectorFeature
      • VectorLayer
      • VectorLayer<T>
      • VectorLayerHelper
    • Mars.Components.Layers.Temporal
      • IQueryFieldProvider
      • ITemporalObjectCatalog
      • ITemporalObjectIterator
      • TemporalCatalogFeature<TKey>
      • TemporalFeatureKind
      • TemporalMetadataLoader
    • Mars.Components.Services
      • AgentManager
    • Mars.Components.Services.Explorations
      • BoltzmannExploration
      • EpsilonGreedyExploration
      • IExplorationPolicy
      • RouletteWheelExploration
      • TabuSearchExploration
    • Mars.Components.Services.Learning
      • InfiniteQLearning
      • QLearning
      • Sarsa
    • Mars.Components.Services.Planning
      • ActionPlanResult
      • GoapAction
      • GoapAgentStates
      • GoapGoal
      • GoapPlanner
      • GoapStateKey<T>
      • GoapStateProperty
      • GoapStateProperty<TElement>
      • IGoapAction
      • IGoapAgentStates
      • IGoapGoal
      • IGoapPlanner
      • IGoapStateKey
      • StatesCommons
    • Mars.Components.Services.Planning.ActionCommons
      • AllGoalsSatisfiedAction
      • NoGoalReachableAction
    • Mars.Components.Starter
      • Command
      • CommandArgumentContainer
      • CommandParser
      • CommandSet
      • HelpCommand
      • Option
      • OptionContext
      • OptionException
      • OptionSet
      • OptionValueCollection
      • OptionValueType
      • SimulationStarter
    • Mars.Components.Starter.Exceptions
      • SimulationStartupException
    • Mars.Interfaces
      • IModelObject
      • ISimulationContainer
      • ISimulationContext
      • ISimulationModule
      • ISimulationState
      • IStepExecutionContext
      • SimulationContext
      • SimulationContext.WorkflowStateType
    • Mars.Interfaces.Agents
      • IAgent
      • IAgent<TLayer>
      • IEntity
      • IMarsDslAgent
      • IModalCapabilitiesAgent
      • ISpatialGraphEntity
      • ITickClient
    • Mars.Interfaces.Annotations
      • ActiveConstructor
      • PropertyDescription
    • Mars.Interfaces.Data
      • AbstractDomainData
      • GeometryData
      • IDomainData
      • IGeometryData
      • IIdentifiableData
      • IMarsFeature
      • IRasterBandData
      • ISource
      • IStringData
      • IStringStructuredData
      • IStructuredData
      • IStructuredDataGeometry
      • IValueData
      • LayerInitData
      • RasterBandData
      • StringDataDto
      • StructuredData
      • VectorStructuredData
    • Mars.Interfaces.Environments
      • BoundingBox
      • DirectionType
      • EdgeExploreResult
      • EdgeStop
      • ExploreDirection
      • GeoPositionExtension
      • HighwayType
      • IEdge<TEdge, TNode>
      • IEntityLane<TEntity>
      • IEnvironment
      • IEnvironment<TEntity>
      • IGeoGridEnvironment<T>
      • IGraphEntity
      • IGraphEnvironment<TEdge, TNode>
      • INode<TEdge, TNode>
      • INodeGuard
      • IPositionable
      • IRoutePlanner
      • ISpatialEdge
      • ISpatialGraphEnvironment
      • ISpatialLane
      • ISpatialNode
      • LaneExploreResult
      • ModalChoice
      • MultimodalRoute
      • NodeIntegrationKind
      • Position
      • Route
      • RouteStop
      • Size
      • SpatialGraphExploreResult
      • SpatialModalityType
      • TrafficLightPhase
    • Mars.Interfaces.Layers
      • FinallySimulationStep
      • IChangingLayer
      • IDataContainer
      • IDataLayer
      • IDataSet
      • IEnvelopDataLayer
      • ILayer
      • IMarsDslLayer
      • IModalChoiceConsumer
      • InitSimulationStep
      • INotifyChangedSource<T>
      • IRaster<TValue>
      • IRasterLayer
      • ISteppedActiveLayer
      • IVectorFeature
      • IVectorLayer
      • IVectorLayer<T>
      • IVectorNode<TEntity>
      • RegisterAgent
      • UnregisterAgent
    • Mars.Interfaces.Model
      • ActiveTypeMapping
      • AgentMapping
      • AgentType
      • ConstructorType
      • ContainsOperator
      • DataContainer
      • DataType
      • EntityMapping
      • EntityType
      • Execution
      • FeatureType
      • Globals
      • IdentifiableElement
      • IndividualMapping
      • Input
      • InputConfiguration
      • LayerMapping
      • LayerType
      • ModelDescription
      • ModelElement
      • ObjectType
      • Output
      • OutputConfiguration
      • OutputFilter
      • OutputKind
      • OutputTargetType
      • ParameterMapping
      • Processing
      • ProcessingConfiguration
      • ProcessingTargetType
      • PropertyType
      • SimulationConfig
      • TimeSpanUnit
      • TimeSpanUnitExtensions
      • TypeElement
      • TypeMapping
    • Mars.Interfaces.Model.Converters
      • CultureConverter
      • SerializationTypeConverter
      • TimeSpanUnitConverter
    • Mars.Interfaces.Model.Exceptions
      • InvalidTypeException
      • MissingTypeException
    • Mars.Interfaces.Model.Options
      • AbstractEndpointOptions
      • AbstractFileOptions
      • AbstractOptions
      • AscOptions
      • CsvOptions
      • GeoJsonOptions
      • MongoOptions
      • MqttOptions
      • PostgresSqlOptions
      • RedisOptions
      • RelationalEndpointOptions
      • SerializationType
      • SocketOutputOptions
      • SpatialGraphOptions
      • SqLiteOptions
      • TripsOptions

    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
    AbstractLayer
    AbstractEnvelopedLayer
    RasterLayer
    Implements
    IRasterLayer
    IDataLayer
    IRaster<System.Double>
    IEnvelopDataLayer
    IDataSet
    IDisposable
    IChangingLayer
    ILayer
    IModelObject
    Inherited Members
    AbstractEnvelopedLayer.IsTemporalChanging
    AbstractEnvelopedLayer.MinLon
    AbstractEnvelopedLayer.MinLat
    AbstractEnvelopedLayer.MaxLon
    AbstractEnvelopedLayer.MaxLat
    AbstractEnvelopedLayer.IsDisposed
    AbstractEnvelopedLayer.Dispose()
    AbstractEnvelopedLayer.Dispose(Boolean)
    AbstractLayer.Mapping
    AbstractLayer.RegisterAgent
    AbstractLayer.UnregisterAgent
    AbstractLayer.Context
    AbstractLayer.Container
    AbstractLayer.EntityManager
    Namespace: Mars.Components.Layers
    Assembly: Mars.Components.dll
    Syntax
    public abstract class RasterLayer : AbstractEnvelopedLayer, IRasterLayer, IDataLayer, IRaster<double>, IEnvelopDataLayer, IDataSet, IDisposable, IChangingLayer, ILayer, IModelObject

    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

    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

    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

    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

    DistanceMetric

    Defines the heuristic metric for exploration
    Declaration
    protected IMetric<double[]> DistanceMetric { get; set; }
    Property Value
    Type Description
    IMetric<System.Double[]>

    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
    Type Description
    BoundingBox
    Overrides
    AbstractEnvelopedLayer.Extent

    Height

    Gets the vertical count of the cells in the raster.
    Declaration
    public int Height { get; }
    Property Value
    Type Description
    System.Int32

    IsChanged

    Declaration
    public bool IsChanged { get; }
    Property Value
    Type Description
    System.Boolean

    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

    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

    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

    LowerLeft

    The lower left corner as a geospatial Position.
    Declaration
    public Position LowerLeft { get; }
    Property Value
    Type Description
    Position

    NoDataValue

    Gets or sets a float showing the no-data values.
    Declaration
    public double? NoDataValue { get; }
    Property Value
    Type Description
    System.Nullable<System.Double>

    UpperRight

    The upper right corner as a geospatial Position.
    Declaration
    public Position UpperRight { get; }
    Property Value
    Type Description
    Position

    Width

    Gets the horizontal count of the cells in the raster.
    Declaration
    public int Width { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    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

    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 = null, int count = null, 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
    Func<System.Double, System.Boolean> predicate The optional predicate to filter out specific features
    Returns
    Type Description
    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
    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
    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
    AbstractLayer.GetCurrentTick()

    GetNeighbourCellWithMaxValue(Position)

    Declaration
    public Position GetNeighbourCellWithMaxValue(Position coordinate)
    Parameters
    Type Name Description
    Position coordinate
    Returns
    Type Description
    Position

    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

    Increase(Double, Double, Double)

    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

    Increase(Int32, Int32, Double)

    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

    InitLayer(LayerInitData, RegisterAgent, UnregisterAgent)

    Declaration
    public override bool InitLayer(LayerInitData layerInitData, RegisterAgent registerAgentHandle = null, UnregisterAgent unregisterAgent = null)
    Parameters
    Type Name Description
    LayerInitData layerInitData
    RegisterAgent registerAgentHandle
    UnregisterAgent unregisterAgent
    Returns
    Type Description
    System.Boolean
    Overrides
    AbstractLayer.InitLayer(LayerInitData, RegisterAgent, UnregisterAgent)

    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.

    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

    Reduce(Double, Double, Double)

    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

    Reduce(Int32, Int32, Double)

    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

    SerializeValueCells()

    Declaration
    public IEnumerable<string> SerializeValueCells()
    Returns
    Type Description
    IEnumerable<System.String>

    SetCurrentTick(Int64)

    Declaration
    public override void SetCurrentTick(long currentTick)
    Parameters
    Type Name Description
    System.Int64 currentTick
    Overrides
    AbstractLayer.SetCurrentTick(Int64)

    Implements

    IRasterLayer
    IDataLayer
    IRaster<TValue>
    IEnvelopDataLayer
    IDataSet
    IDisposable
    IChangingLayer
    ILayer
    IModelObject
    Back to top Copyright © MARS GROUP.
    HAW Hamburg