How this site knows things
What we measure, field by field
Every number on a village page comes from a named source with a date on it. This is the whole list — 400 measured fields across 5,666 comuni — with the share of the country each one actually covers. A field measured for a tenth of Italy says so here rather than looking complete.
Population & age structure
Headline stats. `pop_old_age_index` is the single most telling number: 65+ per 100 under-15.
| Field | Unit | Source | Coverage |
|---|---|---|---|
pop_mean_age | years | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_mean_age@date | — | — | 100% |
pop_old_age_indexPeople 65+ per 100 under 15. Italy ≈ 200. Above 400 = ~4 pensioners per child. | index | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_old_age_index@date | — | — | 100% |
pop_pct_65plus | percent | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_pct_65plus@date | — | — | 100% |
pop_pct_80plus | percent | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_pct_80plus@date | — | — | 100% |
pop_pct_under15 | percent | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_pct_under15@date | — | — | 100% |
pop_total_by_age | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_total_by_age@date | — | — | 100% |
pop_women_15_49 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pop_women_15_49@date | — | — | 100% |
population | people | Wikidata (P1082/P2046/P2044, sourced from ISTAT) | 97.9% |
population@date | — | — | 97.9% |
population_earlier | people | Wikidata (P1082/P2046/P2044, sourced from ISTAT) | 97.9% |
population_earlier@date | — | — | 97.9% |
Age pyramid (chart data)
40 fields = 20 five-year bands x male/female. Built for a back-to-back bar chart.
| Field | Unit | Source | Coverage |
|---|---|---|---|
pyr_f_000 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.2% |
pyr_f_000@date | — | — | 99.2% |
pyr_f_005 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.5% |
pyr_f_005@date | — | — | 99.5% |
pyr_f_010 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.6% |
pyr_f_010@date | — | — | 99.6% |
pyr_f_015 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.7% |
pyr_f_015@date | — | — | 99.7% |
pyr_f_020 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.8% |
pyr_f_020@date | — | — | 99.8% |
pyr_f_025 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_f_025@date | — | — | 99.9% |
pyr_f_030 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_f_030@date | — | — | 99.9% |
pyr_f_035 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_f_035@date | — | — | 99.9% |
pyr_f_040 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_040@date | — | — | 100% |
pyr_f_045 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_045@date | — | — | 100% |
pyr_f_050 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_050@date | — | — | 100% |
pyr_f_055 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_055@date | — | — | 100% |
pyr_f_060 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_060@date | — | — | 100% |
pyr_f_065 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_065@date | — | — | 100% |
pyr_f_070 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_070@date | — | — | 100% |
pyr_f_075 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_f_075@date | — | — | 100% |
pyr_f_080 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_f_080@date | — | — | 99.9% |
pyr_f_085 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_f_085@date | — | — | 99.9% |
pyr_f_090 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.3% |
pyr_f_090@date | — | — | 99.3% |
pyr_f_095 | people | ISTAT POSAS (residents by age and sex, per municipality) | 93.6% |
pyr_f_095@date | — | — | 93.6% |
pyr_m_000 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.2% |
pyr_m_000@date | — | — | 99.2% |
pyr_m_005 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.5% |
pyr_m_005@date | — | — | 99.5% |
pyr_m_010 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.6% |
pyr_m_010@date | — | — | 99.6% |
pyr_m_015 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.7% |
pyr_m_015@date | — | — | 99.7% |
pyr_m_020 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.8% |
pyr_m_020@date | — | — | 99.8% |
pyr_m_025 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_m_025@date | — | — | 99.9% |
pyr_m_030 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_m_030@date | — | — | 99.9% |
pyr_m_035 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_m_035@date | — | — | 99.9% |
pyr_m_040 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_040@date | — | — | 100% |
pyr_m_045 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_045@date | — | — | 100% |
pyr_m_050 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_050@date | — | — | 100% |
pyr_m_055 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_055@date | — | — | 100% |
pyr_m_060 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_060@date | — | — | 100% |
pyr_m_065 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_065@date | — | — | 100% |
pyr_m_070 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_070@date | — | — | 100% |
pyr_m_075 | people | ISTAT POSAS (residents by age and sex, per municipality) | 100% |
pyr_m_075@date | — | — | 100% |
pyr_m_080 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_m_080@date | — | — | 99.9% |
pyr_m_085 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.9% |
pyr_m_085@date | — | — | 99.9% |
pyr_m_090 | people | ISTAT POSAS (residents by age and sex, per municipality) | 99.3% |
pyr_m_090@date | — | — | 99.3% |
pyr_m_095 | people | ISTAT POSAS (residents by age and sex, per municipality) | 93.6% |
pyr_m_095@date | — | — | 93.6% |
20-year projection (MODEL, not measurement)
`proj_pop_y00..y20` are a ready-made line series. Must be visually distinguished from measured data — different colour/dash, and the migration caveat visible.
| Field | Unit | Source | Coverage |
|---|---|---|---|
proj_births_per_year | people_per_year | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_births_per_year@date | — | — | 11%thin — read with care |
proj_change_20y_pctMigration-free. What the current age structure alone guarantees. | percent | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_change_20y_pct@date | — | — | 11%thin — read with care |
proj_deaths_per_year | people_per_year | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_deaths_per_year@date | — | — | 11%thin — read with care |
proj_natural_change_per_year_pctBirths minus deaths only. Subtract from the observed trend to isolate migration. | percent_per_year | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_natural_change_per_year_pct@date | — | — | 11%thin — read with care |
proj_pop_20y | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_20y@date | — | — | 11%thin — read with care |
proj_pop_y00 | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_y00@date | — | — | 11%thin — read with care |
proj_pop_y05 | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_y05@date | — | — | 11%thin — read with care |
proj_pop_y10 | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_y10@date | — | — | 11%thin — read with care |
proj_pop_y15 | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_y15@date | — | — | 11%thin — read with care |
proj_pop_y20 | people | Model: cohort-component, no migration. ISTAT POSAS (residents by age and sex, per municipality) 2026 + Italian life table 2024 + ITI3 fertility 2024 (TFR 1.11) | 11%thin — read with care |
proj_pop_y20@date | — | — | 11%thin — read with care |
Distance to things (STRAIGHT LINE)
Crow-flies km. Never label these as travel time.
| Field | Unit | Source | Coverage |
|---|---|---|---|
nearest_airport_km | straightline_km | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_airport_name | — | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_hospital_km | straightline_km | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_hospital_nameOSM tags clinics as hospitals. Check the name before trusting it. | — | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_motorway_km | straightline_km | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_motorway_name | — | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_rail_km | straightline_km | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_rail_name | — | OpenStreetMap (Overpass) | 0.2%thin — read with care |
nearest_sea_km | straightline_km | OpenStreetMap (Overpass) | 75.6% |
nearest_ski_km | straightline_km | OpenStreetMap (Overpass) | 99.1% |
nearest_ski_name | — | OpenStreetMap (Overpass) | 67.2% |
Motorway toll gate
Real drive time via road routing.
| Field | Unit | Source | Coverage |
|---|---|---|---|
casello_drive_km | km | OSRM routing over OpenStreetMap | 95.3% |
casello_drive_min | minutes | OSRM routing over OpenStreetMap | 95.3% |
casello_name | — | OSRM routing over OpenStreetMap | 100% |
Drive time to major cities
Real road routing. Good candidate for a sorted bar chart.
| Field | Unit | Source | Coverage |
|---|---|---|---|
drive_bari_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_bari_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_bari_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_firenze_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_firenze_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_firenze_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_milano_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_milano_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_milano_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_napoli_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_napoli_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_napoli_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_palermo_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_palermo_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_palermo_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_roma_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_roma_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_roma_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
drive_venezia_km | km | OSRM routing over OpenStreetMap | 99.9% |
drive_venezia_min | minutes | OSRM routing over OpenStreetMap | 99.9% |
drive_venezia_note | — | OSRM routing over OpenStreetMap | 0.1%thin — read with care |
What is in the village
Counts from OpenStreetMap. A 0 may mean 'unmapped'.
| Field | Unit | Source | Coverage |
|---|---|---|---|
poi_bank_atm | count | OpenStreetMap (Overpass) | 99.9% |
poi_bar_cafe | count | OpenStreetMap (Overpass) | 99.9% |
poi_coworking | count | OpenStreetMap (Overpass) | 99.9% |
poi_doctor | count | OpenStreetMap (Overpass) | 99.9% |
poi_fuel | count | OpenStreetMap (Overpass) | 99.9% |
poi_grocery | count | OpenStreetMap (Overpass) | 99.9% |
poi_hospital_in_town | count | OpenStreetMap (Overpass) | 99.9% |
poi_lodging | count | OpenStreetMap (Overpass) | 99.9% |
poi_pharmacy | count | OpenStreetMap (Overpass) | 99.9% |
poi_post_office | count | OpenStreetMap (Overpass) | 99.9% |
poi_rail_station | count | OpenStreetMap (Overpass) | 99.9% |
poi_restaurant | count | OpenStreetMap (Overpass) | 99.9% |
poi_school | count | OpenStreetMap (Overpass) | 99.9% |
poi_sport | count | OpenStreetMap (Overpass) | 99.9% |
poi_total_mappedUnder 25 → this village's zero counts are unreliable. | count | OpenStreetMap (Overpass) | 99.9% |
Internet (measured)
Real Speedtest results. `net_tests` gates how much to trust it.
| Field | Unit | Source | Coverage |
|---|---|---|---|
net_down_mbps | Mbps | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.8%thin — read with care |
net_down_mbps@date | — | — | 8.8%thin — read with care |
net_down_mbps_best_tile | Mbps | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.4%thin — read with care |
net_down_mbps_best_tile@date | — | — | 8.4%thin — read with care |
net_latency_ms | ms | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.8%thin — read with care |
net_latency_ms@date | — | — | 8.8%thin — read with care |
net_note | — | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 0.2%thin — read with care |
net_note@date | — | — | 0.2%thin — read with care |
net_testsUnder 20 → treat speed as a hint, not a measurement. | tests | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.8%thin — read with care |
net_tests@date | — | — | 8.8%thin — read with care |
net_tiles | tiles | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.8%thin — read with care |
net_tiles@date | — | — | 8.8%thin — read with care |
net_up_mbps | Mbps | Ookla Open Data, fixed broadband tiles (CC BY-NC-SA 4.0) | 8.8%thin — read with care |
net_up_mbps@date | — | — | 8.8%thin — read with care |
Climate, month by month
12 months x 4 metrics + annual summaries. Designed for a 12-column strip or small multiples.
| Field | Unit | Source | Coverage |
|---|---|---|---|
clim_clear_daysDays per year with mean cloud cover under 30%. | days_per_year | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_clear_days@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m01 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m01@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m02 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m02@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m03 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m03@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m04 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m04@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m05 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m05@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m06 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m06@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m07 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m07@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m08 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m08@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m09 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m09@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m10 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m10@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m11 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m11@date | — | — | 1.1%thin — read with care |
clim_cloud_pct_m12 | percent | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_cloud_pct_m12@date | — | — | 1.1%thin — read with care |
clim_days_frost | days_per_year | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_days_frost@date | — | — | 1.1%thin — read with care |
clim_days_hot | days_per_year | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_days_hot@date | — | — | 1.1%thin — read with care |
clim_jan_tmean | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_jan_tmean@date | — | — | 1.1%thin — read with care |
clim_jul_tmean | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_jul_tmean@date | — | — | 1.1%thin — read with care |
clim_rad_m01 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m01@date | — | — | 1.1%thin — read with care |
clim_rad_m02 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m02@date | — | — | 1.1%thin — read with care |
clim_rad_m03 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m03@date | — | — | 1.1%thin — read with care |
clim_rad_m04 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m04@date | — | — | 1.1%thin — read with care |
clim_rad_m05 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m05@date | — | — | 1.1%thin — read with care |
clim_rad_m06 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m06@date | — | — | 1.1%thin — read with care |
clim_rad_m07 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m07@date | — | — | 1.1%thin — read with care |
clim_rad_m08 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m08@date | — | — | 1.1%thin — read with care |
clim_rad_m09 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m09@date | — | — | 1.1%thin — read with care |
clim_rad_m10 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m10@date | — | — | 1.1%thin — read with care |
clim_rad_m11 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m11@date | — | — | 1.1%thin — read with care |
clim_rad_m12 | MJ_m2_day | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_rad_m12@date | — | — | 1.1%thin — read with care |
clim_tmax_m01 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m01@date | — | — | 1.1%thin — read with care |
clim_tmax_m02 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m02@date | — | — | 1.1%thin — read with care |
clim_tmax_m03 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m03@date | — | — | 1.1%thin — read with care |
clim_tmax_m04 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m04@date | — | — | 1.1%thin — read with care |
clim_tmax_m05 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m05@date | — | — | 1.1%thin — read with care |
clim_tmax_m06 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m06@date | — | — | 1.1%thin — read with care |
clim_tmax_m07 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m07@date | — | — | 1.1%thin — read with care |
clim_tmax_m08 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m08@date | — | — | 1.1%thin — read with care |
clim_tmax_m09 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m09@date | — | — | 1.1%thin — read with care |
clim_tmax_m10 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m10@date | — | — | 1.1%thin — read with care |
clim_tmax_m11 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m11@date | — | — | 1.1%thin — read with care |
clim_tmax_m12 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmax_m12@date | — | — | 1.1%thin — read with care |
clim_tmin_m01 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m01@date | — | — | 1.1%thin — read with care |
clim_tmin_m02 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m02@date | — | — | 1.1%thin — read with care |
clim_tmin_m03 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m03@date | — | — | 1.1%thin — read with care |
clim_tmin_m04 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m04@date | — | — | 1.1%thin — read with care |
clim_tmin_m05 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m05@date | — | — | 1.1%thin — read with care |
clim_tmin_m06 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m06@date | — | — | 1.1%thin — read with care |
clim_tmin_m07 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m07@date | — | — | 1.1%thin — read with care |
clim_tmin_m08 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m08@date | — | — | 1.1%thin — read with care |
clim_tmin_m09 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m09@date | — | — | 1.1%thin — read with care |
clim_tmin_m10 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m10@date | — | — | 1.1%thin — read with care |
clim_tmin_m11 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m11@date | — | — | 1.1%thin — read with care |
clim_tmin_m12 | C | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_tmin_m12@date | — | — | 1.1%thin — read with care |
clim_wetdays_m01 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m01@date | — | — | 1.1%thin — read with care |
clim_wetdays_m02 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m02@date | — | — | 1.1%thin — read with care |
clim_wetdays_m03 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m03@date | — | — | 1.1%thin — read with care |
clim_wetdays_m04 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m04@date | — | — | 1.1%thin — read with care |
clim_wetdays_m05 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m05@date | — | — | 1.1%thin — read with care |
clim_wetdays_m06 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m06@date | — | — | 1.1%thin — read with care |
clim_wetdays_m07 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m07@date | — | — | 1.1%thin — read with care |
clim_wetdays_m08 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m08@date | — | — | 1.1%thin — read with care |
clim_wetdays_m09 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m09@date | — | — | 1.1%thin — read with care |
clim_wetdays_m10 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m10@date | — | — | 1.1%thin — read with care |
clim_wetdays_m11 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m11@date | — | — | 1.1%thin — read with care |
clim_wetdays_m12 | days_per_month | Open-Meteo ERA5 archive (2015-2024 daily reanalysis) | 1.1%thin — read with care |
clim_wetdays_m12@date | — | — | 1.1%thin — read with care |
Air quality
Measured against WHO 2021 guidelines, not EU limits.
| Field | Unit | Source | Coverage |
|---|---|---|---|
air_nitrogen_dioxide_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_nitrogen_dioxide_mean@date | — | — | 0.1%thin — read with care |
air_nitrogen_dioxide_who_ratio | x_guideline | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_nitrogen_dioxide_who_ratio@date | — | — | 0.1%thin — read with care |
air_nitrogen_dioxide_winter_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_nitrogen_dioxide_winter_mean@date | — | — | 0.1%thin — read with care |
air_ozone_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_ozone_mean@date | — | — | 0.1%thin — read with care |
air_ozone_winter_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_ozone_winter_mean@date | — | — | 0.1%thin — read with care |
air_pm10_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm10_mean@date | — | — | 0.1%thin — read with care |
air_pm10_who_ratio | x_guideline | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm10_who_ratio@date | — | — | 0.1%thin — read with care |
air_pm10_winter_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm10_winter_mean@date | — | — | 0.1%thin — read with care |
air_pm25_days_over_who | days_per_year | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm25_days_over_who@date | — | — | 0.1%thin — read with care |
air_pm2_5_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm2_5_mean@date | — | — | 0.1%thin — read with care |
air_pm2_5_who_ratioMultiples of the WHO annual guideline (5 µg/m³). Most of Italy exceeds 1.0. | x_guideline | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm2_5_who_ratio@date | — | — | 0.1%thin — read with care |
air_pm2_5_winter_mean | ug_m3 | Open-Meteo air quality (CAMS European reanalysis) | 0.1%thin — read with care |
air_pm2_5_winter_mean@date | — | — | 0.1%thin — read with care |
airport_countries | countries | Eurostat air transport statistics, and OurAirports | 100% |
airport_countries@date | — | — | 100% |
airports_nearby | — | Eurostat air transport statistics, and OurAirports | 100% |
airports_nearby@date | — | — | 100% |
Editorial content
Prose from Italian Wikipedia. May be absent — show nothing, never invent.
| Field | Unit | Source | Coverage |
|---|---|---|---|
wiki_events | — | Italian Wikipedia (CC BY-SA 4.0) | 5.2%thin — read with care |
wiki_food | — | Italian Wikipedia (CC BY-SA 4.0) | 1.8%thin — read with care |
wiki_notable | — | Italian Wikipedia (CC BY-SA 4.0) | 9.8%thin — read with care |
wiki_summary | — | Italian Wikipedia (CC BY-SA 4.0) | 10.6%thin — read with care |
wiki_url | — | Wikidata (P1082/P2046/P2044, sourced from ISTAT) | 98.1% |
Photo
Commons image. Do NOT render without img_licence and img_author.
| Field | Unit | Source | Coverage |
|---|---|---|---|
img_author | — | Wikidata P18 / Wikimedia Commons | 90.5% |
img_file | — | Wikidata P18 / Wikimedia Commons | 90.3% |
img_licenceRequired. No licence recorded → the photo must not be displayed. | — | Wikidata P18 / Wikimedia Commons | 90.5% |
img_page | — | Wikidata P18 / Wikimedia Commons | 90.5% |
img_url | — | Wikidata P18 / Wikimedia Commons | 90.5% |
Geography
| Field | Unit | Source | Coverage |
|---|---|---|---|
area_km2 | km2 | Wikidata (P1082/P2046/P2044, sourced from ISTAT) | 100% |
area_km2@date | — | — | 2.2%thin — read with care |
elevation_m | m | Wikidata (P1082/P2046/P2044, sourced from ISTAT) | 97.7% |
Other
| Field | Unit | Source | Coverage |
|---|---|---|---|
familiar_foreign_pct | % | ISTAT — resident population by citizenship | 100% |
familiar_foreign_pct@date | — | — | 100% |
familiar_foreign_residents | people | ISTAT — resident population by citizenship | 100% |
familiar_foreign_residents@date | — | — | 100% |
foreign_residents | people | ISTAT — resident population by citizenship | 100% |
foreign_residents@date | — | — | 100% |
foreign_residents_by_country | — | ISTAT — resident population by citizenship | 99.6% |
foreign_residents_by_country@date | — | — | 99.6% |
foreign_residents_pct | % | ISTAT — resident population by citizenship | 100% |
foreign_residents_pct@date | — | — | 100% |
ftth_coverage_20m_pct | % | AGCOM — ultra-broadband coverage by municipality | 94.4% |
ftth_coverage_pct | % | AGCOM — ultra-broadband coverage by municipality | 94.4% |
households | households | AGCOM — ultra-broadband coverage by municipality | 94.4% |
households_ftth | households | AGCOM — ultra-broadband coverage by municipality | 90.8% |
mins_airport | min | ISTAT — municipal accessibility to transport infrastructure (2023) | 99.9% |
mins_airport@date | — | — | 99.9% |
mins_motorway | min | ISTAT — municipal accessibility to transport infrastructure (2023) | 99.9% |
mins_motorway@date | — | — | 99.9% |
mins_port | min | ISTAT — municipal accessibility to transport infrastructure (2023) | 99.9% |
mins_port@date | — | — | 99.9% |
mins_rail | min | ISTAT — municipal accessibility to transport infrastructure (2023) | 99.9% |
mins_rail@date | — | — | 99.9% |
omi_tipologia | — | Agenzia Entrate - OMI | 96% |
omi_zones | zones | Agenzia Entrate - OMI | 96% |
omi_zones@date | — | — | 96% |
price_eur_m2 | EUR/m2 | Agenzia Entrate - OMI | 96% |
price_eur_m2@date | — | — | 96% |
price_eur_m2_max | EUR/m2 | Agenzia Entrate - OMI | 96% |
price_eur_m2_max@date | — | — | 96% |
price_eur_m2_min | EUR/m2 | Agenzia Entrate - OMI | 96% |
price_eur_m2_min@date | — | — | 96% |
rent_eur_m2_month | EUR/m2/month | Agenzia Entrate - OMI | 89% |
rent_eur_m2_month@date | — | — | 89% |
sea_beyond_km | straightline_km | OpenStreetMap (Overpass) | 24.4%thin — read with care |
ski_beyond_km | straightline_km | OpenStreetMap (Overpass) | 0.9%thin — read with care |
train_bari_from | — | Trenitalia timetable via the Italian National Access Point (NeTEx) | 69.3% |
train_bari_min | minutes | Trenitalia timetable via the Italian National Access Point (NeTEx) | 69.3% |
train_bari_station_km | straightline_km | Trenitalia timetable via the Italian National Access Point (NeTEx) | 69.3% |
train_milano_from | — | Trenitalia timetable via the Italian National Access Point (NeTEx) | 91.9% |
train_milano_min | minutes | Trenitalia timetable via the Italian National Access Point (NeTEx) | 91.9% |
train_milano_station_km | straightline_km | Trenitalia timetable via the Italian National Access Point (NeTEx) | 91.9% |
train_napoli_from | — | Trenitalia timetable via the Italian National Access Point (NeTEx) | 78.7% |
train_napoli_min | minutes | Trenitalia timetable via the Italian National Access Point (NeTEx) | 78.7% |
train_napoli_station_km | straightline_km | Trenitalia timetable via the Italian National Access Point (NeTEx) | 78.7% |
train_palermo_from | — | Trenitalia timetable via the Italian National Access Point (NeTEx) | 36.8% |
train_palermo_min | minutes | Trenitalia timetable via the Italian National Access Point (NeTEx) | 36.8% |
train_palermo_station_km | straightline_km | Trenitalia timetable via the Italian National Access Point (NeTEx) | 36.8% |
A missing field is never scored as zero — it is dropped, and the coverage figure on each village page tells you how much of the picture was actually measured. Browse the villages.