Skip to content

nykfank/popsim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published