PACA绿色基金-交互式地图v1.9

普罗旺斯-阿尔卑斯-蔚蓝海岸绿色基金资助的项目互动地图(2023+2024年),与分区和国家计划(ZRR、PVD、ACV、Villages d‘Avenir)交叉。
开放数据 data.gov.fr 通过MCP连接器。
数字
| 2023 | 2024 | 2023+2024 | |
|---|---|---|---|
| 公社 | 303 | 282 | 437 |
| 项目 | 586 | 568 | 1 154 |
| 蒙塔特 | 1.564亿欧元 | 1.381亿欧元 | 2.945亿欧元 |
| 地理编码 | 100% | ||
| 独立受益人(SIRENE) | - | - | 552 |
功能
- 年份选择器 :2023/2024/2023+2024(默认)
- 按范围搜索 :可点击药丸
Tout / Projet / Bénéficiaire / Commune / Mesure每个结果上都有计数器、范围徽章- 与地图、统计数据和CSV导出同步 - 协调受益人 :官方Insee标签由Siren(558个实体)解决,消除了21%的重复
- 交叉过滤器 :部门×测量×分区/计划
- 分区/程序过滤器 ZRR(484个市镇)、PVD(65个)、ACV(12个)、d'Avir村(208个)
- 进化2023→2024 :在过去两年出现的公社弹出窗口中
- 欧元/居民(按部门) :在统计面板中切换(条形图比较)
- 甜甜圈 :按测量分布(前5名+其他)
- 导出CSV :每个项目1行(9列业务:部门→公社→措施→项目→受益人→赠款),Excel格式FR(分隔符)
;,décimale virgule,BOM UTF-8) - 动态头 :每次过滤时更新计数器
- 重置 :所有过滤器的全局重置
- 响应式手机 :768像素下画布外的过滤器/统计面板
- AA的可访问性 :反对WCAG、咏叹调标签、跳过链接、导航键盘
- “概念证明”横幅 :非官方提及、引用的来源和API、源代码链接、IA提及+剩余错误
数据来源
| 来源 | 数据集 | 用法 |
|---|---|---|
| Fonds Vert 2024 | 1fdc94e1-0f50-4d39-8be3-40ab381ee9c4 | 2024年项目 |
| Fonds Vert 2023 | ac2da594-aea2-4b87-973f-03f406ec4cfd | 2023年项目 |
| 交叉ANCT | 617322c7c8e7b27041570e71 | PVD、ACV、VA、TI、FS、教育引用。 |
| ZRR(齿轮2021) | 5943d13588ee38742a95eb0c | 乡村振兴区 |
| geo.api.gouv.fr | api | 地理编码+人口 |
| recherche-enterprises.api.gouv.fr |
管道
MCP datagouv → CSV national (2023 + 2024)
→ filtre PACA (6 départements)
→ corrections géolocalisation (41 dossiers 2024 + 115 corrections 2023, dont 21 codes INSEE rectifiés)
→ géocodage geo.api.gouv.fr (450 communes, cache local)
→ fetch_siret_names.py (558 SIRENs → noms INSEE, cache local)
→ build_map.py --year both
→ generate_combined_data_js.py → data.js
→ programmes_anct.js (ANCT + ZRR)
→ index.html (Leaflet, GitHub Pages)文件
├── index.html # Carte interactive v1.9
├── data.js # Données combinées 2023+2024 (~431 KB) — build artifact versionné volontairement pour permettre le déploiement statique GitHub Pages sans CI
├── programmes_anct.js # Zonages ANCT + ZRR par commune PACA (17 KB)
├── build_map.py # Pipeline unifié 2023+2024
├── generate_combined_data_js.py # Génère data.js depuis les JSON
├── fetch_siret_names.py # Fetch noms officiels INSEE par SIREN (cache)
├── data/
│ ├── fonds_vert_2023_source.csv
│ ├── fonds_vert_2024_source.csv
│ ├── corrections_2023.json # 115 corrections 2023 (113 NULL + 2 audit libellé)
│ ├── geocode_cache.json # 450 communes géocodées + noms API
│ ├── siret_cache.json # 558 entités SIRENE (nom officiel par SIREN)
│ ├── paca_2023_map_data.json # 303 communes, 586 projets
│ └── paca_2024_map_data.json # 282 communes, 568 projets
├── tests/
│ └── test_pipeline.py # 7 tests d'invariants sur les données
├── .github/workflows/tests.yml # CI : rebuild + pytest sur chaque push
├── README.md
├── MCP_SETUP.md
└── .gitignore源数据的再处理
这两个年份都需要修复工作才能达到100%的地理编码。所有更正都是版本化和可复制的。
条令去地方化
一个项目附属于该市实物投资 这是在受益人的注册办事处(SIRET)进行的——在许多情况下,这是原始CSV返回的。
实际后果:
- 当标题或摘要提到受益人的不同城市时(例如:。 *“普罗旺斯艾克斯的保罗·塞尚中学”* 由总部位于马赛→搬迁至艾克斯的PACA地区管理),搬迁至上述公社。记录于
DOSSIER_CORRECTIONS和corrections_2023.json. - 倒项目 由工会或CC支持的多社区 (例如,位于巴农的Aubignosc/Simiane/Vachères辛迪加上的4个消防柱),我们保留在持有人的总部-拆分器将扭曲源数据和汇总金额。涵盖多个城市的CC工程也是如此。
- 莱斯 本地地名 (rue *城堡* 在卡德鲁斯, *Briançon桥* 对于Jausiers, *橙色门平面图* 在卡彭特拉斯, *圣塞泽尔* 在阿尔勒…)不会触发搬迁:这些是实际公社内部的地名。
- Cas 额肌 (例如档案13075487 *莱特雷特悬崖*,由邻近的Châteauvieux公社携带,可能是骑马工作):法律持有人被保留,以符合SIRET逻辑。
受益人姓名的协调(SIRENE)
源CSV包含同一法律实体的多个标签(例如:。 AIX MARSEILLE PROVENCE BP MET + METROPOLE D'AIX-MARSEILLE-PROVENCE =SIREN 200054807,29个项目)。无协调, 51%的项目受到影响 (144个多面额实体)。
方法:对于每个警报器(字段 siren 2023 / siret_beneficiaire 2024),调用公共API recherche-entreprises.api.gouv.fr →恢复 nom_raison_sociale INSEE官方。永久缓存在 data/siret_cache.json.
影响: 699→552个不同受益人 (-21%)。警报器也存储在 data.js 用于可追溯性。
2023-115次更正(data/corrections_2023.json)
113个项目 code_commune (CSV MTE中的空字段)已附加到实际公社,加上审计措辞(v1.7)中的2个更正:
| 方法 | NB | 描述 |
|---|---|---|
benef | 73 | 通过受益人/EPCI(承运机构所在地)连接 |
dept_fallback | 20 | 当公社无法成为目标时,附属于省的县 |
titre | 13 | 从项目名称中扣除的公社 |
titre_fix | 7 | 从标题中更正的通用代码(证明不一致) |
audit_libelle | 2 | 审计后的重新定位措辞/通用一致性(v1.7):apt→Saignon,Aix→Saint Chamas |
code_corrigé_v1.8 | 21 | 审核v1.8:通用名称匹配但INSEE代码错误的条目(例如,附属于Cornillon Confoux 13029而不是13039的Fos-sur-Mer)。通过验证代码 geo.api.gouv.fr. |
2024-41个重新定位的文件(DOSSIER_CORRECTIONS 在 build_map.py)
冠军 code_commune 有时指向受益人的总部(SIRET),而不是项目的实际位置。通过标题、摘要和受益人进行识别。
初始地块(24份文件):马赛从3930万欧元增加到2780万欧元,实际项目由Manosque、Oraison、Château Arnoux、尼斯、曼顿、Le Pradet、土伦、Volx…
审计标签v1.7(9个文件,约430万欧元搬迁):马赛→维特罗尔(130万欧元)和拉法尔·莱斯·奥利维尔;阿维尼翁→马劳肯;Draguignan→Brignoles和Salernes;尼斯→方丹;Guillestre→vars;Embrun→Savines le Lac;圣雷米→莫桑-莱斯-阿尔皮勒。
审计措辞V1.8(8个文件,约570万欧元搬迁):马赛→圣查马斯(300万欧元)、普罗旺斯艾克斯(150万欧元)和米拉马斯;尼斯→普吉特-泰尼尔(×2);阿维尼翁→索格岛;La Valette du Var→Le Val;Solliès-Pont→La Farlêde。
关键交叉点
| 分区/计划 | PACA社区 | 资助绿色基金 | 覆盖范围 |
|---|---|---|---|
| ZRR | 484 | 193 | 39% |
| PVD | 65 | 54 | 83% |
| ACV | 12 | 12 | 100% |
| 阿维纳尔村 | 208 | 110 | 52% |
构建
# Données (cache complet, 0 appel API)
python fetch_siret_names.py # one-shot, peuple data/siret_cache.json
python build_map.py --year both
python generate_combined_data_js.py
# Tests d'invariants sur les données produites
python -m pytest tests/ -v
# Déploiement
git add -A
git commit -m "v1.x: description"
git push报告错误,贡献
欢迎任何更正:本地化错误的措辞、错误的INSEE代码、不合格的EPCI、缺少项目、改进建议。
官方频道 : Repo的。提供了三种类型的问题(模板):
- 定位错误 -与坏公社相关的项目
- Bug技术 -卡或构建的意外行为
- 建议 -功能或方法改进
另见 CONTRIBUTING.md 遵守回购协议。
背景
使用Claude和MCP连接器data.gouv.fr实现的PoC-开放数据、Python管道、地图传单、与国家分区的交叉、GitHub页面部署。
许可证
数据:开放许可证2.0(Data.gouv.fr)·代码:MIT
