%%{init: {"themeVariables": {"edgeLabelBackground": "#000000", "clusterBkg": "transparent", "clusterBorder": "#3a3a3a"}, "flowchart": {"subGraphTitleMargin": {"top": 8, "bottom": 12}}}}%%
flowchart TB
subgraph LOCAL [Different in every city]
D[the city's own sources<br/>streets, buildings, counts, census]:::data --> S[systems S1 to S9<br/>read and test them]:::step
end
subgraph ANY [The same for any city]
F[files in the published formats]:::out --> P[a game engine]:::step
end
S --> G[G1 World<br/>with its ledger]:::step
G --> F
classDef data fill:none,stroke:#8a8a8a,color:#e6e6e6
classDef step fill:none,stroke:#8a8a8a,stroke-dasharray:4 3,color:#a6a6a6
classDef out fill:none,stroke:#e6e6e6,stroke-width:2px,color:#ffffff
style LOCAL fill:#000000,stroke:#3a3a3a,color:#a6a6a6
style ANY fill:#000000,stroke:#3a3a3a,color:#a6a6a6
Make it for another city
How Situ is put together, at three levels, and what another city would need
Situ is meant to be rebuilt elsewhere. The method is the same for any city; the sources are not. So the work is split in two: systems that read one city’s sources, and files that do not care which city they hold.
Three levels
| Level | For someone who wants to | Start with |
|---|---|---|
| look | see what the systems found, street by street | the Lab, and each system’s overview (Systems) |
| understand | follow how a result was made, and what it assumes | each system’s “How it is built” page, its ledger and tests; Tracing a result |
| rebuild | make the same for another place | this page and the formats |
What each system needs from a city
| System | Needs | In Griffintown | Where to look elsewhere |
|---|---|---|---|
| S1 Streets | street centrelines with road classes and one-way directions | the city’s road network file, joined with its off-street paths | the city’s street file, or OpenStreetMap |
| S2 Scores | a segment analysis of the walking and driving networks | PlanX 4.19.0 in QGIS | the same tool on your own network |
| S3 Rules | stop signs, lights, banned turns, speed limits | the city’s sign, light and speed files, checked on street photos | the city’s traffic files; street photos |
| S4 Buildings | outlines, uses, storeys or heights | OpenStreetMap outlines; the city’s tax roll; a commercial survey; the city’s list of places | OpenStreetMap; a property or assessment roll |
| S5 Rhythm | counts by hour; opening hours | the city’s movement counts and bicycle detectors; opening hours in OpenStreetMap and the city’s places | the city’s counts; OpenStreetMap |
| S6 Streetscape | trees, lights, benches, sidewalks and other street objects | the city’s trees, hydrants, sidewalks and road works; OpenStreetMap; Mapillary | the same kinds of open files; OpenStreetMap; Mapillary |
| S7 Commuters | how and when residents commute; transit stops and timetables | the 2021 census (Statistics Canada); the STM’s timetable | the national census; the transit agency’s timetable |
| S8 Views | nothing new | worked out from S1 and S4 | the same |
| S9 Observer | nothing new; its ledger lists what to replace | 13 assumptions over S1 to S8 | your own assumptions, written the same way |
Two things never travel: what residents know, which needs fieldwork in each place, and the history of each place.
What is public, and what is not yet
Public: the method on every system page, the ledgers, the test reports, the run records, the result files, and the formats. Not yet public: the code. Until it is, someone rebuilding Situ can follow every rule and check every result, and writes the code themselves.