Ero sivun ”Pienhiukkaspitoisuuden väestöpainotettu vuosikeskiarvo” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
 
Rivi 913: Rivi 913:
==== Upload original data ====
==== Upload original data ====


Uploading Batman data from Silam to THL database yteval.pubhealth
Uploading Batman data from Silam to THL database envhealth.pubhealth


{{argument|relat1=comment|id=arg4336|type=|content=Batman-väestödatasta pitäisi simuloida tarkka väestö myös ruutuihin, joissa on alle 10 henkeä. Tämän voisi tehdä siten, että katsoo kunnittain ne ruudut, joissa on 10 (tai 10-15, jos voima ei riitä) ihmistä ja niistä laskee todennäköisyyden olla mies/nainen/alle15/15-64/65+. Sitten arvotaan ensin ikäryhmä ja sitten ehdolla ikä arvotaan sukupuoli kuntakohtaisilla todennäköisyyksillä. Näin päästään dataan, jossa on joka ruudussa näennäisesti täydellinen tieto ihmisten iästä ja sukupuolesta, eikä tarvitse miettiä tuota monisarakkeista hässäkkää laskennassa. Tästä datasta voi siis suoraan tuottaa ovariablen.|sign=--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 6. kesäkuuta 2019 kello 07.38 (UTC)}}
{{argument|relat1=comment|id=arg4336|type=|content=Batman-väestödatasta pitäisi simuloida tarkka väestö myös ruutuihin, joissa on alle 10 henkeä. Tämän voisi tehdä siten, että katsoo kunnittain ne ruudut, joissa on 10 (tai 10-15, jos voima ei riitä) ihmistä ja niistä laskee todennäköisyyden olla mies/nainen/alle15/15-64/65+. Sitten arvotaan ensin ikäryhmä ja sitten ehdolla ikä arvotaan sukupuoli kuntakohtaisilla todennäköisyyksillä. Näin päästään dataan, jossa on joka ruudussa näennäisesti täydellinen tieto ihmisten iästä ja sukupuolesta, eikä tarvitse miettiä tuota monisarakkeista hässäkkää laskennassa. Tästä datasta voi siis suoraan tuottaa ovariablen.|sign=--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 6. kesäkuuta 2019 kello 07.38 (UTC)}}
Rivi 955: Rivi 955:


##############################################################3
##############################################################3
### Upload Batman Silam data to database pubhealth - pgbd.thl.fi / yteval
### Upload Batman Silam data to database pubhealth - pgbd.thl.fi / envhealth


con <- thlDbConnect(dbengine="postgres", database="pubhealth") # LDAP kysyy THL:n salasanan
con <- thlDbConnect(dbengine="postgres", database="pubhealth") # LDAP kysyy THL:n salasanan


