|
|
(46 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä) |
Rivi 1: |
Rivi 1: |
| {{muuttuja}}
| | #REDIRECT [[Sedimenttien metallipitoisuuksien arviointi]] |
| | |
| == 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" include="page:OpasnetBaseUtils|name:generic"
| |
| 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|
| |
| name:northing|description:Northing-koordinaatti|default:6995650|
| |
| name:easting|description:Easting-koordinaatti|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(OpasnetBaseUtils)
| |
| library(xtable)
| |
| library(ggplot2)
| |
| library(reshape)
| |
| | |
| data <- (op_baseGetData("opasnet_base", "Op_en5462"))
| |
| data <- tidy(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))
| |
| | |
| data$distance <- sqrt((as.numeric(data$Easting) - easting)^2 + (as.numeric(data$Northing) - northing)^2)
| |
| | |
| data <- melt(data, measure.vars = c("Co", "Cr", "Cu", "Fe", "Mn", "Ni", "Pb", "S", "V", "Zn"))
| |
| | |
| out <- data
| |
| 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>
| |
| | |
| === 2) Lasketaan järven sedimentin metallipitoisuus läheisen ison järven pitoisuuden perusteella. ===
| |
| | |
| <rcode graphics="1" include="page:OpasnetBaseUtils|name:generic|page:Object-oriented_programming_in_Opasnet|name:answer"
| |
| 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|
| |
| name:name|description:Ison järven nimi|type:text|
| |
| name:coeff.pH|description:pH:sta johtuva kerroin |default:1|
| |
| name:coeff.landuse|description:Maankäytöstä johtuva kerroin|default:1
| |
| ">
| |
| library(OpasnetBaseUtils)
| |
| n <- 1
| |
| data <- tidy(op_baseGetData("opasnet_base", "Op_en5462"))
| |
| temp <- data[data$Observation == "Järvi", ]
| |
| temp <- temp[temp$Result == name, "ID"]
| |
| data <- data[data$ID == temp & data$Observation %in% metalli, ]
| |
| conc <- make.oavariable(data)
| |
| conc <- conc * coeff.pH * coeff.landuse
| |
| conc@sample
| |
| library(xtable)
| |
| print(xtable(conc@sample), type = 'html')
| |
| </rcode>
| |
| | |
| == Katso myös ==
| |
| | |
| Perustuu GTK:n dataan. [http://en.gtk.fi GTK].
| |
| | |
| == 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/>
| |