stats: /stats overview, economy, energy and Gouda pages; CBS series map; nav, homepage, /start and sitemap links
All checks were successful
Deploy production / deploy (push) Successful in 1m10s
All checks were successful
Deploy production / deploy (push) Successful in 1m10s
- CBS_SERIES: CPI, household tariffs (2007-now), energy balance, renewables, heat pumps, solar, cars, population (monthly, since 1942, components), house prices, housing stock, municipal levies for Gouda and its neighbours - shared StatChart/Kpi/chart helpers with per-chart source attribution - drop Eurostat nrg_pc_20x_h (404; CBS covers that history)
This commit is contained in:
@@ -23,4 +23,570 @@ export const RING = [
|
||||
...GOUDA_RING.map((code) => ({ code, region: code }))
|
||||
];
|
||||
|
||||
export const CBS_SERIES: CbsSeriesDef[] = [];
|
||||
const ALL_REGIONS = [
|
||||
{ code: 'NL01', region: 'NLD' },
|
||||
{ code: 'GM0513', region: 'GM0513' }
|
||||
];
|
||||
const VAT = { Btw: 'A048944' };
|
||||
const tariff = (
|
||||
table: string,
|
||||
measure: string,
|
||||
id: string,
|
||||
title: string,
|
||||
unit: string
|
||||
): CbsSeriesDef => ({
|
||||
id,
|
||||
table,
|
||||
measure,
|
||||
dims: VAT,
|
||||
freq: 'M',
|
||||
title,
|
||||
unit,
|
||||
theme: 'energy'
|
||||
});
|
||||
|
||||
export const CBS_SERIES: CbsSeriesDef[] = [
|
||||
// Consumer prices
|
||||
{
|
||||
id: 'cbs:cpi:yoy',
|
||||
table: '86141NED',
|
||||
measure: 'M000238',
|
||||
dims: { Bestedingscategorieen: 'T001112' },
|
||||
freq: 'M',
|
||||
title: 'CPI inflation, all items',
|
||||
unit: '% year on year',
|
||||
theme: 'economy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cpi:energy:yoy',
|
||||
table: '86141NED',
|
||||
measure: 'M000238',
|
||||
dims: { Bestedingscategorieen: 'CPI045000' },
|
||||
freq: 'M',
|
||||
title: 'CPI inflation, electricity, gas and other fuels',
|
||||
unit: '% year on year',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cpi:food:yoy',
|
||||
table: '86141NED',
|
||||
measure: 'M000238',
|
||||
dims: { Bestedingscategorieen: 'CPI011000' },
|
||||
freq: 'M',
|
||||
title: 'CPI inflation, food',
|
||||
unit: '% year on year',
|
||||
theme: 'economy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cpi:1969',
|
||||
table: '83136NED',
|
||||
measure: 'M000215_1',
|
||||
freq: 'M',
|
||||
title: 'Consumer price index (1969 = 100)',
|
||||
unit: 'Index 1969=100',
|
||||
theme: 'economy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:rent:increase',
|
||||
table: '70675ned',
|
||||
measure: 'D001503',
|
||||
freq: 'A',
|
||||
title: 'Average rent increase',
|
||||
unit: '%',
|
||||
theme: 'economy'
|
||||
},
|
||||
// Energy tariffs (incl. VAT); _1 = gas, _2 = electricity
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M007924_2',
|
||||
'cbs:tariff:elec:variable',
|
||||
'Electricity: variable supply tariff (contract)',
|
||||
'EUR per kWh'
|
||||
),
|
||||
tariff('85592NED', 'A045057_2', 'cbs:tariff:elec:tax', 'Electricity: energy tax', 'EUR per kWh'),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M001013_2',
|
||||
'cbs:tariff:elec:transport',
|
||||
'Electricity: transport tariff',
|
||||
'EUR per year'
|
||||
),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M000175_2',
|
||||
'cbs:tariff:elec:fixed',
|
||||
'Electricity: fixed supply tariff',
|
||||
'EUR per year'
|
||||
),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M001284',
|
||||
'cbs:tariff:elec:taxcredit',
|
||||
'Electricity: energy tax reduction',
|
||||
'EUR per year'
|
||||
),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M008381',
|
||||
'cbs:tariff:elec:dynamic',
|
||||
'Electricity: variable supply tariff (dynamic)',
|
||||
'EUR per kWh'
|
||||
),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M007924_1',
|
||||
'cbs:tariff:gas:variable',
|
||||
'Gas: variable supply tariff (contract)',
|
||||
'EUR per m3'
|
||||
),
|
||||
tariff('85592NED', 'A045057_1', 'cbs:tariff:gas:tax', 'Gas: energy tax', 'EUR per m3'),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M001013_1',
|
||||
'cbs:tariff:gas:transport',
|
||||
'Gas: transport tariff',
|
||||
'EUR per year'
|
||||
),
|
||||
tariff(
|
||||
'85592NED',
|
||||
'M000175_1',
|
||||
'cbs:tariff:gas:fixed',
|
||||
'Gas: fixed supply tariff',
|
||||
'EUR per year'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'M000176_2',
|
||||
'cbs:tariff1823:elec:variable',
|
||||
'Electricity: variable supply tariff (2018-2023 series)',
|
||||
'EUR per kWh'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'A045057_2',
|
||||
'cbs:tariff1823:elec:tax',
|
||||
'Electricity: energy tax (2018-2023 series)',
|
||||
'EUR per kWh'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'M001285_2',
|
||||
'cbs:tariff1823:elec:ode',
|
||||
'Electricity: renewable energy surcharge ODE (2018-2023 series)',
|
||||
'EUR per kWh'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'M000176_1',
|
||||
'cbs:tariff1823:gas:variable',
|
||||
'Gas: variable supply tariff (2018-2023 series)',
|
||||
'EUR per m3'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'A045057_1',
|
||||
'cbs:tariff1823:gas:tax',
|
||||
'Gas: energy tax (2018-2023 series)',
|
||||
'EUR per m3'
|
||||
),
|
||||
tariff(
|
||||
'84672NED',
|
||||
'M001285_1',
|
||||
'cbs:tariff1823:gas:ode',
|
||||
'Gas: renewable energy surcharge ODE (2018-2023 series)',
|
||||
'EUR per m3'
|
||||
),
|
||||
// Average prices for small users 2007-2023 (quarterly), incl. VAT and taxes
|
||||
{
|
||||
id: 'cbs:price0723:elec',
|
||||
table: '81309NED',
|
||||
measure: 'D001522',
|
||||
dims: { Belastingen: 'A047659', Prijscomponenten: 'A047656' },
|
||||
freq: 'Q',
|
||||
title: 'Electricity price, households 2.5-5 MWh (incl. VAT and taxes)',
|
||||
unit: 'EUR per kWh',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:price0723:gas',
|
||||
table: '81309NED',
|
||||
measure: 'D001514',
|
||||
dims: { Belastingen: 'A047659', Prijscomponenten: 'A047656' },
|
||||
freq: 'Q',
|
||||
title: 'Gas price, households 20-200 GJ (incl. VAT and taxes)',
|
||||
unit: 'EUR per GJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
// Energy balance (PJ)
|
||||
{
|
||||
id: 'cbs:energy:tpes',
|
||||
table: '83140NED',
|
||||
measure: 'D002419',
|
||||
dims: { Energiedragers: 'T001027' },
|
||||
freq: 'A',
|
||||
title: 'Total primary energy supply',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:energy:netimport',
|
||||
table: '83140NED',
|
||||
measure: 'M002205',
|
||||
dims: { Energiedragers: 'T001027' },
|
||||
freq: 'A',
|
||||
title: 'Net energy imports',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:energy:production',
|
||||
table: '83140NED',
|
||||
measure: 'M002420',
|
||||
dims: { Energiedragers: 'T001027' },
|
||||
freq: 'A',
|
||||
title: 'Domestic energy production',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:energy:gas:production',
|
||||
table: '83140NED',
|
||||
measure: 'M002420',
|
||||
dims: { Energiedragers: 'E006560' },
|
||||
freq: 'A',
|
||||
title: 'Natural gas production',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:energy:gas:netimport',
|
||||
table: '83140NED',
|
||||
measure: 'M002205',
|
||||
dims: { Energiedragers: 'E006560' },
|
||||
freq: 'A',
|
||||
title: 'Natural gas net imports',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:energy:gas:tpes',
|
||||
table: '83140NED',
|
||||
measure: 'D002419',
|
||||
dims: { Energiedragers: 'E006560' },
|
||||
freq: 'A',
|
||||
title: 'Natural gas supply',
|
||||
unit: 'PJ',
|
||||
theme: 'energy'
|
||||
},
|
||||
// Renewable electricity
|
||||
...(
|
||||
[
|
||||
['T001028', 'total', 'all renewables'],
|
||||
['E006637', 'wind-onshore', 'onshore wind'],
|
||||
['E006638', 'wind-offshore', 'offshore wind'],
|
||||
['E006590', 'solar', 'solar'],
|
||||
['E006566', 'biomass', 'biomass'],
|
||||
['E006587', 'hydro', 'hydro']
|
||||
] as const
|
||||
).flatMap(([code, key, name]): CbsSeriesDef[] => [
|
||||
{
|
||||
id: `cbs:renew:${key}:gwh`,
|
||||
table: '82610NED',
|
||||
measure: 'M002264_1',
|
||||
dims: { BronTechniek: code },
|
||||
freq: 'A',
|
||||
title: `Renewable electricity production: ${name}`,
|
||||
unit: 'GWh',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: `cbs:renew:${key}:share`,
|
||||
table: '82610NED',
|
||||
measure: 'M002416_2',
|
||||
dims: { BronTechniek: code },
|
||||
freq: 'A',
|
||||
title: `Renewable electricity, ${name} (normalised)`,
|
||||
unit: '% of consumption',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: `cbs:renew:${key}:mw`,
|
||||
table: '82610NED',
|
||||
measure: 'M002163',
|
||||
dims: { BronTechniek: code },
|
||||
freq: 'A',
|
||||
title: `Installed capacity: ${name}`,
|
||||
unit: 'MW',
|
||||
theme: 'energy'
|
||||
}
|
||||
]),
|
||||
// Heat pumps (homes and all buildings)
|
||||
{
|
||||
id: 'cbs:heatpumps:homes',
|
||||
table: '85523NED',
|
||||
measure: 'D002272',
|
||||
dims: { Sector: 'E007037', Warmtepompen: 'T001364' },
|
||||
freq: 'A',
|
||||
title: 'Heat pumps installed in homes (end of year)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:heatpumps:homes:air',
|
||||
table: '85523NED',
|
||||
measure: 'D002272',
|
||||
dims: { Sector: 'E007037', Warmtepompen: 'A043948' },
|
||||
freq: 'A',
|
||||
title: 'Air-source heat pumps in homes (end of year)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:heatpumps:homes:ground',
|
||||
table: '85523NED',
|
||||
measure: 'D002272',
|
||||
dims: { Sector: 'E007037', Warmtepompen: 'A043945' },
|
||||
freq: 'A',
|
||||
title: 'Ground/water-source heat pumps in homes (end of year)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:heatpumps:homes:hybrid',
|
||||
table: '85523NED',
|
||||
measure: 'D002272',
|
||||
dims: { Sector: 'E007037', Warmtepompen: 'A052046' },
|
||||
freq: 'A',
|
||||
title: 'Hybrid air-water heat pumps in homes (end of year)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:heatpumps:new',
|
||||
table: '85523NED',
|
||||
measure: 'D002270',
|
||||
dims: { Sector: 'E007041', Warmtepompen: 'T001364' },
|
||||
freq: 'A',
|
||||
title: 'Heat pumps put into use per year (all buildings)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
// Solar (NL and Gouda)
|
||||
{
|
||||
id: 'cbs:solar:kwp',
|
||||
table: '85005NED',
|
||||
measure: 'M002461',
|
||||
dims: { SectorEnVermogensklasse: 'E007161' },
|
||||
freq: 'A',
|
||||
title: 'Installed solar panel capacity (all)',
|
||||
unit: 'kWp',
|
||||
theme: 'energy',
|
||||
regionDim: 'RegioS',
|
||||
regions: ALL_REGIONS
|
||||
},
|
||||
{
|
||||
id: 'cbs:solar:homes:kwp',
|
||||
table: '85005NED',
|
||||
measure: 'M002461',
|
||||
dims: { SectorEnVermogensklasse: 'E007037' },
|
||||
freq: 'A',
|
||||
title: 'Installed solar panel capacity on homes',
|
||||
unit: 'kWp',
|
||||
theme: 'energy',
|
||||
regionDim: 'RegioS',
|
||||
regions: ALL_REGIONS
|
||||
},
|
||||
{
|
||||
id: 'cbs:solar:homes:n',
|
||||
table: '85005NED',
|
||||
measure: 'M002460',
|
||||
dims: { SectorEnVermogensklasse: 'E007037' },
|
||||
freq: 'A',
|
||||
title: 'Solar installations on homes',
|
||||
unit: 'count',
|
||||
theme: 'energy',
|
||||
regionDim: 'RegioS',
|
||||
regions: ALL_REGIONS
|
||||
},
|
||||
// Passenger cars (1 January)
|
||||
{
|
||||
id: 'cbs:cars:total',
|
||||
table: '85237NED',
|
||||
measure: 'T001051',
|
||||
dims: { Bouwjaar: 'T001378' },
|
||||
freq: 'A',
|
||||
title: 'Passenger cars (1 January)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cars:electric',
|
||||
table: '85237NED',
|
||||
measure: 'A027842',
|
||||
dims: { Bouwjaar: 'T001378' },
|
||||
freq: 'A',
|
||||
title: 'Fully electric passenger cars (1 January)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cars:petrol',
|
||||
table: '85237NED',
|
||||
measure: 'A019276',
|
||||
dims: { Bouwjaar: 'T001378' },
|
||||
freq: 'A',
|
||||
title: 'Petrol passenger cars (1 January)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:cars:diesel',
|
||||
table: '85237NED',
|
||||
measure: 'A019275',
|
||||
dims: { Bouwjaar: 'T001378' },
|
||||
freq: 'A',
|
||||
title: 'Diesel passenger cars (1 January)',
|
||||
unit: 'count',
|
||||
theme: 'energy'
|
||||
},
|
||||
// Population (Gouda, the ring and NL)
|
||||
{
|
||||
id: 'cbs:pop:monthly',
|
||||
table: '37230ned',
|
||||
measure: 'M000099',
|
||||
freq: 'M',
|
||||
title: 'Population at the end of the month',
|
||||
unit: 'people',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: RING
|
||||
},
|
||||
{
|
||||
id: 'cbs:pop:jan1',
|
||||
table: '37259ned',
|
||||
measure: 'M000352',
|
||||
dims: { Geslacht: 'T001038' },
|
||||
freq: 'A',
|
||||
title: 'Population on 1 January',
|
||||
unit: 'people',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: RING
|
||||
},
|
||||
...(
|
||||
[
|
||||
['D000128_2', 'births', 'Live births'],
|
||||
['M000134_2', 'deaths', 'Deaths'],
|
||||
['M000167', 'immigration', 'Immigration'],
|
||||
['M000168', 'emigration', 'Emigration (incl. administrative corrections)'],
|
||||
['M003485_1', 'in', 'Moved in from another municipality'],
|
||||
['M003485_2', 'out', 'Moved out to another municipality'],
|
||||
['M000101_2', 'growth', 'Total population growth']
|
||||
] as const
|
||||
).map(([measure, key, title]): CbsSeriesDef => ({
|
||||
id: `cbs:pop:${key}`,
|
||||
table: '37259ned',
|
||||
measure,
|
||||
dims: { Geslacht: 'T001038' },
|
||||
freq: 'A',
|
||||
title,
|
||||
unit: 'people',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: ALL_REGIONS
|
||||
})),
|
||||
// Housing
|
||||
{
|
||||
id: 'cbs:house:avgprice',
|
||||
table: '83625NED',
|
||||
measure: 'M001534',
|
||||
freq: 'A',
|
||||
title: 'Average sale price of existing homes',
|
||||
unit: 'EUR',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: RING
|
||||
},
|
||||
{
|
||||
id: 'cbs:house:hpi:cr28',
|
||||
table: '85819NED',
|
||||
measure: 'M001505_2',
|
||||
dims: { RegioS: 'CR28' },
|
||||
freq: 'Q',
|
||||
title: 'House price index, Oost-Zuid-Holland (COROP, incl. Gouda)',
|
||||
unit: 'Index 2020=100',
|
||||
theme: 'gouda',
|
||||
region: 'CR28'
|
||||
},
|
||||
{
|
||||
id: 'cbs:house:hpi:nl',
|
||||
table: '85773NED',
|
||||
measure: 'M001505_2',
|
||||
freq: 'M',
|
||||
title: 'House price index, Netherlands',
|
||||
unit: 'Index 2020=100',
|
||||
theme: 'economy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:house:avgprice:nl:m',
|
||||
table: '85773NED',
|
||||
measure: 'M001534',
|
||||
freq: 'M',
|
||||
title: 'Average sale price of existing homes, Netherlands',
|
||||
unit: 'EUR',
|
||||
theme: 'economy'
|
||||
},
|
||||
{
|
||||
id: 'cbs:house:sold:nl:m',
|
||||
table: '85773NED',
|
||||
measure: 'M001532_2',
|
||||
freq: 'M',
|
||||
title: 'Existing homes sold, Netherlands',
|
||||
unit: 'homes',
|
||||
theme: 'economy'
|
||||
},
|
||||
...(
|
||||
[
|
||||
['T001258', 'total', 'Housing stock'],
|
||||
['A028868', 'owner', 'Owner-occupied homes'],
|
||||
['A047038', 'social', 'Housing association rentals'],
|
||||
['A047039', 'private', 'Other (private) rentals']
|
||||
] as const
|
||||
).map(([code, key, title]): CbsSeriesDef => ({
|
||||
id: `cbs:stock:${key}`,
|
||||
table: '86079NED',
|
||||
measure: 'M000297',
|
||||
dims: {
|
||||
EigendomWoning: code,
|
||||
Bouwjaar: 'T001018',
|
||||
Woningtype: 'T001100',
|
||||
BewoningWoonruimte: 'T001697'
|
||||
},
|
||||
freq: 'A',
|
||||
title,
|
||||
unit: 'homes',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: RING
|
||||
})),
|
||||
// Municipal levies per inhabitant (Gouda + ring)
|
||||
...(
|
||||
[
|
||||
['T001473', 'total', 'Municipal levies, total'],
|
||||
['A047000', 'ozb', 'Property tax (OZB) on homes'],
|
||||
['A047006', 'sewer', 'Sewerage charge'],
|
||||
['A047007', 'waste', 'Waste collection charge']
|
||||
] as const
|
||||
).map(([code, key, title]): CbsSeriesDef => ({
|
||||
id: `cbs:levy:${key}`,
|
||||
table: '83642NED',
|
||||
measure: 'M001178_2',
|
||||
dims: { GemeentelijkeHeffingenVanaf2017: code },
|
||||
freq: 'A',
|
||||
title: `${title} per inhabitant`,
|
||||
unit: 'EUR per inhabitant',
|
||||
theme: 'gouda',
|
||||
regionDim: 'RegioS',
|
||||
regions: RING.filter((r) => r.code !== 'NL01')
|
||||
}))
|
||||
];
|
||||
|
||||
@@ -64,8 +64,6 @@ export const EUROSTAT_DATASETS: Dataset[] = [
|
||||
theme: 'energy',
|
||||
params: { nrg_cons: 'GJ20-199', currency: 'EUR', unit: 'KWH' }
|
||||
},
|
||||
{ code: 'nrg_pc_204_h', theme: 'energy', params: { consom: '4161902', currency: 'EUR' } },
|
||||
{ code: 'nrg_pc_202_h', theme: 'energy', params: { consom: '4141902', currency: 'EUR' } },
|
||||
{ code: 'nrg_ind_id', theme: 'energy', params: { siec: 'TOTAL' } },
|
||||
{
|
||||
code: 'irt_lt_mcby_m',
|
||||
|
||||
Reference in New Issue
Block a user