thlWriteTable(con,dat,tablename="silam_airpol_popul",truncate=FALSE,schema="yteval",
thlWriteTable(con,dat,tablename="silam_airpol_popul",truncate=FALSE,schema="envhealth",
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")


thlWriteTable(con,pm,tablename="silam_airpol",truncate=FALSE,schema="yteval",
thlWriteTable(con,pm,tablename="silam_airpol",truncate=FALSE,schema="envhealth",
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")


thlWriteTable(con,pop,tablename="silam_popul",truncate=FALSE,schema="yteval",
thlWriteTable(con,pop,tablename="silam_popul",truncate=FALSE,schema="envhealth",
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
               owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")


thlSendStatement(con,"COMMENT ON TABLE yteval.silam_airpol IS 'Batman air pollutant concentrations from Silam model';")
thlSendStatement(con,"COMMENT ON TABLE envhealth.silam_airpol IS 'Batman air pollutant concentrations from Silam model';")


thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.n IS 'identifier of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.n IS 'identifier of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.lon IS 'longitude of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.lon IS 'longitude of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.lat IS 'latitude of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.lat IS 'latitude of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.pm2_5 IS 'fine particle conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.pm2_5 IS 'fine particle conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.pm10 IS 'respirable particle conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.pm10 IS 'respirable particle conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.no2 IS 'nitrogen dioxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.no2 IS 'nitrogen dioxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.o3 IS 'ozone conc in ppb';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.o3 IS 'ozone conc in ppb';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.so2 IS 'sulfur dioxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.so2 IS 'sulfur dioxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.co IS 'carbon monoxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.co IS 'carbon monoxide conc in ug/m3';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_airpol.somo35 IS 'sum of o3 means above 35 ppb in ppb-days';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_airpol.somo35 IS 'sum of o3 means above 35 ppb in ppb-days';")


thlSendStatement(con,"COMMENT ON TABLE yteval.silam_popul IS 'population data used in Batman. Source: ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON TABLE envhealth.silam_popul IS 'population data used in Batman. Source: ask Antti Korhonen';")


thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.kunta_id IS 'identifier of the municipality';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.kunta_id IS 'identifier of the municipality';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.maakunta_id IS 'identifier of the district';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.maakunta_id IS 'identifier of the district';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.grd_id IS 'identifier of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.grd_id IS 'identifier of the grid cell';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.id_nro IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.id_nro IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.x_centroid_eureffin IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.x_centroid_eureffin IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.y_centroid_eureffin IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.y_centroid_eureffin IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.x_wgs84 IS 'longitude of central point of grid cell?';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.x_wgs84 IS 'longitude of central point of grid cell?';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.y_wgs84 IS 'latitude of central point of grid cell?';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.y_wgs84 IS 'latitude of central point of grid cell?';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.popall IS 'total population in cell';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.popall IS 'total population in cell';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.gt9 IS 'total population in cell if > 9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.gt9 IS 'total population in cell if > 9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.lt10 IS 'total population in cell if < 10';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.lt10 IS 'total population in cell if < 10';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.men IS 'number of men in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.men IS 'number of men in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.women IS 'number of men in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.women IS 'number of men in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.under15_years IS 'number of people <15 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.under15_years IS 'number of people <15 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.between15_64_years IS 'number of people 15-64 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.between15_64_years IS 'number of people 15-64 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.over65_years IS 'number of people >65 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.over65_years IS 'number of people >65 a in cell if gt9';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.inputid IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.inputid IS 'ask Antti Korhonen';")
thlSendStatement(con,"COMMENT ON COLUMN yteval.silam_popul.targetid IS 'cell id used to merge with conc data';")
thlSendStatement(con,"COMMENT ON COLUMN envhealth.silam_popul.targetid IS 'cell id used to merge with conc data';")


#dbi <- thlDbInfo("pubhealth", dbengine="postgresql")
#dbi <- thlDbInfo("pubhealth", dbengine="postgresql")
#thlDbQuery(dbi,"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'yteval' AND TABLE_NAME = 'silam_airpol';")
#thlDbQuery(dbi,"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'envhealth' AND TABLE_NAME = 'silam_airpol';")


# Download metadata from database
# Download metadata from database


fields  <- dbGetFields(con, schema="yteval",name="silam_airpol")
fields  <- dbGetFields(con, schema="envhealth",name="silam_airpol")
paste0(fields$COLUMN_NAME, " (", fields$TYPE_NAME,"): ",fields$REMARKS)
paste0(fields$COLUMN_NAME, " (", fields$TYPE_NAME,"): ",fields$REMARKS)


fields_popul <- dbGetFields(con, schema="yteval",name="silam_popul")
fields_popul <- dbGetFields(con, schema="envhealth",name="silam_popul")
paste0(fields_popul$COLUMN_NAME, " (", fields_popul$TYPE_NAME,"): ",fields_popul$REMARKS)
paste0(fields_popul$COLUMN_NAME, " (", fields_popul$TYPE_NAME,"): ",fields_popul$REMARKS)


Rivi 1 019: Rivi 1 019:
#  
#  
# thlSendStatement(con,"alter table valvontayksikot owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table valvontayksikot owner to pubhealth_yte_admin")
# thlSendStatement(con,"drop table yteval.valvontayksikko_kunta")
# thlSendStatement(con,"drop table envhealth.valvontayksikko_kunta")
#
#
# thlWriteTable(con,alakoodit,tablename="valvontayksikko_kunta",schema="yteval",owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
# thlWriteTable(con,alakoodit,tablename="valvontayksikko_kunta",schema="envhealth",owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
# thlWriteTable(con,lisatiedot,tablename="valvontayksikko_lisatieto",schema="yteval",owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
# thlWriteTable(con,lisatiedot,tablename="valvontayksikko_lisatieto",schema="envhealth",owner="pubhealth_yte_admin",role="pubhealth_yte_user",grant="select")
#
#
# thlSendStatement(con,"alter table yteval.valvontayksikot owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table envhealth.valvontayksikot owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table yteval.valvontayksiko_kunta owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table envhealth.valvontayksiko_kunta owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table yteval.valvontayksikko_lisatieto owner to pubhealth_yte_admin")
# thlSendStatement(con,"alter table envhealth.valvontayksikko_lisatieto owner to pubhealth_yte_admin")
#  
#  
# thlSendStatement(con,"grant select on table yteval.valvontayksikot to pubhealth_yte_user")
# thlSendStatement(con,"grant select on table envhealth.valvontayksikot to pubhealth_yte_user")
# thlSendStatement(con,"grant select on table yteval.valvontayksikko_kunta to pubhealth_yte_user")
# thlSendStatement(con,"grant select on table envhealth.valvontayksikko_kunta to pubhealth_yte_user")
# thlSendStatement(con,"grant select on table yteval.valvontayksikko_lisatieto to pubhealth_yte_user")
# thlSendStatement(con,"grant select on table envhealth.valvontayksikko_lisatieto to pubhealth_yte_user")
</rcode>
</rcode>


Rivi 1 046: Rivi 1 046:


dbi <- thlDbInfo("pubhealth", dbengine="postgresql")
dbi <- thlDbInfo("pubhealth", dbengine="postgresql")
dat <- thlDbQuery(dbi,"SELECT * FROM yteval.silam_airpol_popul;")
dat <- thlDbQuery(dbi,"SELECT * FROM envhealth.silam_airpol_popul;")


# Download administrative region data from Quiltdata.org database
# Download administrative region data from Quiltdata.org database

Nykyinen versio 6. kesäkuuta 2019 kello 08.33




Tällä sivulla kuvataan Sotkanet-indikaattori pienhiukkasten (PM2.5) ulkoilmapitoisuuden vuosikeskiarvosta, joka on painotettu väestön asuinpaikkojen koordinaateilla.

Kysymys

Miten muodostetaan tieto pienhiukkasten ulkoilmapitoisuuden vuosikeskiarvosta, ja mitä siitä voidaan päätellä maakuntien ja kuntien ympäristöterveyden näkökulmasta?

Vastaus

Maakuntien sotearviointia varten tarkasteltiin myös tätä indikaattoria osana hyvinvointi ja terveys -teeman ympäristöterveyden osa-aluetta.

Uusimaa

Pienhiukkaset ovat Suomessakin kaikkein merkittävin ympäristötekijä, joka aiheuttaa terveyshaittaa. Pienhiukkaset ovat pääasiassa peräisin liikenteestä ja puun pienpoltosta. Myös energiantuotanto ja teollisuus ovat suurehkoja lähteitä mutta niiden ominaispäästöt ovat pienet (eli tuotantolaitokset puhdistavat jo tehokkaasti päästöjään) ja päästöt tyypillisesti leviävät korkeista piipuista laajalle aiheuttamatta asutuskeskuksiin korkeita pitoisuuksia. Muita kuin polttoperäisiä päästölähteitä ovat mm. katupöly varsinkin keväisin, maatalouden pölyt sekä monista hajalähteistä syntyvät orgaaniset hiilivedyt, jotka muuttuvat hiukkasiksi vasta ilmakehässä.

Pienhiukkaspitoisuuksien vuosikeskiarvo on arvioitu kunnittain THL:n koordinoimassa tutkimushankkeessa vuodelle 2015. Tämä on hyvä haitan mittari, koska tyypilliset terveyshaitat kuten sydäntaudit, krooninen bronkiitti ja keuhkosyöpä kehittyvät pitkäaikaisen altistuksen seurauksena. Kansainvälisesti verrattuna Suomen pienhiukkaspitoisuudet ovat pienet, mutta silti niiden arvioidaan aiheuttavan 26000 terveen elinvuoden menetyksen tai vastaavasti 1600 - 2000 kuolemantapausta (Lehtomäki ym., 2018 https://doi.org/10.3390/ijerph15040736).

Väestöpainotettu pienhiukkaspitoisuus oli Uudellamaalla suomalaisittain suurehko (6,4 µg/m3), kun koko maan keskiarvo oli 5,1 µg/m3 (Sotkanet, id=678). Päästölähteet ja asutus keskittyvät tyypillisesti samoille alueille. Koko maan keskiarvo ylittyi Uudellamaalla (6,4 µg/m3), Kymenlaaksossa (5,7 µg/m3), Päijät-Hämeessä (5,4 µg/m3), Etelä-Karjalassa (5,4 µg/m3) ja Varsinais-Suomessa (5,3 µg/m3) (Sotkanet, id=678). Uudenmaan kunnista korkeimmat pitoisuudet olivat Helsingissä (7 µg/m3), Vantaalla (6,6 µg/m3), Kauniaisissa (6,5 µg/m3) ja Espoossa (6,3 µg/m3) (Sotkanet, id=678). Valtakunnallisesti suurin pitoisuus oli Helsingissä (7 µg/m3). Espoossa ja Vantaalla tilannetta on todennäköisesti huonontanut puunpoltto kodeissa, kun taas Porvoossa tilanteeseen vaikuttanee Nesteen öljynjalostamo. Helsingissä taas päästötyyppejä on useita ja liikenne lienee tärkeämpi kuin muualla.

Suomessa pienhiukkasten aiheuttamasta tautitaakasta noin kolmasosa (37 %) syntyy Uudellamaalla, eli siellä menetetään noin 9600 tervettä elinvuotta pienhiukkasten takia. Helsingissä tämä luku on noin 4100 eli merkittävä osa koko Suomen tautitaakasta (26000 haittapainotettua elinvuotta). Tautitaakka on arvioitu syyosuusmenetelmällä (http://en.opasnet.org/w/HIA). Epävarmuudet ovat melko suuria ja liittyvät annosvasteen muotoon pienillä pitoisuuksilla, kilpailevien syytekijöiden rooliin kokonaisuudessa sekä pienhiukkaspitoisuuden arviointiin käytettyjen mallien epävarmuuksiin. Siitä ei kuitenkaan ole epävarmuutta, etteivätkö pienhiukkasten haittavaikutukset Suomessa olisi merkittäviä ja niiden vähentäminen tarpeellista.

Muut maakunnat


Perustelut

Koodi tulosten ja päätelmien laskemiseen löytyy Opasnetin sivulta [[Ympäristöterveysindikaattori#Indikaattorien lataus Sotkanettiin|]]. Suomen pienhiukkasten päästötiedot on tuotettu FRES-mallilla ja ne löytyvät Syken karttapalvelusta.

Laskentakoodi, joka lähtee SILAMin pitoisuustiedosta ja väestötiedosta kilometrin hilassa, löytyy alempaa kohdasta #Laskenta.

Data

Metadata

* merkityt ovat tärkeitä sisältöjä aiheen ymmärtämiseksi ja indikaattorin löytämiseksi.

Parametri Arvo
merkityt ovat tärkeitä sisältöjä aiheen ymmärtämiseksi ja indikaattorin löytämiseksi.
Sotkanet id 678
Nimi suomi Pienhiukkaspitoisuuden väestöpainotettu vuosikeskiarvo
Nimi ruotsi Småpartikelkoncentration, populationviktade årligt genomsnitt
Nimi englanti Fine particle concentration, population-weighted annual average
Tietosisältö * Indikaattori ilmaisee Suomen tärkeimmän ympäristömyrkyn eli pienhiukkasten pitoisuutta ulkoilmassa. Pitoisuus on laskettu mallittamalla keskimääräinen vuosipitoisuus kilometrin välein ja painottamalla pitoisuutta alueen väkimäärällä. Yksikkö: µg/m3
Tulkinta * Pienhiukkaset ovat sekoitus savua, hienojakoista pölyä ja ilmakehän kaasuista syntyviä hiukkasia. Kooltaan ne ovat alle 2,5 mikrometriä. Tärkeimmät päästölähteet Suomessa ovat puun pienpoltto ja liikenne. Pienhiukkaset aiheuttavat ihmisillä mm. lisääntynyttä sydän- ja verenkiertoelimistön sairauksista johtuvaa kuolleisuutta, astman pahenemista ja keuhkosyöpää.

Vaikka pitoisuudet Suomessa ovat pieniä ja alittavat raja-arvot ja WHO:n suositukset, nykykäsityksen mukaan ei ole olemassa turvallista pitoisuutta. Pienhiukkasten onkin arvioitu aiheuttavan Suomessa 1600 - 2000 kuolemaa vuosittain. Koko maailmassa arviot vaihtelevat kolmesta kuuteen miljoonaan.

Lainsäädäntö Ohjearvo WHO, 2006: 10 µg/m3. Suomen ilmanlaadun raja-arvot (VnA 38/2011): 25 µg/m3.
Luokitukset * Koko väestö. Alueelliset tiedot kunnittain ja maakunnittain (HE 2017 mukaan).
Asiasanat * pienhiukkaset, ilmanlaatu, ilmansaasteet. Engl. fine particles, air quality, air pollution. Swe. småpartiklar, luftkvalitet, luftföroreningar
Tietolähteet THL ja Suomen Akatemian rahoittama tutkimushanke Batman (2015-2018)
Lisätiedot https://thl.fi/fi/web/ymparistoterveys/ilmansaasteet
Päivitystiheys Tutkimushankkeessa 2018 tuotetut tiedot on arvioitu vuodelle 2015. Syke tekee vuosittaiset päästöarviot eri sektoreille, mutta näin tarkalla alueresoluutiolla tarkastelu tehdään ehkä kerran viidessä vuodessa. Näiden tietojen perusteella indikaattoria voidaan päivittää.
Rajoitukset Ei rajoituksia
Kuuluu ryhmiin


Pitoisuusdata kunnittain

Laskenta

Upload original data

Uploading Batman data from Silam to THL database envhealth.pubhealth

----arg4336: . Batman-väestödatasta pitäisi simuloida tarkka väestö myös ruutuihin, joissa on alle 10 henkeä. Tämän voisi tehdä siten, että katsoo kunnittain ne ruudut, joissa on 10 (tai 10-15, jos voima ei riitä) ihmistä ja niistä laskee todennäköisyyden olla mies/nainen/alle15/15-64/65+. Sitten arvotaan ensin ikäryhmä ja sitten ehdolla ikä arvotaan sukupuoli kuntakohtaisilla todennäköisyyksillä. Näin päästään dataan, jossa on joka ruudussa näennäisesti täydellinen tieto ihmisten iästä ja sukupuolesta, eikä tarvitse miettiä tuota monisarakkeista hässäkkää laskennassa. Tästä datasta voi siis suoraan tuottaa ovariablen. --Jouni Tuomisto (keskustelu) 6. kesäkuuta 2019 kello 07.38 (UTC) (type: ; paradigms: science: comment)

+ Näytä koodi

Upload aggregate data to Sotkanet

This code produces Sotkanet indicator 678 (Pienhiukkaspitoisuuden väestöpainotettu vuosikeskiarvo).

+ Näytä koodi

Sotearvioinnin koodi pienhiukkasista

+ Näytä koodi

Katso myös

Ympäristöterveysindikaattoreita
Altisteita

pienhiukkaset · radon · uimavesi

Tautitaakka-arvioita

tupakansavu · juomaveden mikrobit · otsoni · radon · formaldehydi · ruoan mikrobit · pienhiukkaset · lyijy · kosteusvauriot · kloorauksen sivutuotteet · metyylielohopea · fluoridi · häkä · bentseeni · dioksiini · ultraviolettisäteily · arseeni ·

Tietolähteitä

Syke · WHO · ECDC · Tilastokeskus · Eurostat ·