Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/skyzh/Meteor

🚆 Fine-grained analysis and visualization of Hangzhou Metro for efficient traveling in metro system. Project report, slide and presentation video included.
https://github.com/skyzh/Meteor

cmake data-analysis hangzhou metro qt sqlite visualize

Last synced: 6 days ago
JSON representation

🚆 Fine-grained analysis and visualization of Hangzhou Metro for efficient traveling in metro system. Project report, slide and presentation video included.

Awesome Lists containing this project

README

        

# Meteor

[![Build Status](https://travis-ci.com/skyzh/Meteor.svg?token=szB6fz2m5vb2KyfAiZ3B&branch=master)](https://travis-ci.com/skyzh/Meteor)

Visualize and analyze Hangzhou Metro data with Qt.

## Building

On macOS, use CMake to build this project. Replace `$QT_ROOT_PATH` with Qt folder. It's usually `~/Qt`.

```bash
cmake -H. -Bbuild -DCMAKE_PREFIX_PATH=$QT_ROOT_PATH/5.12.6/clang_64/lib/cmake -DCMAKE_BUILD_TYPE=RELEASE
cd build && cmake --build .
```

Or you may open this project with CLion, configure Qt in CMake settings, and build with `Release` target.

## Running

In `build` folder,

```bash
./Meteor
```

Copy `station_line.csv` to `dataset_CS241/adjacency_adjacency/`. Select dataset folder and fields in wizard. The program will automatically check if this file is present in wizard.

Setup Wizard

Uncheck "Persist Analysis Cache" will make data loading faster in current session, but data will be loaded again if you restart the app.

## Functionalities

### Passenger Traffic

You may view passenger inflow and outflow data in each station.

Screen Shot 2019-12-21 at 12 00 12 PM

### Route Planning

Meteor may plan route for you. Select "Meteor Adviser" to show ETA and crowded rate.

Screen Shot 2019-12-21 at 12 00 45 PM

### Flow Analysis for Segment Pressure

By predicting where a user should be from entry and exit records in dataset, Meteor can visualize segment pressure. You may use the slider on screen or the one on Touch Bar to navigate time through a day.

Screen Shot 2019-12-21 at 12 01 00 PM

## Task Scheduling System

All computational works are organized in tasks. You may implement your own analysis task by inheriting `Task` class. There's a task scheduler handling tasks dependencies and running them in the background.

## Learn More

["The Meteor Project" Report](https://github.com/skyzh/Meteor/files/4005176/The.Meteor.Project.Report.pdf)

["The Meteor Project" Slides](https://github.com/skyzh/Meteor/files/4005177/The.Meteor.Project.Slide.pdf)

SJTU users may download presentation video from [jBox](https://jbox.sjtu.edu.cn/l/R09Dzw)

## License

GPL-3.0