Coder Social home page Coder Social logo

kite-cloud / agade-traffic Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 0.0 56.32 MB

AGADE Traffic is an agent based traffic simulator written in Java. For more information visit our website.

Home Page: https://www.agade.de

License: MIT License

Dockerfile 0.17% Java 71.18% CSS 2.58% JavaScript 14.65% Shell 0.82% Batchfile 0.17% PLpgSQL 10.44%
traffic-simulation agent-based research-project transportation-planning agade-traffic ontology

agade-traffic's Introduction

AGADE Traffic Simulation

version license status

AGADE Traffic is an agent based traffic simulator written in Java. Main objective of this project is to provide a tool that allows traffic planners to simulate and analyse behavioural structures in road traffic. The model assumes that personal preferences and decisions made by individual travellers have major impact on overall traffic flow. For this reason, AGADE Traffic focuses on modelling individuals as intelligent software agents. The modelling component uses semantic technologies (OWL and SWRL) to express agent knowledge and preferences that utimately has an effect on travel behaviour. The simulator uses the JADEX framework for implementing BDI agents. For representation of geographic network infrastucture, publicly available map data from OpenStreetMap is stored in a graph database (Neo4J). For more information visit our website www.agade.de and get access to simulation examples as described in our publications. We also provide an online live demo of AGADE Traffic frontend.

AGADE Traffic Architecture

Getting Started

Requirements

platform java build virtualisation

Initial Setup

  • Create a local repository using git clone https://github.com/KITE-Cloud/AGADE-TRAFFIC.git
  • Open Frontend, Backend and RoutingKit as separate Maven projects in your IDE.
  • Start RoutingKit/osm-cleaner/src/main/java/application/SetupManagerApplication.main(). On first startup SetupManagerApplication creates important environmental variables that are required for connecting service modules. You will need to restart Java to detect changes.

Data Preprocessing and Import

  • Manually select a map area at openstreetmap and use overpass API to download necessary osm data for your simulation
  • Rename the downloaded file and add .osm file ending e.g. london.osm
  • Place osm data in {ProjectDir}/RoutingKit/osm-cleaner/src/main/resources/OSM_Files/
  • Launch SetupManagerApplication to select your osm file and clean your osm data. This produces a new osm file e.g. london_cleaned.osm in the same directory.
  • Then use SetupManagerApplication to select the cleaned osm file and import data into database.

Launch Service Modules

Make sure you have Docker running!

For End-Users
  • Open a terminal and navigate to your project directory
  • Startup AGADE Traffic Services (Neo4j, RoutingEngine and Backend) by typing docker-compose up
  • On first startup project build must be completed. Project build will be cached which makes startup of subsequent sessions faster.
  • You will have to start AGADE Traffic Frontend separately. In the Frontend project, launch src/main/java/de/thm/agade/frontend/FrontendApplication.main()
  • Open localhost:8081 in your browser
For Developers

For developers working with AGADE Traffic we recommend starting up services separately.

  • Open a terminal and navigate to {ProjectDir}/RoutingKit
  • Type in docker-compose build to build a prepared docker image of Neo4j database. If you make changes to the database (e.g. import new data), you will need to rebuild.
  • Once build process is completed, type docker-compose up to start up the database
  • In the RoutingKit project, launch routing-engine/src/main/rmi/RMIServer.main()
  • In the Backend project, launch the src/main/java/BackendApplication.main() in the AGADE project
  • In the Frontend project, launch src/main/java/de/thm/agade/frontend/FrontendApplication.main()
  • Open localhost:8081 in your browser

Create a simulation

AGADE.Traffic.-.Tutorial.-.Overview.mp4

Simulation results will be output in the Frontend project under the following path: src/main/resources/output

Licensing

AGADE Traffic is an open source product licensed under MIT

agade-traffic's People

Contributors

jngy36 avatar kite-cloud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.