这个项目能做什么

Floodcast-Gurugram 是一款面向印度古鲁格拉姆(Gurugram/Gurgaon)的市政科技洪水预报 Web 应用。它的目的是回答一个普通天气应用和淹水易发点列表无法回答的细分问题:基于实时降雨预报,给定路线在未来几小时内是否会淹水,具体何时开始淹水,以及何时消退。它不提供简单的风险评分,而是为每个判定结果附带一个时间窗。 功能特性 - 时间窗风险:将实时每小时降雨量与 73 个登记的淹水点进行对比,使用 IMD 风格的预警带以及明确的开始和消退时间,计算该点何时淹水及何时消退。 - 路线判定:解析两个地名,并寻找两者之间直线距离 1.5 公里缓冲区内的热点;应用将报告最严重的地点和最严重的时间窗。 - 每小时时间轴:用户可以向后滚动预报,观察该小时的地图、判定结果和名录读取情况。 - 降雨模拟器:由于古鲁格拉姆一年中大部分时间干燥,用户可以模拟 20、35 或 55 mm/hr 的降雨量,观察名录在与实时判定相同的引擎下的响应情况。 - 公民报告:包括相机照片、带有精度信息的 GPS 定位和观察到的水深。报告首先存储在设备上,经过审核后才公开显示。 - CPCB 国家 AQI:采用印度 0-500 标尺(基于 24 小时污染物平均值计算),而非供应商的 1-5 级指数。 数据来源被视为一项产品特性。在 73 个登记点中,39 个有来源:4 个来自 MCG 的 Zone 1 热点列表,26 个在 2022 年至 2025 年的两份或多份独立新闻报告中重复出现,9 个来自当前季风季节的有记录的机构来源。其余 24 个被描述为可能但未确认的观察名单条目,10 个是仅为维持 MCG 官方 36 个点计数而重建的占位符。README 明确指出,扩大名录降低了相对于原始 36 个点的平均置信度,且应用中的“What's real”标签页公开了这些层级,地图上的标记填充颜色编码了确定性。所有 73 行都被标记为坐标未验证;一个脚本会将其与 OpenStreetMap 进行审计并编写报告,但绝不编辑数据。路线匹配明确为直线走廊匹配,而非逐路导航,且这一点在每个路线答案中均有披露。 学习循环 彼此距离 500 米以内的报告地点被视为同一个地点。一个地点在两个不同日期收到 3 份报告后,会被提升为独立的淹水点,这些点单独提取,绝不合并到 73 个研究行中。只有在两个不同日期出现膝盖深或更严重的情况,且伴随每小时 1 mm 以上降雨后,才会发布该点的测量阈值;发布的数值是实际观察到导致该地淹水的最低降雨量。Open-Meteo 提供每份核准报告之前的降雨量。报告计数、校准对和观察阈值仅可通过数据库触发器写入,由列权限强制执行,因此审核员无法手动输入测量值。 架构与技术栈 该应用是一个静态站点:采用 React 19 和 TypeScript,使用 Vite (rolldown) 构建,使用 Leaflet 渲染,作为可安装的离线优先 PWA 发布并部署在静态托管上。热点名录(62 KB 的静态行)被内置在 bundle 中,因此地图和列表在任何网络请求之前即可渲染。评分是基于这些行的纯算术运算,在设备上运行。唯一始终开启的调用是 Open-Meteo,它不需要 API 密钥且允许跨域访问,因此由访问者的 IP 直接调用;Nominatim 仅作为名录中不存在地点的后备方案。Supabase 是可选的:没有它,预报工具仍能完全工作,报告保留在设备上。README 记录了之前的 FastAPI 容器版本,其冷启动时间为 42.7 秒且预报调用经常被限流,这促成了全客户端的重新设计;总 bundle 大小约为 160 KB (gzipped)。 数据流水线 没有训练模型。四个具有固定种子的确定性 Python 生成器分阶段构建名录(36 行冻结为 MCG 结构,然后扩展至 64 行,最后至 73 行),随后是导出 JSON 和完整性检查步骤。持续集成(CI)在每次推送时重新生成所有阶段,如果输出与提交的内容不同则报错;贡献者被要求编辑生成器而非 CSV 文件。获取了 GMDA 公布的排水网络(4,701 个映射流段,10 个流域)用于集水区分析,但该数据被刻意排除在任何风险评分之外,且有测试强制执行此项。值得注意的是,README 报告称中位数集水区大小与严重程度层级不相关,且这一负面结果被公开。由于不存在地面真值淹水日志,因此不声称整体准确率;README 代之以报告响应曲线(10 mm/hr 无淹水,20 mm/hr 影响 10 个最严重的 chowks,35 mm/hr 覆盖 73 个点中的 44 个,持续 55 mm/hr 覆盖整个名录)和 53% 的来源率。 潜在用户注意事项 所有坐标均为近似放置而非地理编码位置;阈值最初是基于严重程度层级的工程估算而非测量值,仅在公民证据积累后才被替换;路线分析使用直线走廊而非实际道路;且名录虽然部分有来源,但并非官方政府数据集。项目附带实时演示、MIT 许可证和专门的来源文档。