Map data of Prague: OpenStreetMap, Open Database License (ODbL) 1.0 The night Prague in the name intro on this site's home page (Jeden paprsek) is drawn from a derived database of OpenStreetMap data: prague.bin, served as /_astro/prague..bin (built from src/assets/data/prague.bin), and the same file gzipped (the one the intro downloads), /_astro/prague.bin..gz (built from src/assets/data/prague.bin.gz), both offered with this notice on the site's data licence page, /licence-dat/ - Credit: © OpenStreetMap contributors (Czech: „© přispěvatelé OpenStreetMap“), https://www.openstreetmap.org/copyright. The intro shows this credit, linked there and to /licence-dat/, for as long as the city is on screen. - Licence: the derived database is made available under the Open Database License (ODbL) 1.0, https://opendatacommons.org/licenses/odbl/1-0/ . Any rights in individual contents of the database are licensed under the Database Contents License, https://opendatacommons.org/licenses/dbcl/1-0/ . - Source: extracted with the Overpass API (overpass-api.de) on 2026-09-29 by fetch.py: core, all features: 50.070-50.115 N, 14.390-14.465 E mid, drivable streets and water: 50.028-50.153 N, 14.335-14.528 E outer, main roads: 49.970-50.195 N, 14.230-14.650 E - Processing (bake.py): projected to local metres (x east, z south, origin at the centre of the core box), buildings merged into blocks, simplified (Douglas-Peucker per tier), quantised (0.5 m for the network, lamps, water and landmarks; 1 m for blocks; 2 m for the far field) and packed as varints. Squares are collected from every way named "... náměstí"; offices, town halls, ministries and the old wastewater plant are not treated as floodlit landmarks. The binary format is described at the top of bake.py. - What the page adds at run time (not part of the database): street lights, windows and cars are placed procedurally along the real street network; the 2 722 street lamps mapped in OpenStreetMap keep their real positions. The recipe, next to this file: fetch.py downloads the three extracts (python fetch.py; writes raw/*.json.gz) bake.py turns them into the binary file (python bake.py; needs shapely; writes ../data/prague.bin relative to the script, as in the study it came from) prague.bin.gz is prague.bin compressed with gzip at level 9 (Python: gzip.compress(data, compresslevel=9, mtime=0)); inflated, it is prague.bin byte for byte. Re-baking (a new extract date or area) must keep this notice and the licence page in step with the new data: update the date and the boxes in both.