关于 rundata.re · La Réunion 974 en direct
rundata.re 是面向 La Réunion 居民和访客的 MCP 服务,为 AI 助手提供带时间与来源的岛上公共数据,明确区分实测数据与预报。
主要功能
- 01实测天气与天气预报
- 02气象、海况及火山警报
- 03公交、道路与公共服务信息
- 04河流、水质与空气质量数据
- 05徒步路线及封闭状态
适用场景
- 01查询某地当前天气和未来预报
- 02检查公交班次、海况或火山状态
- 03出发徒步前确认路线是否开放
MCP 相关
该 MCP 服务向 AI 客户端提供 La Réunion 的公共数据查询工具,涵盖天气、交通、服务及自然环境等信息。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://rundata.re/mcpclaude mcp add --transport http re-rundata-temps-reel https://rundata.re/mcp{"mcpServers":{"re-rundata-temps-reel":{"type":"http","url":"https://rundata.re/mcp"}}}在 Cursor 中打开{"servers":{"re-rundata-temps-reel":{"type":"http","url":"https://rundata.re/mcp"}}}在 VS Code 中打开{"mcpServers":{"re-rundata-temps-reel":{"type":"http","url":"https://rundata.re/mcp"}}}{"mcpServers":{"re-rundata-temps-reel":{"serverUrl":"https://rundata.re/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
rundata.re · 留尼汪岛 974 实时信息
出行、徒步、实测天气、道路:留尼汪岛的公共数据,实时更新,注明日期和来源。
在 rundata.re 和您的 AI 助手(ChatGPT、Claude、Le Chat)中均可使用。免费,无需账户。
这个 MCP 服务可向您的 AI 助手(Claude、ChatGPT、Le Chat……)提供留尼汪岛当前的公共数据:气象站实测天气、警报、海况、火山、电力、空气质量、公共服务、公交时刻、地形和风险。它可以回答“圣皮埃尔现在天气怎么样?”“圣皮埃尔车站下一班公交是什么时候?”或“火山正在喷发吗?”等问题,并提供注明日期和来源的数据。实测数据绝不会与预报混淆:对于“明天会下雨吗?”这类问题,另有工具提供模型预报,并始终明确标注为预报。
English:一个 MCP 服务,向 AI 助手提供留尼汪岛当前的公共数据(实测天气、警报、海况、火山、电力、空气质量、公共机构、公交时刻、地形和风险),注明日期和来源,并将预报单独列出、清晰标注。参见英文摘要。
工具
| 工具 | 适用于哪些问题 | 返回内容 |
|---|---|---|
meteo_actuelle(lieu) | “Saint-Gilles 天气热吗?”,“Mafate 下雨了吗?”,“Saint-Joseph 最近什么时候下过雨?”,“Saint-Pierre 有风吗?” | 最具代表性气象站的测量数据:温度、降雨量(6 分钟和 1 小时)、湿度、风、阵风、气压、当前天气。包括时间、距离、高差和所在坡面。还会提供 Météo-France 雷达观测到的地点及周围 3 km 降雨情况(5 分钟图像,并注明雷达质量;在冰斗深处质量较低)。指定地点后,还会提供最近雨量计过去几小时的降雨情况:过去 12 至 24 小时逐小时数据(“14 时–15 时:1.4 mm”)、最近一次降雨时间和午夜以来的累计降雨量,依据 Météo-France 的逐小时数据包和 6 分钟测量数据;如果阴云密布却没有测到降雨,会提醒用户毛毛雨可能未被雨量计测到。 |
prevision_meteo(lieu, quand) | “明天 Saint-Denis 会下雨吗?”,“这个周末 Cilaos 天气怎么样?” | Météo-France 的海外地区 AROME 模型(网格间距 2.5 km)未来最初 48 小时的预报,之后至 7 天使用 ECMWF 的 IFS 模型(9 km),按天和 3 小时时段提供,并根据地点海拔修正温度;每天都会说明哪些时段采用了哪个模型。每日预报紫外线指数(CAMS、Copernicus),采用 WHO 的分级。在高地(海拔 800 m 以上),根据 AROME 的云底和云顶数据,提供上午云海情况(6 时至 9 时、9 时至 12 时):晴朗、在云层上方、云边、云中或云下,并以 100 m 为精度标注云层高度。全岛范围内,还会根据 AROME 提供夜间天空情况(18 时至 6 时,每 3 小时一段,包括今晚或用户指定的夜晚):晴朗、多云、阴天或预计有雨;高地还会说明位于云层上方、云边、云中或云下。每天的可信度(高、中或低)依据 ECMWF ENS 集合预报在 25 km 网格上的 51 种情景是否一致,并说明原因;这绝不是地点本身的降雨概率,且计算数据超过 24 小时时不提供可信度。每条回答都带有 nature: "prevision",并提醒用户这不是实测数据、模型无法识别微气候,且遇到气旋时应以官方警报为准。quand: “明天”、“今晚”、“星期六”、“这个周末”…… |
vigilance_meteo(lieu?) | “有气旋警报吗?”,“东部有强降雨警戒吗?” | Météo-France 官方警报:气旋警报(预警、橙色、红色……),以及各区域未来 24 小时公报中的强降雨/雷暴、强风、巨浪/海水淹没警报,并附后续通报内容。不指定 lieu:全岛;指定地点:该地点所属区域。meteo_actuelle 和 prevision_meteo 会自行提示高于绿色级别的任何警报。如果过去 24 小时内卫星检测到植被火灾,还会提供一行 feux_detectes。 |
temperature_mer(lieu) | “Boucan 的水温是多少?”,“Saint-Leu 的涌浪怎么样?” | 地点附近最近一次测得的水温,并注明日期、距离和测量类型(浮标或卫星);另在 etat_de_la_mer 中提供 ECMWF 的 WAM 模型预报浪况(9 km,4 天):当前浪高、周期和方向,按 3 小时时段提供,并给出每天的最大值,始终标注为预报。 |
volcan_seismes() | “火山正在喷发吗?”,“可以上火山吗?”,“发生过地震吗?” | 是否正在喷发、ORSEC 级别、最近一次喷发、Enclos 是否开放(pitonlive.com,依据省长令)、OVPF-IPGP 最近发布的内容,以及过去 30 天定位到的火山下方和其他地方的地震。 |
electricite(lieu?) | “电力来自哪里?”,“什么时候给电动汽车充电?”,“Sainte-Marie 停电了吗?” | EDF 每 5 分钟按能源类型发布的发电量和可再生能源占比;EDF 的“电力天气”(高峰时段、电网受限情况),涵盖未来几天;EDF 发布并由市政府转发的停电通知(日期、时间、区域及公告链接,不提供公告正文),通过定时事件读取;其他地方则会说明市政府没有发布相关信息,绝不会说“没有停电”。 |
qualite_air(lieu?) | “Saint-Louis 空气污染严重吗?” | Atmo Réunion 提供的今日和明日各市镇 ATMO 指数,并注明相关污染物。 |
sites_sans_reponse(quoi?) | “OVPF 网站能用吗?”,“为什么没有火山通报?”,“Sudéau 网站是不是没响应了?” | 当前无法访问的岛上公共网站:从何时开始无法访问、最近一次检查的通俗描述,以及 rundata.re 因此缺少的内容;恢复响应的网站会从列表中移除。读取失败时,src/http.ts 会在 D1 的 sans_reponse 表(scripts/sans-reponse.sql)中记录,但只有网站状态发生变化时才记录;在 06:00 重新检查之前,网站会保持“待核实”状态,不会显示;每个网站在定时事件中执行一次 GET。公开显示任何状态前须连续失败两次;显示“有响应,但无法读取”前须连续收到两个 403。尚未同意加入的市镇网站不会列入其中。也可在 /sites-sans-reponse 查看。 |
annuaire_services_publics(quoi, lieu?) | “Saint-Paul 市政府的办公时间?”,“CAF 在哪里?”,“本月汽油价格是多少?” | 根据 service-public.fr 服务目录提供公共服务机构的地址、开放时间(现在营业吗?)、电话和网站。还提供省长令规定的本月燃油和煤气罐最高价格(全岛统一),每天由 .github/workflows/carburants.yml 从省政府公告中读取;也可在交通页面查看。还提供地点附近的药房、医院和诊所,依据 FINESS(quoi = “药房”、“急诊”、“医院”):绝不猜测值班药房,会像 ARS La Réunion 一样引导用户访问 3237.fr 或拨打 32 37;紧急情况请先拨打 15。还提供 OpenStreetMap 中标注的露天市场和室内市场,以及其中列出的营业日(quoi = “市场”):列表并不完整,回答会对此作出说明。还提供西部地区的垃圾回收站(quoi = “垃圾回收站”、“大件垃圾”、“绿色废弃物”……):垃圾箱是否已满依据 TCO 工作人员提供的信息,超过 6 小时未更新的数据会标为待核实;其他地区则会引导用户联系 CINOR、CIREST、CIVIS 或 CASUD。还提供西部五个市镇按街道查询的垃圾收集日(quoi = “收集”、“垃圾桶”,lieu = 街道和市镇),依据 TCO 的 2026 年日历。 |
transports(arret, ligne?) | “Saint-Pierre 汽车总站的下一班公交车什么时候发车?”,“黄线巴士几点经过 Saint-Leu?” | 该站点所有交通网络的下一班车(线路、方向、时间、等待分钟数):Car Jaune、Citalis、Kar'Ouest、Alternéo、CarSud、Estival、Papang 缆车。提供各交通网络发布的时刻表;对于 Car Jaune(以及在其数据流正常时的 Alternéo、CarSud),还提供运营方公布的实时发车时间、延误、未停靠站点和交通信息。输入的地点若不是站点,则返回附近站点。 |
velos_libre_service(lieu?) | “IUT 站还有共享单车吗?”,“Saint-Pierre 海滨附近哪里可以租到自行车?” | Altervélo 电动助力共享单车的实时信息(Saint-Pierre、Saint-Louis、L'Étang-Salé):每个站点可租车辆数和空位数、地点附近最近的站点,或整个网络的情况。 |
maree(lieu?) | “潮水正在上涨吗?”,“上次高潮是什么时候?”,“Le Port 的海平面是多少?” | SHOM 潮位计在 Le Port(Pointe des Galets)和 Sainte-Marie 每分钟测得的水位:水位、涨潮或退潮状态、最近一次观测到的高潮和低潮。随后提供即将到来的高潮和低潮时间,由 rundata 根据测量数据计算,并非 SHOM 官方预测(该预测未以开放数据形式提供):时间四舍五入至 5 分钟,Le Port 的误差约为 15 分钟,Sainte-Marie 约为 20 分钟;高度误差约为 5 cm,不提供潮汐系数(见下文“计算潮汐”)。 |
crues_rivieres(lieu?) | “Rivière des Galets 河水位上涨了吗?”,“有洪水警报吗?”,“Ravine Saint-Gilles 的水位是多少?” | Vigicrues Réunion 按河流提供的洪水警报,以及各河流 29 个站点每 5 分钟测得的水位和流量,并附变化趋势和历史洪水数据供参考。 |
bornes_recharge(lieu?, rapide?) | “Saint-Gilles 附近有空闲充电桩吗?”,“Saint-Pierre 哪里可以快速充电?” | 公共电动汽车充电站(136 个站点、411 个充电点),以及每个充电点的实时状态:空闲、占用或故障,并提供功率、插头类型、开放时间和运营网络。 |
qualite_eau(lieu?, eau?) | “Cilaos 的自来水可以饮用吗?”,“可以在 l'Hermitage 游泳吗?” | 根据 ARS 的检测结果提供水质信息:按供水网络查询自来水(最近一次检测、过去 6 个月内的不合格情况),以及 26 处受检海滩和水池的逐次采样结果。 |
sentiers_randonnee(lieu?, longueur_min_km?, longueur_max_km?, denivele_max_m?) | “Mafate 有关闭的步道吗?”,“Roche Pendue 步道开放吗?”,“Piton des Neiges 的 GPS 轨迹?”,“Cilaos 有没有 10 km 左右的徒步路线?” | 根据 ONF 地图提供开放或关闭的徒步步道和林道,并说明每处关闭的原因和预计重新开放日期;可按步道、地点周边、冰斗或市镇查询,也可按长度或爬升筛选。提供 ONF 每条步道及 OpenStreetMap 完整路线(GR R1、R2、R3、Piton des Neiges、Roche Écrite……)的 GPS 轨迹(GPX),包括长度、累计爬升和下降,以及海拔剖面(IGN 海拔数据);对于指定路线,还会显示所经过 ONF 步道的状态。只要其中一条步道关闭,avertissement 字段和摘要开头就会提示。配置 FIRMS 密钥后,还会提供 feux_detectes 区块:过去 24 小时卫星检测到的植被火灾(可能有误报),并附上 18 和 112 的号码;指定地点附近发生火灾时,会在摘要开头提示。 |
restrictions_eau(lieu?, profil?) | “Saint-Joseph 有限水措施吗?”,“我可以给花园浇水吗?” | 当前干旱限制令规定的限水措施,按市镇区分(自来水、河流和泉水、地下水),并说明个人、企业、集体机构或农业经营者不得进行哪些活动。 |
coupures_eau(lieu?) | “Saint-Denis 停水了吗?”,“La Plaine-des-Palmistes 的水可以饮用吗?” | 供水运营商发布的通知:施工停水(时间、街道)、故障和“请勿饮用”通知;涵盖 Saint-Denis、La Possession、东部六个市镇和 runéo。 |
resume_du_jour(lieu) | “今天 Saint-Paul 有什么新消息?”,“我在 Le Tampon 的一天” | 一次调用即可获取某市镇当天情况(地点会归属到所在市镇):实测天气和当天预报、所在区域的警报、海况、空气质量、电力、媒体报道的道路状况和交通阻断(不含拥堵测量)、市镇新闻、停水通知、当天活动、节假日或假期、日出日落、市政府是否开放、当天市场(依据 OpenStreetMap 中的营业日)、TCO 市镇垃圾回收站垃圾箱状态(仅采用更新未超过 6 小时的数据)、本月燃油最高价格,以及引导至 3237.fr 查询的值班药房信息,绝不猜测。数据取自网站页面的缓存内容,调用时绝不重新生成:最多读取约 12 项;没有最新缓存的内容会在 non_inclus 中列出,并注明应调用的工具;回答后,如果调用预算允许,会更新最旧的缺失缓存。全岛共用的缓存(新闻、道路、电力、停水、空气质量、海况、日历)也会由定时事件在 AROME 数据网格之后为所有数据中心更新(src/web/partagees.ts)。 |
defibrillateurs(lieu?) | “l'Hermitage 海滩附近最近的除颤器在哪里?” | 返回地点附近最近的除颤器(全岛超过 1,200 台):地址、距离和步行时间、具体位置,以及是否全天开放或仅在营业时间开放;并提醒拨打 15 或 112。 |
sport(sport?, lieu?, quand?) | “南部这个星期日有排球比赛吗?”,“VBSP 什么时候比赛?”,“这个周末有哪些比赛?”,“手球排名怎么样?”,“谁赢得了 Grand Raid?” | 本地手球(D1)和排球(R1 和 R2,所有分组)的即将举行赛事和最新官方赛果,并提供俱乐部全名和比赛所在市镇(地点可为市镇、“南部”或俱乐部缩写);还包括根据排球联盟公告和本地新闻提供的取消或延期比赛、排名、帆船赛、高尔夫赛事、赛车日程和 Grand Raid 信息(参赛者、退赛者、领奖台选手)。不提供足球赛果:没有开放数据来源。 |
cyclones(lieu?) | “现在有气旋吗?”,“这场风暴会经过 Saint-Philippe 附近吗?”,“上一个气旋是什么?”,“学校明天关闭吗?” | 根据 La Réunion 区域专责气象中心(CMRS,Météo-France)的公报,提供西南印度洋活跃热带系统的信息:阶段、平均风速、气压、位置、与岛屿或指定地点的距离和方向、移动情况、官方预报和最近登陆点;还提供省政府的气旋警报,并依据 ORSEC Cyclones 机制(2026-182 号令)说明警报对托儿所和学校的含义,绝不针对某所学校作出判断。非气旋季期间:提供最近一次热带系统和本季系统的信息。 |
historique_meteo(lieu?, jours?, du?, au?, detail?) | “Saint-Benoît 这个月雨下得多吗?”,“过去两周每天都阴天吗?”,“Cilaos 昨天的气温是多少?”,“Saint-Denis 的高温纪录是多少?”,“昨天几点下的雨?”,“昨晚最大阵风是多少?” | Météo-France 气象站从首个观测年份(最早可追溯至 1900 年)到昨天的每日测量数据:降雨量、温度、日照、阵风;最多按天查询两个月,更长时段按月或按年查询(每个问题最多 10 年),并与该站 1991–2020 年气候平均值比较,附该站纪录。查询时间为 3 天或更短(按需可扩展至 7 天)且自 2000 年起的,还可提供逐小时数据,包括昨夜:降雨、日照、温度、风和阵风的时间。 |
evenements(lieu?, quand?, quoi?) | “这个周末 Saint-Paul 有什么活动?”,“今晚有音乐会吗?”,“星期六 Saint-Denis 有演出吗?”,“明天有露天市场吗?” | 即将举行的音乐会、戏剧、舞蹈、喜剧演出、晚会、节庆、音乐节、市场和活动,信息来自各场馆的节目单(TÉAT Champ Fleuri 和 Plein Air、Cité des Arts、CDNOI、Kabardock、Le Séchoir、Léspas、Bisik、Théâtre Luc Donat),Saint-Paul、Le Port、Trois-Bassins、La Possession、Le Tampon、Entre-Deux、Saint-Louis、L'Étang-Salé、Petite-Île、Saint-André、Bras-Panon 和 Saint-Benoît 市政府的活动日历,东部旅游局、CINOR 和北部旅游局(OpenAgenda):标题、日期和时间、场馆、市镇、类型、票价和售票信息(如有),活动状态(取消、延期、售罄);也包括媒体早于主办方发布的活动消息(注明“据 Imaz Press 报道”并附链接),以及活动页面链接。可按市镇、日期(今天、今晚、明天、这个周末、指定日期)和类型查询;电影场次会引导用户访问影院网站。 |
actualites(lieu?, sujet?, heures?) | “Saint-Pierre 有道路封锁吗?”,“示威情况怎么样?”,“Saint-Benoît 有什么新消息?”,“气旋的最新消息是什么?” | 根据每 5 分钟重新检查的本地媒体及其实时报道,提供岛上正在发生的事情:每条信息都包括时间、媒体、标题、首句、提及的市镇和地点、与用户指定地点相关的内容,以及文章链接;还包括省政府公告。可按市镇或街区,以及主题(示威和道路封锁、道路、天气、火山、水、社会新闻……)查询。 |
calendrier(lieu?) | “学校假期是什么时候?”,“12 月 20 日是法定假日吗?”,“Maïdo 的日出时间?”,“下次满月是什么时候?” | La Réunion 学区假期、法定假日(包括 12 月 20 日)、指定地点的日出和日落,以及月相:月相、受照比例、指定地点的月出和月落、下一次月相变化;由 Worker 计算(误差几分钟,适用于无遮挡地平线)。 |
fiche_terrain(adresse) | “这块地可以建房吗?”,“Boucan 的每平方米价格是多少?”,“这栋房子位于洪水风险区吗?” | 地籍地块(地籍分区、编号、面积)、PLU 分区(U、AU、A、N)及其法规链接、地面海拔,以及附近过去 5 年出售的房屋、公寓和土地的中位价格(DVF 汇总数据,不包含任何单笔交易)。风险信息:地块是否位于风险防范计划管制区内(水灾、地面移动、海岸或技术风险),并附计划链接;市镇的自然灾害令;500 m 范围内登记的滑坡和落石;地震风险和氡风险。 |
donner_avis(type, message, outil?, lieu?, question_utilisateur?) | (由助手调用) | 向 rundata.re 提交反馈:缺失数据、错误数值、建议或赞扬。鼓励助手在工具未找到信息或出错时,或用户表达愿望时,主动提交反馈。不包含个人数据;电话号码和电子邮箱地址会被移除。 |
sources_donnees() | “这些数字来自哪里?” | 数据来源、许可证和署名信息。 |
lieu 是一段自由文本:一个市镇、海滩、街区、冰斗、山峰,或坐标 -21.05, 55.22。目录收录了约 1,250 个来自 OpenStreetMap 的地点及其 IGN 海拔。 |
注明来源。 每条回答最后都包含 citer(「rundata.re,根据 Météo-France(Saint-Pierre Pierrefonds 站)」,列出实际使用的来源)和 lien,即 rundata.re 上展示相同内容的页面。sources 保留每个数据提供方完整的署名和许可信息:rundata.re 是补充,而非替代。当没有找到结果时,avis 行会提醒使用工具 donner_avis。
每条回答中的数据新鲜度和新增内容。 除了 citer,fraicheur 还会说明数据的日期(如果来源提供,则为 donnee_du)、rundata.re 读取数据的时间(留尼汪时间,即 lue_a)、数据年龄,以及 copies_de_secours:当部分内容来自最近一次读取的副本时,会注明未响应的来源名称及该副本的时间(当同一回答中也包含该来源最新读取的部分时,标记为 partielle:每份副本都会记录其读取的来源);或者注明本次未能读取的部分(警告会说明这一点,只有确实为最新的回答内容才会标为最新)。缓存会记录每次调用所提供的内容(src/lectures.ts),无需任何工具说明这一点。serveur 块会提供版本、工具数量以及一周内新增的工具:工具列表已过时的助手(有些会将列表保留数小时)可以看到这一信息,并据此说明。sources_donnees 列出所有工具和最新新增内容。所有这些信息都来自 src/nouveautes.ts,每次新增工具或发生可见变更时都应更新;服务器指令开头的索引由此生成,变更也会同步到网站的 /nouveautes 页面和 CHANGELOG.md(npm run changelog 会重写该文件;测试会检查其是否为最新)。
微气候。 该岛在 20 公里的范围内海拔从 0 米升至 3,000 米。东部迎风(「迎风坡」),西部背风(「背风坡」)。因此,每条回答都会说明气象站的参考适用性(bonne / moyenne / faible),并在气象站海拔较低、距离较远或位于另一侧山坡时发出警告。沿海气象站绝不会在没有说明的情况下用于回答 Cilaos 的情况。
来源
| 来源 | 测量内容 | 更新频率 | 许可 |
|---|---|---|---|
| Météo-France 气象站,API Package Observations(免费密钥,可选) | 约 56 个站点,从海岸到山顶:空气、降雨,部分站点还测量湿度、风、气压 | 每 6 分钟一次,发布延迟 5 至 10 分钟 | Licence Ouverte Etalab 2.0 |
| Gillot 和 Pierrefonds METAR(Météo-France,通过 NOAA aviationweather.gov) | 空气、湿度、风、气压、当前天气 | 每 30 分钟一次,延迟约 20 分钟 | OMM 数据,可自由传播 |
| Pioupiou 风力传感器 / OpenWindMap | 风 | 每 4 分钟一次 | OpenWindMap 社区许可,必须注明出处 |
| NOAA CoastWatch ACSPO L3S | 海表温度,卫星数据,分辨率为 2 km 网格 | 每日更新,最早次日发布 | 公有领域 |
| NASA Aqua MODIS(通过 NOAA PFEG),备用数据 | 同上,分辨率为 4 km 网格,仅限白天 | 每日更新,最早次日发布 | 公有领域 |
| Météo-France 天气警报和气旋警报(API DPVigilance,使用同一密钥) | 按区域和小时显示颜色、跟进文本 | 每有新公告时更新,每 5 分钟读取一次 | Licence Ouverte Etalab 2.0 |
| Météo-France 雷达,La Réunion 500 m 降水量图(API DPRadar,使用同一密钥) | Colorado 和 Piton Villers 雷达估算的降雨量,以及质量指标 | 每 5 分钟一次 | Licence Ouverte Etalab 2.0 |
| OVPF-IPGP 地震数据(IPGP 的 FDSN 服务) | 火山下方和岛上发生的已定位地震、震级、深度 | 分析人员完成定位后立即更新 | CC BY 4.0 |
| OVPF-IPGP 发布内容(其公开 Bluesky 账号) | 月度公告、通报、喷发信息;通报以图片发布时,自动读取首张图片中的文本(Tesseract,scripts/ovpf-ocr.ts),并注明其来源 | 每次发布时更新 | 附上链接并注明来源 |
| pitonlive.com(独立网站) | ORSEC 级别、当前喷发情况、根据省长令公布的 Enclos 入口通行情况 | 每 10 分钟读取一次 | 未注明:附上名称和链接 |
| EDF SEI Réunion,开放数据 | 按能源类型划分的发电量;“电力天气” | 每 5 分钟更新;每日更新 | Licence Ouverte Etalab 2.0 |
| EDF Réunion 电力中断通知,由 Sainte-Marie、Saint-Philippe、Cilaos、Saint-André 和 Sainte-Suzanne 市政府转发(其网站的 WordPress API;Saint-André 则读取其在线发布的 EDF 信函列表 PDF) | 每次中断的日期、时间和区域;正在发生或计划中的中断,以及通知标题和链接;不转载通知正文;对于 PDF,仅使用文件名所示的中断日期,否则使用上线日期,并附上链接(不读取任何 PDF) | 定时任务每 2 小时重新读取一次(web:courant,src/web/partagees.ts) | 公开信息,仅使用事实 |
| 西部地区(TCO)的垃圾回收站实时情况 | TCO 的 13 个垃圾回收站中,各类废弃物(大件垃圾、绿色废弃物、建筑垃圾、金属等)的垃圾箱是否已满;由工作人员约每 2 小时填写一次;站点列表包含在数据包中(scripts/build-decheteries.py) | 每 30 分钟重新读取一次 | Licence Ouverte |
| 西部地区垃圾收集日历(TCO) | Saint-Paul、La Possession、Saint-Leu、Le Port 和 Trois-Bassins 的 3,247 条道路各自的收集日历;读取 125 份日历 PDF,获取生活垃圾、可回收垃圾、绿色废弃物和大件垃圾的收集日期及节假日(scripts/build-collecte.py,每月核对星期几);数据包含在数据包中 | 每周一,.github/workflows/collecte.yml 比较数据集的更新时间;数据集变更时任务失败,以便重新生成(PDF 无法读取时也会失败) | Licence Ouverte |
OpenStreetMap 的露天及有顶市场(amenity=marketplace) | 名称、填写时的开放日期和时间、地址、位置;列表不完整 | 数据包含在数据包中,由 scripts/build-marches.py 重新生成 | ODbL,© OpenStreetMap 贡献者 |
| FINESS,全国卫生和社会机构名录(卫生部) | La Réunion 的药房、医院和诊所:名称、地址、市镇、电话、位置(不含精神科和康复机构);FINESS 未提供开放时间或急诊服务信息;名称和地址不含重音符号,与原始文件一致 | 数据包含在数据包中,由 scripts/build-sante.py 重新生成 | Licence Ouverte 2.0 |
| 燃油和煤气罐最高价格(省政府公告,省长每月发布的命令) | 高级汽油、柴油、GNR、煤油、海上专业用途燃料、12.5 kg 煤气罐,以及与上月的差价 | .github/workflows/carburants.yml 每天读取一次;若 2 日之后仍缺少当月命令,则任务失败 | Licence Ouverte(国家公开信息) |
| 学校日历(国民教育部)和节假日(calendrier.api.gouv.fr) | La Réunion 学区的假期、节假日 | 每天读取一次 | Licence Ouverte Etalab 2.0 |
| Atmo Réunion 的 ATMO 指数(Atmo France 地理服务器) | 按市镇划分的空气质量、主要污染物 | 每天更新当天及次日数据 | Licence Ouverte Etalab 2.0 |
| 行政机构名录(service-public.fr,DILA) | 公共服务机构的地址、开放时间、电话 | 各机构自行更新 | Licence Ouverte Etalab 2.0 |
| IGN 国家地址数据库和 Géoplateforme:地理编码、地籍(DGFiP)、Géoportail de l'urbanisme、RGE ALTI 海拔数据 | 地址、地块、PLU 区域、地面海拔 | 各登记库更新时同步更新 | Licence Ouverte Etalab 2.0 |
| 风险预防计划(DEAL 在 Géoportail de l'urbanisme 上发布的 PM1 和 PM3 地役权) | 洪水、地面移动、沿海和技术风险预防计划中的管制区域 | 计划每次修订时更新 | Licence Ouverte Etalab 2.0 |
| Géorisques(生态转型部、BRGM) | 自然灾害令、已记录的地面移动(BDMvt)、地震活动、氡 | 每次发布法令或记录时更新 | Licence Ouverte Etalab 2.0 |
| 公交网络时刻表(GTFS):Car Jaune(大区)、Citalis 和 Papang 缆车(CINOR)、Kar'Ouest(TCO)、Alternéo(CIVIS)、CarSud(CASUD)、Estival(CIREST),通过 transport.data.gouv.fr 获取 | 约 10,000 个站点的理论时刻表;由 scripts/build-transit.py 整理到 Cloudflare D1 数据库中 | 各网络发布新版本时更新 | Licence Ouverte Etalab 2.0 |
| 实时公交(GTFS-RT):Car Jaune、Alternéo、CarSud,通过 transport.data.gouv.fr 获取 | 每班车到达后续站点的预计时间、已取消的班次和站点、交通信息;按班次和站点与时刻表匹配 | 每分钟更新 | Licence Ouverte Etalab 2.0 |
| Altervélo 共享电动自行车(CIVIS,由 Ecovélo 运营),通过 transport.data.gouv.fr 获取 GBFS 数据流 | 各站点可用的自行车和停车位 | 实时更新(最多每分钟重新读取一次) | Licence Ouverte Etalab 2.0 |
| SHOM 潮位站,RONIM 网络(REFMAR):Pointe des Galets(Le Port)和 Sainte-Marie | 相对于海图基准面的水位,原始数据;用于潮汐计算的已验证逐小时水位 | 每分钟更新,延迟约 4 分钟;由 scripts/build-maree.py 重新计算 | Licence Ouverte 2.0,注明「REFMAR. http://dx.doi.org/10.17183/REFMAR#RONIM」 |
Vigicrues Réunion(DEAL Réunion):洪水警报和 29 个河流水文站;站点位置来自 Hub'Eau 参考数据,由 scripts/build-crues.py 整理 | 按河流划分的洪水警报、水位和流量、参考洪水信息 | 每 5 分钟更新 | Licence Etalab,注明「© VIGICRUES」及日期 |
充电桩:transport.data.gouv.fr 的 IRVE 全国数据库,站点列表由 scripts/build-irve.py 整理,每 15 分钟筛选一次全国文件中的状态 | 站点、各充电点的功率和插座,以及空闲、占用或停用状态 | 每 15 分钟更新 | Licence Ouverte Etalab 2.0 |
| 自来水:ARS 卫生检测,通过 Hub'Eau 获取 | 按供水网络划分的分析结果、合规情况、超出限值的参数 | 每次发布时更新(采样后 1 至 2 个月) | Licence Ouverte Etalab 2.0 |
游泳水域水质:游泳水域卫生检测(ARS、卫生部),站点列表由 scripts/build-baignades.py 整理;通过 .github/workflows/eau.yml 每天汇总全岛数据四次 | 每次采样的肠球菌和大肠杆菌数据、海滩和泳池信息 | 约每两周更新一次 | 公开信息 |
| 徒步: ONF 关闭步道地图(公共地图服务) | ONF 管理的每条步道和林道的状态、关闭原因、预计重新开放时间 | ONF 每次更新时同步更新(省长令、ONF 决定) | 公开信息,ONF La Réunion |
植被火灾:NASA FIRMS(按区域查询 API,VIIRS Suomi NPP、NOAA-20 和 NOAA-21 卫星,375 m),使用免费的 MAP_KEY 密钥(FIRMS_MAP_KEY);不提供密钥时不会发起请求或显示数据 | 过去 24 小时的热点:位置、时间、置信度、功率;注明“卫星探测,可能存在误报”(热屋顶、工业场所、获准焚烧) | 每天过境 4 至 6 次;每颗卫星查询一次(3 个子查询),结果缓存 30 分钟并覆盖全岛,只有剩余用量至少为此次查询成本的两倍时才查询 | NASA 数据,可自由分享;“We acknowledge the use of data and/or imagery from NASA's FIRMS (https://earthdata.nasa.gov/firms), part of NASA's Earth Science Data and Information System (ESDIS).” |
徒步轨迹:La Réunion 的 OpenStreetMap「hiking」关系数据,由 scripts/build-traces.py 拼接并简化(5 m);按需读取全分辨率 ONF 步道数据;海拔来自 IGN 高程服务(RGE ALTI) | GPS 轨迹(GPX)、长度、爬升高度、海拔剖面 | 每次重建时更新路线;ONF 步道每小时重新读取一次 | ODbL,「© OpenStreetMap 贡献者」;ONF:公开信息;IGN:Licence Ouverte Etalab 2.0 |
| 干旱:VigiEau(省长发布的用水限制令) | 按市镇和水资源划分的级别、受限制的用途 | 每有新法令时更新 | Licence Ouverte Etalab 2.0 |
| 停水通知:Dionéo、runéo、Eaux de La Possession 的通知数据流,以及 CIREST(CISE Réunion)的供水公告 | 停水、施工、“请勿饮用”通知 | 每有新通知时更新 | 公开信息(用户通知) |
自动体外除颤器:Géo'DAE,卫生部全国数据库,列表由 scripts/build-dae.py 整理 | 每台设备的位置、使用权限、申报的开放时间 | 每次重建列表时更新 | Licence Ouverte Etalab 2.0 |
| 体育:FFHB、FFVB、Ligue réunionnaise de volley-ball 的公告、FFVoile、ffgolf、Ligue du sport automobile、Sportsregions(俱乐部日历)、Grand Raid(Livetrail) | 比赛、比分、排名、取消和延期、帆船赛、竞赛、拉力赛、俱乐部活动、颁奖台信息 | 从 30 分钟(Grand Raid、排球联盟公告)到 24 小时(汽车运动日历)不等 | 公开信息(官方日历和结果、各俱乐部发布的活动、附上链接的公告) |
气旋:La Réunion CMRS(Météo-France)的公告,由 GDACS(欧盟委员会、联合国)转载;地图海岸线来自 Natural Earth,由 scripts/build-ocean.py 整理 | 各系统的位置、阶段、风力、气压、路径和预报 | 气旋活动期间每 6 小时更新 | 可自由复用,注明「Global Disaster Alert and Coordination System, GDACS」;Natural Earth:公有领域 |
历史数据:Météo-France 每日基础气候数据,自 1900 年以来的 249 个站点,由 scripts/build-climat.py 整理;1991-2020 年气候平均值由 scripts/build-normales.py 计算 | 每日降雨、气温、阵风、日照、辐射、湿度 | 每天早晨更新,包含前一天的数据 | Licence Ouverte 2.0 |
逐小时历史数据:Météo-France 每小时基础气候数据,自 2000 年以来的 104 个站点,由 scripts/build-climat-h.py 整理 | 按小时记录降雨、气温、湿度、风、阵风、日照、辐射(La Réunion 当地时间) | 每天早晨更新,包含刚结束的夜间数据 | Licence Ouverte 2.0 |
| 活动:TÉAT Champ Fleuri et Plein Air、Cité des Arts、CDNOI、Kabardock、Le Séchoir(The Events Calendar)、Léspas、Bisik、Théâtre Luc Donat 的场馆节目;Saint-Paul、Le Port 和 Trois-Bassins 市政府的 The Events Calendar;Tampon、Saint-Louis、Saint-André、L'Étang-Salé、Entre-Deux 和 La Possession 的活动日历 RSS 数据流;Petite-Île、Bras-Panon 和 Saint-Benoît 的活动日历页面;东部旅游局活动日历(OTI EST REUNION);CINOR 和北部旅游局的 OpenAgenda | 活动:日期、时间、地点、价格 | 每小时重新读取一次 | Licence Ouverte Etalab 2.0(OpenAgenda);公开信息(场馆节目、市政府日历):每个活动仅列事实(标题、日期、时间、地点、类别、状态)及其文本的首句(至多),并注明发布方名称、活动页面链接和读取时间;东部旅游局:其法律声明允许转载,注明「OTI EST REUNION — Droits réservés」,标题按原文引用 |
| 新闻:Clicanoo、Imaz Press(Google News 站点地图及其“连续新闻”直播)、Freedom、Parallèle Sud、Témoignages 的标题;省政府新闻稿 | 标题、时间、首句、提及的市镇和地点、提及地点的句子、链接 | 每 5 分钟重新读取一次 | 仅列标题、首句和链接,作为新闻聚合器;文章仍保留在各媒体网站上;省政府新闻稿:Licence Ouverte。拒绝自动读取程序的 Linfo.re 和 Zinfos974 不会被读取。 |
| 地产价值申请(DGFiP),Cerema 的 DVF API | 房地产交易,按中位数汇总 | 每年两次 | Licence Ouverte Etalab 2.0 |
Météo-France 海外地区 AROME 预报(API「AROME」,与观测数据使用同一密钥;仅供 prevision_meteo 工具使用) | 模型预报,网格分辨率为 2.5 km,预报时长为 48 小时 | 每天计算 4 次 | Licence Ouverte Etalab 2.0 |
ECMWF IFS HRES 预报,通过 Open-Meteo 获取(仅供 prevision_meteo 工具使用,适用于 48 小时之后的预报及备用情况) | 模型预报,网格分辨率为 9 km | 每 6 小时重新计算 | CC BY 4.0;Open-Meteo API 可免费用于非商业用途 |
ECMWF WAM 海浪预报,通过 Open-Meteo 海洋 API 获取(temperature_mer 工具,/mer 页面) | 浪高、峰值周期和浪向,预报时长为 4 天,一次请求获取所有海滩的数据 | 每 6 小时重新计算,每 30 分钟读取一次 | CC BY 4.0;Open-Meteo API 可免费用于非商业用途 |
ECMWF ENS 集合预报(51 种情景),通过 Open-Meteo 集合预报 API 获取(prevision_meteo 工具,天气页面) | 按日显示情景分布范围(最高温、降雨、阵风:情景第 1 和第 9 十分位数之间的差值),网格分辨率为 25 km,预报时长为 7 天,一次请求获取全岛数据 | 每 6 至 12 小时重新计算;定时任务每 3 小时读取一次,不会因问题而触发读取 | CC BY 4.0;Open-Meteo API 可免费用于非商业用途 |
Copernicus 大气监测服务的 UV 指数(CAMS global),通过 Open-Meteo 空气质量 API 获取(prevision_meteo 工具) | 预报 UV 指数(含云量影响),网格分辨率为 45 km,预报时长为 5 天,一次请求获取全岛数据 | 每天计算 2 次,每小时读取一次 | Copernicus 许可(注明 CAMS)和 CC BY 4.0;Open-Meteo API 可免费用于非商业用途 |
计算潮汐
SHOM 的潮汐预测数据并非开放数据,但其测量数据是开放的。scripts/build-maree.py 使用经典的潮汐调和模型(31 个分潮、Schureman 节点修正、最小二乘法、纯 Python,无需库)拟合多年的有效逐小时水位;服务端会将各分潮相加,计算未来时刻的水位(src/maree/calcul.ts,使用相同公式),无需发送请求。水位会根据最近 6 小时测量值与计算值之间的差异进行校正(风、气压和涌浪会让海平面持续数日上升或下降)。每次响应都会说明:“根据测量数据进行 rundata 计算,并非 SHOM 官方预测”,并注明“REFMAR. http://dx.doi.org/10.17183/REFMAR#RONIM”。
在模型未见过的数月内进行验证,使用每 10 分钟测量一次的高潮和低潮数据(与计算结果一样,按一小时平滑),校正点取提前 12 小时:
| 验潮站 | 拟合数据 | 验证数据 | 小时误差中位数 | 水位误差中位数 |
|---|---|---|---|---|
| Pointe des Galets(Le Port) | 2022-07 至 2026-06(34 969 小时) | 2026-07 至 2026-09,346 次高潮和低潮 | 14,2 分钟(38 % 在 10 分钟以内,64 % 在 20 分钟以内) | 校正后 2,1 厘米(89 % 在 5 厘米以内);未校正 5,3 厘米 |
| Sainte-Marie | 2022-07 至 2026-06(26 767 小时) | 2026-07 至 2026-09,347 次高潮和低潮 | 21,3 分钟(26 % 在 10 分钟以内,48 % 在 20 分钟以内) | 校正后 2,6 厘米(79 % 在 5 厘米以内);未校正 5,3 厘米 |
留尼汪岛的潮差较小(20 至 80 厘米):在小潮期间,高潮或低潮会持续较长时间,因此发生时刻更难确定(响应中会注明)。非潮汐海况噪声(风、气压、涌浪、驻波:约 7 厘米)会让观测到的极值时刻偏移数十分钟;增加分潮或校准时刻都无法解决这个问题。因此,时间会按 5 分钟取整,并标注为“Le Port 约有 15 分钟误差”和“Sainte-Marie 约有 20 分钟误差”。
源代码
https://github.com/rundata-re/rundata — MIT 许可证(文件 LICENSE)。
其他链接:data.gouv.fr 上的复用介绍、Glama 上的服务介绍,以及 Facebook、Instagram 和 WhatsApp 账号(频道)。
每个合并的拉取请求都会在测试通过后立即部署到 rundata.re(.github/workflows/deploy.yml)。公交网络发布新时刻表时,会在合并前将其导入 D1(scripts/build-transit.py --d1 rundata-transports):如果没有这些时刻表,部署会在上线前停止。
使用
在你的 AI 助手中:添加自定义连接器,并填写地址 https://rundata.re/mcp(Claude.ai、ChatGPT、Le Chat 等)。无需安装,也无需账号。
本地运行(Node ≥ 20):运行 npm install,然后运行 npm run dev:http(端点为 http://127.0.0.1:8787/mcp,仅本机可见;设置 HOST=0.0.0.0 可开放给网络访问,例如在容器中运行)或 npm run dev:stdio。运行 npm test 可在无需网络的情况下执行测试。
在容器中运行:运行 docker build -t rundata .,然后运行 docker run -i --rm rundata,即可通过 stdio 启动服务(可选设置 METEOFRANCE_APPLICATION_ID 或 METEOFRANCE_API_KEY,用于访问 Météo-France 的站点、天气警报和雷达)。
网站
页面(包括数据)由服务端渲染,供搜索引擎和链接预览使用(src/web/)。菜单、首页卡片、页脚和站点地图都来自同一份分类列表(src/web/categories.ts):
/:展示岛上当前情况,每个分类一张卡片,显示该分类的最新数据,然后介绍如何接入连接器;- 交叉链接:每个地点的天气页面都会列出 12 km 范围内经过的徒步路线及其状态,并链接到所属区域页面;每条步道或路线的详情页都会链接到最近的天气页面和警报页面;市镇页面包含「徒步」卡片(该市镇的 ONF 步道,以及已关闭的步道)和「活动」卡片(未来两周的活动);
/evenements/ce-week-end按天显示有活动的市镇天气预报; /meteo:全岛天气(地图、从海岸到山顶的气象站、海况),以及 24 个市镇和一些地点(火山、Maïdo、Hell-Bourg 等)的/meteo/<commune>页面,显示最相关的气象站、沿海地点的海况,以及标注来源的预报;/communes/<commune>:显示市镇当前的所有相关信息(气象站天气、所属区域的警报、空气质量、沿海海况、汽车站或市中心附近的下一班公交、市政厅开放或关闭情况、日照),然后显示全岛的火山和电力信息;/communes按区域列出市镇;/communes/<commune>.rss:以 RSS 源提供市镇警报,仅在发生事件时发布文章:Météo-France 对该区域发布高于绿色级别的警报(沿海市镇的海浪淹没警报,以及所有市镇的气旋警报)、点名该市镇的停水通知、该市镇范围内关闭的 ONF 步道、火山警戒级别高于「Vigilance」。内容读取自页面副本(警报、/coupures-eau、/randonnees、/volcan),不会专门为 RSS 源生成;事件持续期间,每篇文章都保留相同的标识符,以便阅读器只显示一次(src/web/rss.ts)。市镇页面的页眉会声明此 RSS 源,页脚提供链接;/vigilance:按区域显示天气警报和气旋警报;/ecoles-cyclone:说明省政府的 ORSEC Cyclones 机制对托儿所、学校、初中、高中和大学的规定,以及根据 Météo-France 公报显示的当前警报;页面还会引用省政府最新的气旋通告(标题和链接),并在通告中说明警报解除和学校复课时一并显示;两个来源存在差异时,会同时列出;/alerte-cyclone:按页面引用省政府 ORSEC Cyclones 机制对各警报级别的规定(工作、学校、活动、交通、避难中心、保护阶段),并附上 PDF 链接,显示在当前警报下方;不涉及计划中没有提到的内容(公交、商店);/mer:海滩外海水温;/volcan:是否喷发、Enclos 是否开放、地震和观测站消息;/bus:公交网络和汽车站的下一班车;/actualites:根据本地媒体报道,汇总过去 24 h 岛上发生的事情:媒体发布当天直播报道时展示该报道;列出所有新闻及其时间、媒体和提及的市镇;提供按市镇和主题筛选的功能;显示省政府通告;有大型活动的日子,最新标题也会显示在首页顶部;/trafic:显示交通状况,不复制交通数据:提供 Waze 实时地图(仅在点击时加载,因为它会写入 Cookie)、指向 infotrafic.re 的链接(Réunion 大区官方道路状况)、公交延误和绕行信息、关闭的林区道路、Enclos 通行情况、警报,以及过去六小时媒体标题中关于道路和路障的报道,并显示省政府当天的通告(根据最近一次新闻读取结果;若读取时间过久,则在返回响应后重新读取);/coupures-eau/<commune>:显示市镇供水信息:供水商发布的停水通知,或者显示「截至 HH:MM 尚未发布通知」;还会显示供水商信息(根据 ARS 卫生检查结果,src/eau/distributeurs.json、scripts/build-distributeurs.py)、干旱级别和自来水信息;内容取自/coupures-eau、/secheresse和/eau的页面副本。每个市镇页面都会通过「水」卡片链接到此页面;/air:在地图上显示各市镇当天的 ATMO 指数;/electricite:按发电类型显示电力产量、可再生能源占比和电力紧张时段;#coupures部分列出转发 EDF 通知的市政府公布的停电信息;/calendrier:显示 La Réunion 学区当前学年的校历,包括所有假期时段(下一学年的校历一经公布也会显示)、公共假日,以及日出和日落时间;/randonnees:徒步者页面,在岛屿地图上按状态展示所有路线和步道,并显示距离和爬升高度;提供筛选功能(搜索、距离、爬升高度、仅显示开放路线、环线),并标出因关闭而中断的路线;/sentiers:按市镇列出当天关闭的步道;使用 FIRMS 密钥时,还会显示过去 24 h 卫星观测到的植被火灾(有火灾时置顶,并附上 18 和 112;市镇的「徒步」卡片也会显示这些信息);/feux:在岛屿地图和列表中显示这些火灾,以及关闭的步道(取自/sentiers的副本)和警报;没有密钥时,页面会说明火灾探测尚未启用,不会被索引(noindex)、不会加入站点地图,也不会有其他页面链接到它;/randonnees/<secteur>:每个区域各有一个页面(Mafate、Cilaos、Salazie、Volcan、Hauts de l'Ouest、Nord、Est、Sud、Sud sauvage、Littoral):置顶显示该区域关闭的步道,以及该区域的路线和 ONF 步道、通行信息和最近页面的天气;内容取自/randonnees的副本,不额外读取任何数据。步道或路线所属的区域由scripts/build-traces.py计算一次:即其路线经过距离最长的区域(Mafate 山谷范围取自 OpenStreetMap,市镇范围取自 geo.api.gouv.fr,火山和海岸的海拔数据取自 IGN);横跨全岛的路线不指定所属区域,而是列入其经过的每个区域;/sentiers/<sentier>和/randonnees/<randonnée>:ONF 步道或徒步路线的详情页,显示地图轨迹、路线剖面、根据 ONF 信息得出的状态(路线关闭路段置于页面顶部)以及 GPX 文件(在同一地址后加上.gpx;每个关闭路段的开头都会标记一个「FERMÉ」点);/evenements:按天列出未来两周的活动,并可按类型筛选;/evenements/ce-week-end:列出周末活动(从周五 17 h 到周日晚上;若公共假日紧接周末,也会一并包含;从周一起显示即将到来的周末);/evenements/concerts:列出音乐会,并单独显示当晚的演出。后两者都取自/evenements的副本,不额外读取任何数据;/decheteries:列出西部地区(TCO)的垃圾回收站,按市镇分区并提供锚点;根据工作人员报告显示垃圾箱是否已满;超过 6 h 的更新会标注「请核实」;TCO 的五个市镇页面均有卡片链接到此页面;/collecte和/collecte/<commune>:显示 TCO 五个市镇逐街的垃圾收集日,提供街道搜索,并按日历分组列出街道;/carburants:显示省长制定的当月最高油价、与上月的差额,以及通告链接;站点地图中的日期取自法令日期;/trafic也以地图形式显示油价;/aujourdhui/<commune>:每个市镇的单页当日概况,内容与resume_du_jour工具(src/tools/resume.ts)生成的摘要相同:如果天气尚无副本,则像市镇页面一样生成天气信息;其余内容只从页面副本中读取;缺少的信息会链接到相应页面;此页面从/communes/<commune>链接;/sites-sans-reponse:按主题列出岛上当前无响应的公共网站、无响应时长、最近一次测试时间以及本站缺少的信息,并列出过去 7 天内恢复响应的网站;内容与sites_sans_reponse工具(src/sans-reponse.ts)使用的列表相同,每 15 分钟至多读取一次;此页面从/a-propos链接;/nouveautes:逐日用一句话介绍网站和连接器新增的功能;此页面从页脚链接,内容由sources_donnees提供;列表与 CHANGELOG.md 相同;/presse:新闻媒体专区,从页脚链接;包含新闻通稿、根据显示时网站数据统计的关键数字(工具、气象站、公交站、充电桩、除颤器、步道等)以及可下载的视觉素材;素材可自由使用,但须注明 rundata.re。视觉素材是由 Cloudflare 与 Worker 一同提供的静态文件(public/presse/,由scripts/build-presse.py构建),不包含在 Worker 程序包中;- 每个页面底部都有一个「有意见或缺少数据?」表单(
src/web/avis.ts):这是一个简单的 HTML 表单,不含脚本,提交到POST /avis,提交后会返回原页面并显示感谢信息。网站和donner_avis工具收到的意见都会存入 D1 的avis表(scripts/avis.sql),不记录 IP 地址,并在 12 个月后删除; /robots.txt、/sitemap.xml、/og.png(Facebook、WhatsApp 等平台的预览图,scripts/build-og.py)、/favicon.svg和/favicon.ico(rundata.re 的标志「Point chaud」,提供 SVG 和 48 px PNG 格式)、/manifest.webmanifest(可将网站保存在手机主屏幕上,打开时访问/?ref=pwa,并提供「天气」「警报」和「徒步」快捷方式;图标位于public/icons/,标志和 Logo 位于public/logo/,由scripts/build-icons.py根据品牌工具包生成)、/sw.js(Service Worker:优先使用网络;无网络时显示每个已打开页面的最新副本,并在横幅中标明日期;不缓存/mcp、?maj=、数据流或轨迹)、/hors-ligne(显示从未在无网络时打开过的地址页面,以及保存在手机上的页面)。 每个页面标题下方都有一句说明页面用途的话;每个页面底部、反馈表单上方都有一个「分享到 WhatsApp」链接(?ref=wa),以及邀请用户在 Facebook、Instagram 或 WhatsApp 上关注 rundata.re 的号召(?ref=site)。
English
留尼汪岛(法国海外省 974,印度洋)的实时公开数据,均注明来源:
- 工具:
meteo_actuelle(lieu):最具代表性气象站的当前天气。prevision_meteo(lieu, quand):模型预报(Météo-France AROME outre-mer 2.5 km 预报未来 48 小时,之后通过 Open-Meteo 使用 ECMWF IFS 9 km 预报最多 7 天),包含每天的 UV 指数(Copernicus CAMS)和可信度(51 个 ECMWF ENS 成员的一致程度)、夜间天空状况(18:00 至 06:00,晴朗或多云,以及高地是否在云层之上或云层之中);始终标明为预报,绝不与实测数据混淆。vigilance_meteo(lieu?):Météo-France 官方天气警报和气旋警报,可查询全岛或某地所在区域。volcan_seismes():Piton de la Fournaise 状况(喷发、警戒级别、通行情况)和 OVPF-IPGP 定位的近期地震。electricite(lieu?):EDF 实时发电结构、可再生能源占比和未来几天的电网信号;以及 EDF 公布、部分由市政厅转发的停电信息(日期、时间、街道和链接,不含公告正文)。calendrier(lieu?):学校假期(南半球日历)、包括 12 月 20 日在内的公共假日、日出和日落,以及月相(月相阶段、受光比例、当地月升和月落时间、下一个月相阶段),均为计算所得。qualite_air(lieu?):各市镇今天和明天的 ATMO 空气质量指数。sites_sans_reponse(quoi?):岛上当前无法响应的公共网站,每天重新检查;列出从何时起无法访问、最近一次错误的通俗说明,以及因此 rundata.re 缺少的内容;恢复响应的网站会从列表中移除。annuaire_services_publics(quoi, lieu?):公共服务机构的地址、开放时间和电话号码;本月由省长制定的燃油最高价格(quoi: "carburant");以及 FINESS 收录的附近药房和医院(quoi: "pharmacie"、"urgences"),值班药房请拨打 3237.fr 或 32 37,紧急情况请拨打 15。此外,还包括 OpenStreetMap 地图上的集市(quoi: "marché"),列表不完整;以及西部地区的垃圾回收站(quoi: "déchèterie"),列出 TCO 工作人员报告已满的垃圾箱;还有西部地区按街道列出的垃圾桶收运日期(quoi: "collecte",lieu:街道及其所属市镇),数据来自 TCO 日历。transports(arret, ligne?):某站点的下一班公交车发车信息,涵盖全岛所有公交网络(已公布的时刻表,以及网络发布 GTFS-RT 数据流时提供的实时发车时间、延误和交通警报)。velos_libre_service(lieu?):Saint-Pierre、Saint-Louis 和 L'Étang-Salé 各站点 Altervélo 共享单车的实时可用情况(电动自行车和空闲车桩数量)。maree(lieu?):Réunion 两个 SHOM 潮位站(Le Port、Sainte-Marie)的实测海平面:潮位、涨潮或退潮状态、最近观测到的高潮和低潮;随后是 rundata 根据多年实测数据计算的下一次高潮和低潮(调和分析,scripts/build-maree.py),并非 SHOM 的官方预测(该预测未开放);时间四舍五入至 5 分钟,在 Le Port 的误差约为 15 分钟,在 Sainte-Marie 约为 20 分钟(在拟合期之外的月份进行核验所得的中位数);高度误差约为 5 厘米,不提供潮汐系数。crues_rivieres(lieu?):河流洪水警戒,以及 29 个水位站(Vigicrues Réunion)的实时水位和流量,含趋势信息和历史洪水参照点。bornes_recharge(lieu?, rapide?):公共电动汽车充电站及每个充电点的实时状态(空闲、使用中、故障)、功率、插头类型和开放时间。qualite_eau(lieu?, eau?):各供水网络的自来水水质,以及区域卫生机构检测的 26 处海滩和河流泳池的水质。sentiers_randonnee(lieu?):根据 ONF(法国国家林业局)地图显示开放或关闭的徒步路线和林道,并注明每处关闭的原因;提供每条 ONF 路线及 OpenStreetMap 完整徒步线路(GR R1、R2、R3、Piton des Neiges……)的 GPS 轨迹(GPX)、长度、爬升和路线剖面,标明各线路所经 ONF 路线的状况,并在路线中有关闭路段时优先发出警告;可按长度和爬升筛选徒步路线。restrictions_eau(lieu?, profil?):按市镇和水资源列出正在实施的干旱用水限制,并说明个人、企业、地方政府或农场禁止进行的活动。coupures_eau(lieu?):供水商发布的停水通知和禁止饮用通知。resume_du_jour(lieu):一次调用即可获取某市镇当天的情况(天气、警报、海况、空气、电力、道路、新闻、停水、活动、市政厅、当天集市、西部垃圾处理站、燃油价格、通过 3237.fr 查询的值班药房),数据来自网站页面副本;缺失的信息会注明应调用哪个工具。defibrillateurs(lieu?):附近的公共除颤器(AED),含地址、步行时间和开放时间。sport(sport?, lieu?, quand?):地区手球和排球联赛的赛程、结果和排名(可按俱乐部缩写、城镇或岛上区域查询;包含联赛公告或新闻中提到的取消比赛)、帆船赛、高尔夫比赛、赛车运动日历、Grand Raid 的参赛人数和领奖台信息,以及体育新闻标题。cyclones(lieu?):来自 RSMC La Réunion 通报(通过 GDACS)的西南印度洋活跃热带气旋信息:阶段、风速、与岛屿的距离和方向、移动情况、官方预报及最近接近时间;当前生效的气旋警报,以及省政府 ORSEC 计划对托儿所和学校的相关规定说明。historique_meteo(lieu?, jours?, du?, au?, detail?):Météo-France 气象站的历史实测天气数据,从各站最早年份(最早为 1900 年)到昨天,按日提供降雨量、最低/最高气温、日照、阵风,并与该站 1991-2020 年常年值和历史记录对比;还可查询 2000 年以来的逐小时数据,适用于几天的时段,包括昨夜。evenements(lieu?, quand?, quoi?):即将举行的音乐会、戏剧、舞蹈、喜剧、夜生活活动、节庆、节日和集市,数据来自音乐厅和剧院(TÉAT、Cité des Arts、CDNOI、Kabardock、Le Séchoir、Léspas、Bisik、Théâtre Luc Donat)的节目单、市政厅活动日程和 OpenAgenda(岛北部);包括日期、时间、场地、类型、价格、预订链接、状态(取消、延期、售罄)和各活动页面的链接。actualites(lieu?, sujet?, heures?):通过当地媒体的新闻标题和实时博客了解岛上最新动态(时间、媒体、首句、提及的市镇、各条内容对所查询地点的描述、链接),以及省政府新闻稿;可按地点和主题查询。fiche_terrain(adresse):地籍地块、分区规划(PLU)、海拔、周边房产中位数价格(汇总 DVF),以及自然灾害风险:该地风险预防计划、自然灾害法令、500 米范围内记录的山体滑坡。meteo_actuelle还会报告 Météo-France 雷达在该地点观测到的降雨情况。temperature_mer(lieu):海滩附近实测的海表温度,以及 ECMWF WAM 模型的浪况预报(浪高、周期、方向、未来 4 天,通过 Open-Meteo 获取),始终标明为预报。donner_avis(type, message, …):向 rundata.re 提交反馈(数据缺失、数值错误、建议、赞扬);如果工具未能提供足够信息,欢迎助手提交反馈。sources_donnees():数据来源和许可证。
- **地点:**自由文本(城镇、海滩、山峰)或
lat, lon。 - **交通状况:**Réunion 没有开放供重复使用的实时交通测量数据,因此没有交通工具。
/trafic页面仅在收到请求时加载 Waze 实时地图(会设置 Cookie),并链接到 Région 的 infotrafic.re;同时展示可开放获取的信息:公交延误和绕行、关闭的林道、天气警报、当地媒体过去六小时内关于道路和封路的新闻标题,以及省政府当天发布的相关新闻稿。 - 燃油价格:
/carburants,省长制定的每月最高价格,每天从省政府新闻稿中读取。 - 最新动态:
/nouveautes和 CHANGELOG.md 均由src/nouveautes.ts生成。 - 新闻资料:
/presse提供新闻稿、根据网站数据实时统计的关键数据,以及可免费使用并注明来源「rundata.re」的截图。 - **数据新鲜度和新工具:**每个回答还会附带
fraicheur(数据日期、rundata.re 读取数据的时间、数据时效,以及数据源无响应时是否提供了最近的副本)和简短的serveur区块(版本、工具数量、本周新增工具数),便于助手识别过时的工具列表;sources_donnees列出所有工具和最新变更。 - **引用:**每个回答末尾都包含
citer(「rundata.re,根据 」)和lien(对应的 rundata.re 页面);数据来源的完整署名和许可证保留在sources中。 - **回答:**每个回答都包含测量时间、气象站距离、高度差、迎风面或背风面,以及相关性标记。
- **许可证:**代码采用 MIT 许可证。数据遵循各来源的许可证(参见
sources_donnees)。地名 © OpenStreetMap contributors(ODbL),海拔数据来自 IGN(Licence Ouverte)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。