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

    Show / Hide Table of Contents
    • MARS DSL Language
    • MARS Runtime System
      • Getting started with MARS
      • Basic Concepts
        • Multi-Agent-Simulation
        • Agents
        • Layers
        • Entities
        • Environments
          • SpatialHashEnvironment
          • GeoHashEnvironment
          • SpatialGraphEnvironment
          • CollisionEnvironment
        • Model Setup
      • Model Configuration
        • Agent and Entity Configuration
        • Layer Configuration
        • Output Filter
        • Simulation Configuration Options
        • Simulation Output Formats
      • Data Sources
        • Geospatial Data Sources
        • Geospatial Data Types
        • ASCII grid (.asc)
        • CSV
        • Time-series Data
      • Analysis and Visualization
        • Visualizing Agent Movement Trajectories
        • Simple Live Visualization
        • Analyzing Output Data
      • Tutorials
        • Creating a new MARS C# project
        • Creating a starting point for your model
        • Creating vector and raster layer files
        • Building your first model (wolf-sheep-grass)
        • Common problems and solutions
        • Acquire geo data for layers
        • Build and start your model in Kubernetes cluster
    • SmartOpenHamburg
      • Quick Start
      • Ready to use scenarios (boxes)
        • Ferry Transfer
        • Green4Bikes
        • Results
        • Result Schemas
      • Layer
        • Multimodal Layer
        • Modal Layer
        • Scheduling Layer
        • Vector Layer
      • Agents
        • Behaviour Model
        • Multimodal
        • Multi-Capable
        • Multi-Modality
        • Citizen
        • Traveler
      • Entities
        • Referencing
        • Street Vehicles
        • Bicycle Vehicles
        • Ferry

    Output Filter

    Since MARS supports model scenario e.g. the TreeModel or SOH with a huge set of involved agents, the modeler can only be interested in a specific subset of them or for specific model-states, regarding the e.g., "is of specific tree kind or has juveniles, etc." Only those entities applying this predicate will be persisted.

    A dynamic predicate can provided to filter those entities matching the condition. An agent or entity type can have an optional outputFilter which is able to accept a set of AND associated expressions in form of:

    {
    "name": "Tree",
    "count": 5049322,
    "file": "../../model_input/tree_bushbuckridge.csv",
    "frequency": 1,
    "outputFrequency": 365,
    "outputFilter": [{
            "parameter": "species",
            "operator": "in",
            "values": ["tt", "ca"]
        },
        {
            "parameter": "treeAgeGroup",
            "operator": "notIn",
            "values": ["seed"]
        }
    ]
    }
    

    The outputFilter is collection of AND associated conditions specifying predicate on attribute-level as:

       parameter "x" is "in" or "notIn" a given value (in the example above ["tt", "ca"])
    

    Containment or non-containment is only checked via a semantic-equality operator.

    Skipping the checks do not cause any problems since it is only be used to reduce the amount of data written out and therefore improving the system performance.

    Back to top Copyright © MARS GROUP.
    HAW Hamburg