About
Piper stands for Platform for Intermodal Pedestrian Emulation and Routing. The name refers to the Pied Piper.
It is originally developed for pedestrian simulation, not just by width but also placement, junctions, crossings, etc. But further development has made it into a comprehensive pedestrian simulation software. Made with multithreaded Rust. Initial idea is to pair it with SNAPy , where SNAPy would simulate the general ammount of movement on a path city scale, and PIPER would simulate on the micro scale to ensure the simulated traffic would still yield good service based on its detailed design.
It is GIS based, making the link from SNAPy (and later to Pantograf) easier. The Intermodal means a trip is not only a walk. Someone can change floor, leave in a vehicle, or finish at a door, and those pieces stay in one scenario. Distances are metres. A fare line, a flight of stairs and a drop-off kerb are the same run.
Time advances in fixed steps. On each step a walker is drawn toward where it is going, pushed off walls and nearby people, and slowed by the person directly ahead in the same lane. The rules, and where they differ from the usual social-force defaults, are the method. The order of one step is the walker algorithm. What a plan can contain is in elements and vehicles. What a run records — where people stood, how dense the floor was, which level of service that is — is in outputs.
The calculation is a Rust program. In this app it runs in the browser, so the project file stays on your computer. Piper reads GeoPackage and GeoJSON in the coordinate system the file was drawn in, and works in local metres while the run is open. The same program can also run a batch of seeds outside the browser.
Piper is free software under the GNU Affero General Public License, version 3 or later. This standalone version is forever free, but please make sure to provide attribution. If you are planning to copy/modify from here, you are requried to publish it on AGPL framework too. If you like this and want to help, please subscribe to Pantograf
To be worked on:
- Floor differential desire/speed cost multiplier for parks, input by drawn polygon or raster/grid mapping.
- Comprehensive Batch System
- Scenario-based evacuation simulation
- Traffic Simulation System
- Direct integration/built in with SNAPy