pgx
AI 에이전트를 위한 경량 Postgres, Rust로 구현, 하나의 런타임에서 수천 개의 격리된 데이터베이스 제공
지리 기반 의사결정 지원으로 휴스턴 경기장·공연장에 인구 밀집·고온·취약·그늘·냉방 부족이 겹치는 곳을 보여주고 대응 방안을 제시한다
Geospatial decision support that shows where event crowds, extreme heat, vulnerability, missing shade and poor cooling access overlap at Houston's stadiums and arenas — and what to do about it.
데이터TypeScript · JavaScriptGitHub @salman-khan03온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Track 3 — Public Health & the Built Environment · Rice University Urban Sustainability Hackathon
HeatShield 26 is a geospatial decision-support platform covering Houston inside Loop 610. It finds where event crowds, extreme heat, social and health vulnerability, missing shade and poor cooling access overlap at any of 6 real Houston venues — NRG Stadium, Daikin Park, Toyota Center, Shell Energy Stadium, TDECU Stadium and Rice Stadium. Then it tells planners where cooling hubs, shade, water stations and shuttle changes do the most good before the next mega-event.README 전문 보기 ↗Track 3 — Public Health & the Built Environment · Rice University Urban Sustainability Hackathon
HeatShield 26 is a geospatial decision-support platform covering Houston inside Loop 610. It finds where event crowds, extreme heat, social and health vulnerability, missing shade and poor cooling access overlap at any of 6 real Houston venues — NRG Stadium, Daikin Park, Toyota Center, Shell Energy Stadium, TDECU Stadium and Rice Stadium. Then it tells planners where cooling hubs, shade, water stations and shuttle changes do the most good before the next mega-event.
Where should Houston invest $1M to protect visitors and residents from extreme heat during its next mega-event?
Live: https://heatshield26.vercel.app · Planner: https://heatshield26.vercel.app/planner
Heat Event Risk = 0.40 × Heat exposure
+ 0.25 × Event crowd exposure
+ 0.20 × Health & social vulnerability
+ 0.10 × Shade deficit
+ 0.05 × Cooling access deficit
× (1 − protective factor from water/misting stations)
It is a decision-support composite, not a medical prediction. Every component is normalized to 0–100, and the weights can be adjusted in the app. Full formulas, heat-model fit statistics, crowd assumptions and limitations are on /methodology.
| Component | Source |
|---|---|
| Heat exposure | H3AT modeled heat index, morning/afternoon/evening (HARC / ForUsTree HTX). 2020 is primary; 2024 fills cells 2020 misses. The two campaigns disagree where they overlap (afternoon r = −0.19), so they are not blended. Gaps are filled by interpolation only where it beats a median fill under spatial cross-validation. |
| Surface temperature, impervious cover | Urban Heat Vulnerability in Texas (Houston tracts): evidence and a tested gap-fill predictor |
| Shade | USFS NLCD Tree Canopy Cover (30 m, latest year) for every cell; ForUsTree 2024 LiDAR canopy shown as evidence where it exists |
| Vulnerability | CDC/ATSDR SVI 2022; CDC PLACES 2025 release (CHD, COPD, diabetes, CKD) |
| Cooling access | City of Houston Cool Centers |
| Crowd routing | METRO light rail stations and lines (H-GAC); 6 venue footprints and their nearby parking lots/garages, by OSM capacity tag or area estimate (© OpenStreetMap contributors) |
| Zone names | City of Houston Super Neighborhoods |
| Venue capacities | NRG Stadium via FIFA; Daikin Park, Toyota Center, Shell Energy Stadium, TDECU Stadium and Rice Stadium via each venue's own published figures |
Costs and intervention effect sizes are scenario assumptions, labeled as such everywhere they appear.
npm install
npm run dev # http://localhost:3000
The processed data ships in public/data/. To rebuild it from the live sources, run the command below. It takes about 20–30 minutes, mostly raster sampling, and caches downloads in data/raw/:
npm run build:data # add -- --refresh to re-download
Optional: copy .env.example to .env.local and set GEMINI_API_KEY to enable Gemini explanations (defaults to gemini-flash-latest, with fallbacks on overload; override with GEMINI_MODEL). Optionally also set GROQ_API_KEY: when Gemini is unavailable, explanations come from Groq (openai/gpt-oss-120b, override with GROQ_MODEL). With neither key, the app serves a template explanation.
scripts/build-data.mjs Node pipeline: ArcGIS REST + ImageServer sampling, CDC CSV/Socrata, Overpass
│ → H3 grid joins, heat calibration + gap model, crowd routing
▼
public/data/cells.json per-cell attributes; per-venue crowd layers & modeled routes (6 venues)
public/data/layers.json per-venue stadium footprint/lots/rideshare zones/routes + city-wide stations, rail lines, cool centers
│
src/lib/model.ts scoring, intervention modifiers, summary metrics (pure TS)
src/lib/optimizer.ts greedy budget allocation + priority ranking
src/components/planner/ MapLibre map, scenario/zone/simulate/optimize/priorities panels
src/app/api/explain Gemini rationale → Groq fallback → deterministic template
No database: the static JSON totals ~1 MB and every computation runs client-side. One evaluation of all cells takes ~3 ms and a $1M optimizer run ~100 ms, so sliders, placed interventions and optimizer runs update instantly.
npx tsx scripts/check-model.ts # headless sanity check: distributions, top cells, optimizer consistency
node scripts/screenshots.mjs # captures docs/screenshots/*.png from a running dev server (local Chrome)
MapLibre GL 6 loads its web worker relative to its own module URL, which doesn't survive bundling. scripts/copy-maplibre-worker.mjs runs before dev and build to serve the worker from public/maplibre/.
docs/screenshots/ has the landing page, the baseline risk map, zone detail, the 3D view, the optimized $1M plan, and the crowd layer with modeled routes.