Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

nykfank/popsim

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The idea was to simulate the event of all inhabitants leaving the city of Bern at the same time. Each one should find the optimal way out as if directed by a navigation system which is aware of the current street usage. The background of the simulation is an air-photography (orthophoto) of the region of Bern at a resolution of 50cm per pixel downloaded from mapsearch. The size of the map is 19200x14400 pixel which corresponds to an area of 69 square kilometers centered on the Zytglogge in Bern. An image of the same region containing symbolic streets was also downloaded. It was filtered to create an interconnected network of streets represented as white pixels on black background. Name and address of the 56714 entries in this region where extracted from the phone-book. The coordinates of these addresses was determined by matching the database picture on the orthophoto. Each person is represented as a pixel on the map for collision detection. For visualisation, it is marked by a larger sprite. It has a size of 15x15 pixel if the person is travelling on the street network. In order to do so, a person first has to reach one of the nodes from its starting position. During this movement, it is represented by a sprite of 10x10 pixels. When zooming out, the sprites are enlarged to keep them visible. In order to enable abstracted route-planning, edges (streets) and nodes (crossings/squares) of the street network were determined by image analysis (see http://archive.nyk.ch/Streets ). 1091 nodes were recognized and 2388 edges connecting them. The simulation starts as one person (defined by a search keyword) starts from its home location to a random node at the border of the area. The abstracted path is found by Breadth-first search in the node network. The exact path from from each node to the next is found by Breadth-first search on the pixel street network. Only edges/streets without any persons travelling in the opposite direction can be used in planning. Streets therefore become one-way streets the first time they are used. It can sometimes look like there are persons moving in both directions in the movie. In this case, they are moving on different edges which are very close together because a node has not been recognized and multiple edges are overlapping as a result. As the initial person travels to its target, every person within a 20 meter radius gets activated and starts on its own way to a random border node after a random wait of maximally 20 seconds. There is no collision detection as the persons travel to their first node, but each position (pixel) of every edge can only be occupied by one person at a time. Once a person reaches the street network, it never leaves it again. The simulation ends when everyone has reached its target node. The nice thing about this simulation is that the efficiency (1-blocked/on_path) of the Escape is above 99.9%. In reality a lot more people would be stuck in traffic at any moment.

About

Population Simulator

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.