|
|
(22 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) |
Rivi 1: |
Rivi 1: |
| [[Luokka:Minera]]
| | #REDIRECT [[Sedimenttien metallipitoisuuksien arviointi]] |
| {{edistymisluokitus|edistyminen = Luonnos}}
| |
| {{muuttuja|moderator=Marjo}}
| |
| | |
| == Kysymys ==
| |
| | |
| Miten lasketaan suomalaisen järven sedimentin metallipitoisuus?
| |
| | |
| == Vastaus ==
| |
| | |
| === 1) Lasketaan järven sedimentin metallipitoisuus perustuen ympäröivän, ympyrän säteen määräämän alueen järvien keskipitoisuuteen. ===
| |
| | |
| <rcode graphics="1"
| |
| variables="
| |
| name:metalli|description:Valitse metallit|type:checkbox|options:'Co';Co;'Cr';Cr;'Cu';Cu;'Fe';Fe;'Mn';Mn;'Ni';Ni;'Pb';Pb;'S';S;'V';V;'Zn';Zn|default:'Co'|
| |
| name:northing|description:Northing-koordinaatti (KKJ)|default:6995650|
| |
| name:easting|description:Easting-koordinaatti (KKJ)|default:3653220|
| |
| name:säde|description:Määritä säde (km; järvet säteen määräämän ympyränmuotoisen alueen sisäpuolella huomioidaan)|default:100
| |
| ">
| |
| | |
| library(OpasnetUtils)
| |
| library(xtable)
| |
| library(ggplot2)
| |
| library(reshape)
| |
| | |
| data <- opbase.data("Op_en5462")
| |
| head(data)
| |
| data <- tidy(data, direction = "long")
| |
| head(data)
| |
| #data$Result <- as.numeric(data$Result) # This replaces all as.numeric rows below.
| |
| data <- reshape(data, timevar = "Observation", idvar = "ID", direction = "wide")
| |
| colnames(data) <- gsub("Result.", "", colnames(data))
| |
| head(data)
| |
| data <- melt(data, measure.vars = c("Co", "Cr", "Cu", "Fe", "Mn", "Ni", "Pb", "S", "V", "Zn"))
| |
| head(data)
| |
| colnames(data)[colnames(data) == "variable"] <- "Metal"
| |
| colnames(data)[colnames(data) == "value"] <- "Result"
| |
| colnames(data)[colnames(data) == "Järvi"] <- "Lake.name"
| |
| colnames(data)[colnames(data) == "Kunta"] <- "Municipality"
| |
| head(data)
| |
| | |
| out <- data
| |
| #data$distance <- sqrt((as.numeric(data$Easting) - easting)^2 + (as.numeric(data$Northing) - northing)^2)
| |
| out$distance <- data$distance <= säde*1000
| |
| out <- as.data.frame(as.table(tapply(out$value, out[c("variable", "distance")], mean)))
| |
| colnames(out) <- gsub("variable", "metalli", colnames(out))
| |
| colnames(out) <- gsub("Freq", "pitoisuus", colnames(out))
| |
| cat("Metallipitoisuuden keskiarvo ", säde, " km säteellä pisteestä ", easting, "E, ", northing, " N.\n")
| |
| print(xtable(out[out$distance == TRUE, ]), type = 'html')
| |
| | |
| cat("Pitoisuudet metallille", metalli, ".\n")
| |
| concentration <- data[data$distance <= säde*1000 & data$variable == metalli, "value"]
| |
| plot(concentration) # simple plot about concentrations.
| |
| qplot(Easting, Northing, data = data[data$variable == metalli, ], size = value) # Concentrations on a "map".
| |
| </rcode>
| |
| | |
| ===Update data structure===
| |
| | |
| <rcode graphics="1"
| |
| variables="
| |
| name:metalli|description:Valitse metallit|type:checkbox|options:'Co';Co;'Cr';Cr;'Cu';Cu;'Fe';Fe;'Mn';Mn;'Ni';Ni;'Pb';Pb;'S';S;'V';V;'Zn';Zn|default:'Co'|
| |
| name:northing|description:Northing-koordinaatti (KKJ)|default:6995650|
| |
| name:easting|description:Easting-koordinaatti (KKJ)|default:3653220|
| |
| name:säde|description:Määritä säde (km; järvet säteen määräämän ympyränmuotoisen alueen sisäpuolella huomioidaan)|default:100
| |
| ">
| |
| | |
| library(OpasnetUtils)
| |
| library(xtable)
| |
| library(ggplot2)
| |
| library(reshape)
| |
| | |
| data <- opbase.data("Op_en5462")
| |
| head(data)
| |
| data <- tidy(data, direction = "long")
| |
| head(data)
| |
| #data$Result <- as.numeric(data$Result) # This replaces all as.numeric rows below.
| |
| data <- reshape(data, timevar = "Observation", idvar = "ID", direction = "wide")
| |
| colnames(data) <- gsub("Result.", "", colnames(data))
| |
| head(data)
| |
| data <- melt(data, measure.vars = c("Co", "Cr", "Cu", "Fe", "Mn", "Ni", "Pb", "S", "V", "Zn"))
| |
| head(data)
| |
| colnames(data)[colnames(data) == "variable"] <- "Metal"
| |
| colnames(data)[colnames(data) == "value"] <- "Result"
| |
| colnames(data)[colnames(data) == "Järvi"] <- "Lake.name"
| |
| colnames(data)[colnames(data) == "Kunta"] <- "Municipality"
| |
| head(data)
| |
| opbase.upload(data, ident = "Op_en5462", name = "Metal concentrations in lake sediments", obj_type = "variable",
| |
| act_type = "replace", language = "eng", unit = "mg/kg d.w.", who = wiki_username, rescol = "Result")
| |
| #, who = NULL,
| |
| #rescol = NULL, chunk_size = NULL, verbose = FALSE, username = NULL,
| |
| #password = NULL)
| |
| </rcode>
| |
| | |
| === 2) Lasketaan järven sedimentin metallipitoisuus läheisen/sopivan suuren järven pitoisuuden perusteella. ===
| |
| | |
| <rcode graphics="1"
| |
| variables="
| |
| name:metalli|description:Valitse metallit|type:checkbox|options:'Co';Co;'Cr';Cr;'Cu';Cu;'Fe';Fe;'Mn';Mn;'Ni';Ni;'Pb';Pb;'S';S;'V';V;'Zn';Zn|default:'Co'|
| |
| name:Järvi|description:Valitse järvi|type:selection|options:'Pielinen';Pielinen, Lieksa;'Oulujärvi';Oulujärvi, Vaala;'Kallavesi';Kallavesi, Kuopio;'Suvasvesi';Suvasvesi, Vehmersalmi;'Yli-Kitka';Ylikitka, Kuusamo;'Nilakka';Nilakka, Keitele;'Koitere';Koitere, Ilomantsi;'Kivijärvi';Kivijärvi, Kivijärvi;'Viinijärvi';Viinijärvi, Polvijärvi;'Keurusselkä';Keurusselkä, Keuruu;'Ontojärvi';Ontojärvi, Kuhmo;'Vuohijärvi';Vuohijärvi, Vaala;'Kukkia';Kukkia, Luopioinen;'Kostonjärvi';Kostonjärvi, Taivalkoski;'Sääksjärvi';Sääksjärvi, Kokemäki;'Pieksänjärvi';Pieksänjärvi, Pieksämäki;'Pihlajavesi';Pihlajavesi, Keuruu;'Keyritty';Keyritty, Rautavaara;'Nerkoonjärvi';Nerkoonjärvi, Lapinlahti;'Pyhäjärvi';Pyhäjärvi, Artjärvi;'Uuranjärvi';Uuranjärvi, Multia;'Sääjärvi';Sääjärvi, Janakkala;'Haukijärvi';Haukijärvi, Maaninka;'Kinnasjärvi';Kinnasjärvi, Tuupovaara;'Tervajärvi';Tervajärvi, Luumäki;'Kalliojärvi';Kalliojärvi, Juuka;'Pyhäluoma';Pyhäluoma, Pieksämäki;'Puntasjärvi';Puntasjärvi, Kuru;'Ylimmäinen';Ylimmäinen, Jaala;'Hanhijärvi';Hanhijärvi, Jämsänkoski;'Ruuhilampi';Ruuhilampi, Virtasalmi;'Ala-Saimaa';Ala-Saimaa, Taipalsaari;'Pihlajavesi';Pihlajavesi, Puumala;'Orivesi';Orivesi, Kitee;'Puulavesi';Puulavesi, Hirvensalmi;'Höytiäinen';Höytiäinen, Kontiolahti;'Pyhäjärvi';Pyhäjärvi, Säkylä;'Kiantajärvi';Kiantajärvi, Suomussalmi;'Lappajärvi';Lappajärvi, Lappajärvi;'Pyhäjärvi';Pyhäjärvi, Pyhäsalmi;'Vesijärvi';Vesijärvi, Asikkala;'Unnukka';Unnukka, Leppävirta;'Kolimajärvi';Kolimajärvi, Viitasaari;'Lestijärvi';Lestijärvi, Lestijärvi;'Muuratjärvi';Muuratjärvi, Muurame;'Karijärvi';Karijärvi, Jaala;'Kolkonjärvi';Kolkonjärvi, Rantasalmi;'Ätäskö';Ätäskö, Kitee;'Nurmijärvi';Nurmijärvi, Rautjärvi;'Kevätön';Kevätön, Siilinjärvi;'Kotajärvi';Kotajärvi, Lemi;'Ihalanjärvi';Ihalanjärvi, Ruokolahti;'Vahermanjärvi';Vahermanjärvi, Nummi-Pusula;'Johdasjärvi';Johdasjärvi, Jaala;'Saarijärvi';Saarijärvi, Saarijärvi;'Muntsurinjärvi';Muntsurinjärvi, Lieksa;'Kypärijärvi';Kypärijärvi, Vihti;'Vehmasjärvi';Vehmasjärvi, Suonenjoki;'Ristijärvi';Ristijärvi, Valtimo;'Mäkijärvi';Mäkijärvi, Kuopio;'Keskijärvi';Keskijärvi, Luhanka;'Piilampi';Piilampi, Ruokolahti;'Tammalammi';Tammalammi, Tohmajärvi;'Tuomaslampi';Tuomaslampi, Savitaipale;'Postilampi';Postilampi, Nilsiä;'Päijänne';Päijänne, Asikkala;'Puruvesi';Puruvesi, Kerimäki;'Kemijärvi';Kemijärvi, Kemijärvi;'Näsijärvi';Näsijärvi, Ylöjärvi;'Pyhäjärvi';Pyhäjärvi, Kitee;'Juojärvi';Juojärvi, Tuusniemi;'Konnevesi';Konnevesi, Konnevesi;'Längelmävesi';Längelmävesi, Kangasala;'Vanajavesi';Vanajavesi, Valkeakoski;'Onkivesi';Onkivesi, Lapinlahti;'Pielavesi';Pielavesi, Pielavesi;'Luonteri';Luonteri, Anttola;'Kuonanjärvi';Kuonanjärvi, Kerimäki;'Hossanlampi';Hossanlampi, Hossanlampi;'Pintamojärvi';Pintamojärvi, Pudasjärvi;'Kätkänjärvi';Kätkänjärvi, Lehtimäki;'Ylä-Siika';Ylä-Siika, Nilsiä;'Havanganjärvi';Havanganjärvi, Virrat;'Loukkojärvi';Loukkojärvi, Kiiminki;'Tvärsjön';Tvärsjön, Kruunupyy;'Räimäjärvi';Räimäjärvi, Siilinjärvi;'Kylmäjärvi';Kylmäjärvi, Suomussalmi;'Sulkuejärvi';Sulkuejärvi, Kihniö;'Iso-Lyly';Iso-Lyly, Kaavi;'Paukajärvi';Paukajärvi, Virrat;'Vihtelijärvi';Vihtelijärvi, Kankaanpää;'Pieni Mont';Pieni Mont, Mikkeli;'Koijärvi';Koijärvi, Kerimäki;'Talvijärvi';Talvijärvi, Kuusamo;'Tutulampi';Tutulampi, Taivalkoski;'Kalisjön';Kalisjön, Pedersöre;'Haukilampi';Haukilampi, Ristiina;'Ala-Mustalampi';Ala-Mustalampi, Töysä;'Alainen Mustalampi';Alainen Mustalampi, Töysä;'Inarinjärvi';Inarinjärvi, Inari;'Iso-Haukivesi';Iso-Haukivesi, Rantasalmi;'Keitele';Keitele, Sumiainen;'Pyhäselkä';Pyhäselkä, Pyhäselkä;'Juurusvesi';Juurusvesi, Siilinjärvi;'Suontee';Suontee, Joutsa;'Kyyvesi';Kyyvesi, Haukivuori;'Pyhäjärvi';Pyhäjärvi, Pirkkala;'Mallasvesi';Mallasvesi, Pälkäne;'Pulmankijärvi';Pulmankijärvi, Utsjoki;'Javarusjärvi';Javarusjärvi, Kemijärvi;'Saarijärvi';Saarijärvi, Posio;'Vuontisjärvi';Vuontisjärvi, Enontekiö;'Joukkaisjärvi';Joukkaisjärvi, Inari;'Rytijärvi';Rytijärvi, Rovaniemi;'Pikku-Ahve';Pikku-Ahve, Pudasjärvi;'Viitatuntu';Viitatuntu, Kemijärvi;'Lehtojärvi';Lehtojärvi, Posio;'Lampi 130602';Lampi 130602, Enontekiö;'Rimpijärvi';Rimpijärvi, Kittilä;'Pieni Hetelampi';Pieni Hetelampi, Pyhäjoki;'Vittikkolampi';Vittikkolampi, Rovaniemen mlk;'Haralampi';Haralampi, Haapavesi;'Lampi 130201';Lampi 130201, Enontekiö;'Teerilampi';Teerilampi, Kuhmo;'Lyhyenjärvi';Lyhyenjärvi, Siilinjärvi;'Pitkäjärvi';Pitkäjärvi, Siilinjärvi;'Jormasjärvi';Jormasjärvi, Sotkamo;'Kolmisoppi';Kolmisoppi, Sotkamo|
| |
| name:coeff.pH|description:pH:sta johtuva kerroin: ''Ohje: [http://intra.eracnet.fi/main/index.php/Minera:Pintavesi]''|default:1|
| |
| name:coeff.landuse|description:Maankäytöstä johtuva kerroin: ''Ohje: [http://intra.eracnet.fi/main/index.php/Minera:Pintavesi]''|default:1
| |
| ">
| |
| library(OpasnetUtils)
| |
| library(xtable)
| |
| | |
| data <- tidy(opbase.data("Op_en5462"), objname = "conc", direction = "long")
| |
| temp <- data[data$Observation == "Järvi", ]
| |
| temp <- temp[temp$concResult == Järvi, "ID"]
| |
| data <- data[data$ID == temp & data$Observation %in% metalli, ]
| |
| | |
| conc <- new("ovariable",
| |
| name = "conc",
| |
| data = data
| |
| )
| |
| | |
| conc <- EvalOutput(conc, N = 10)
| |
| conc <- (conc * coeff.pH + conc * coeff.landuse)/2
| |
| colnames(conc@output) <- gsub("Observation", "Metalli", colnames(conc@output))
| |
| | |
| print(xtable(conc@output), type = 'html')
| |
| | |
| </rcode>
| |
| | |
| {{kommentti|#:|Koodia voisi siistiä seuraavasti:
| |
| * joka järvi omalle rivilleen, niin on helpompi lukea (sieltä puuttuu muutamia lainausmerkkejä, mikä kaataa koodin jos valitsee sellaisen järven.
| |
| * Koodista voisi tehdä ovariablen nimeltä sediment.concentration (ei conc), joka ottaa syötteeksi tiedot Järvi, metalli, coeff.pH ja coeff.landuse (pitäisi olla johdonmukaisia kielen kanssa).
| |
| * Data kaivetaan kannasta formulan sisällä.
| |
| * Jos syötteet coeff.pH ja coeff.landuse voidaan johtaa jostain, sen johtamisen voisi tehdä käyttämällä syötteenä pH ja landuse ja laskemalla kertoimet.
| |
| |--[[Käyttäjä:Jouni|Jouni Tuomisto]] 18. joulukuuta 2012 kello 17.09 (EET)}}
| |
| | |
| ==Perustelut==
| |
| | |
| == Katso myös ==
| |
| | |
| Perustuu GTK:n dataan. [http://en.gtk.fi GTK].
| |
| | |
| {{Minera}}
| |
| | |
| == Viitteet ==
| |
| | |
| Lähdeluettelo tulostuu tänne automaattisesti kun viittauksissa käytetään ''<nowiki><ref></ref></nowiki>'' -tagia.
| |
| Lähteet voi myös lisätä halutessaan manuaalisesti.
| |
| | |
| <references/>
| |