pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證An advanced geospatial dashboard for visualising and analysing complex urban dynamics, including footfall, demographics, and visitor interests.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗CityRhythm is an interactive map of how a city breathes through the week: where people are, who they are, how hot it feels, and how all of that could sound. It combines footfall, demographics, places, local climate and a sound layer that turns the mood of each part of the city into music. It is built for outreach: the music is there to convey feelings that images alone do not.
The data cover the Comune di Ascoli Piceno only.
The interface is in Italian.
opening_hours, or the average of places of the same type in the Marche) times the share of people found at that type of place in each hour (ISTAT time-use diaries 2008-09 via IPUMS MTUS). See src/data/luoghi-core.js.JavaScript with ES modules, no framework, built with Vite. All libraries come from node_modules at exact versions and are bundled; nothing is loaded from a CDN.
Target browsers: Chrome 110+, Safari 16.4+, Firefox 115+, including phones.
You need Node.js (with npm). No API keys or tokens are needed: map, terrain, buildings and audio are local files.
git clone https://github.com/grazianoEnzoMarchesani/cityrhythm.git
cd cityrhythm
npm install
npm run dev
Open the URL printed by Vite (usually http://localhost:5173). To try it from a phone on the same network: npm run dev -- --host 0.0.0.0.
npm run build writes a self-contained site to dist/. Pushing to main deploys dist/ to GitHub Pages through .github/workflows/deploy.yml.
Everything is served from public/data/; paths are set in src/data/config.js. The scripts that prepare the data live in sound-lab/ (Python and Node). Only data with a clear licence are kept in the repository, and every file in public/data/ has an entry in the licence inventory in second-brain/dati-legali.md.
| File | What it is | Source and licence |
|---|---|---|
luoghi_osm.geojson | 1,469 places with type, position and opening hours | OpenStreetMap, © OpenStreetMap contributors, ODbL 1.0. Derivative database, shared under the same licence (sound-lab/luoghi_osm.py) |
profili_luoghi.json, quota_in_casa.json | Hourly share of people at each type of place, and at home | Aggregates from the ISTAT time-use diaries 2008-09, harmonised in IPUMS MTUS. No microdata; every value comes from at least 30 diaries. Citations below |
cityrhythm_blimp.csv, cityrhythm_blimp_areas.kml | Presences per neighbourhood and hour (11 areas, June 2024 – February 2025) | Footfall data acquired by the University of Camerino |
lcz_ascoli.geojson, pick_giorni.bin | LCZ cells of 30 m and the per-day lookup used by the listening circle | Author's own work (sound-lab/estrai_lcz.py) |
meteo_ascoli.json | Hourly weather | Open-Meteo |
bussola.json | Compass parameters | Calibration by the project (sound-lab/) |
quartieri_disegno.geojson | Neighbourhood outlines used for drawing only | Partly ISTAT 2021 census sections, CC BY 4.0 |
mappa/ | Basemap, terrain, buildings, fonts, icons | OpenStreetMap via Protomaps; buildings from GlobalBuildingAtlas (TUM, CC BY-NC 4.0) with residents from Meta Data for Good (HRSL 2020, CC BY 4.0); terrain from Mapterhorn |
public/audio/ | Classical loops, sound effects (and debug loops) | Classical recordings from Musopen, public domain as declared by the uploader; credited in the app |
Other rules: no data from outside the Comune of Ascoli Piceno; licensed microdata (IPUMS/, ISTAT diaries, the LCZ project) and scientific papers are never committed; every sound parameter is marked as coming from a source, a project choice, or a hypothesis.
Citations for the time-use data. Kimberly Fisher, Jonathan Gershuny, Sarah M. Flood, Juana Lamote, Liana C. Sayer, Daniel Backman, Etienne Breton, and Stephanie Richards. Multinational Time Use Study Extract System: Version 1.5 [dataset]. Minneapolis, MN: IPUMS, 2025. https://doi.org/10.18128/D062.V1.5. This work uses the Multinational Time Use Study, Centre for Time Use Research, University College London, 2019, http://www.timeuse.org/mtus/reference.html.
index.html, main.js, style.css entry point, markup, styles
src/
state/store.js central store (subscribe / set / update / get)
data/ config, loading, place footfall model, state names
compass/ emotional compass: UTCI, energy, pleasantness, cell map
audio/ audio engine, Sottotraccia (rule-based music), metronomes
map/ map setup, layers, hover and click
charts/ the only module that imports ECharts
ui/ timeline, layers, area panel, sound map, circle, privacy
utils/ helpers
public/data/, public/audio/ data and sound served by the site
sound-lab/ scripts to prepare data, calibrate and test (Python, Node)
second-brain/ project memory: decisions, state, notes per topic
The pieces talk to each other only through the store. The compass is the only writer of the mood state, and the audio engine reads it, so the interface, charts, compass and audio can each be replaced independently.
second-brain/ is the project's working memory (start from SECOND_BRAIN.md): it records decisions, rejected alternatives and open questions, for people and for coding agents.
Use the DOI for all versions (10.5281/zenodo.15641270) to cite the project in general, or the DOI of a specific version (for example 10.5281/zenodo.15641271 for v1.0.0) to cite that release; all versions are listed on the Zenodo page. Please also credit the data sources listed in the app's credits panel.
The code is released under the GNU General Public License v3.0 (see LICENSE). Data and audio keep the licences listed above; some, such as the TUM buildings (CC BY-NC), restrict commercial use.
Graziano Enzo Marchesani, University of Camerino (Unicam).