Initial commit with cleaned history
This commit is contained in:
+1216
File diff suppressed because one or more lines are too long
@@ -0,0 +1,133 @@
|
|||||||
|
#Read hyperspectral image
|
||||||
|
im <- stack('hymap_subset_hr.bsq') #load stack
|
||||||
|
|
||||||
|
#Vector of the wavelength bands in nm of the hyperspectral image (from header file)
|
||||||
|
im.wl <- c(
|
||||||
|
0.455400, 0.469400, 0.484300, 0.499100, 0.513800, 0.528800, 0.543600,
|
||||||
|
0.558400, 0.573100, 0.588100, 0.602900, 0.617600, 0.632000, 0.646500,
|
||||||
|
0.660900, 0.675500, 0.690000, 0.704500, 0.718900, 0.733200, 0.747600,
|
||||||
|
0.761800, 0.775900, 0.790100, 0.804600, 0.818800, 0.832900, 0.847100,
|
||||||
|
0.861100, 0.874700, 0.887800, 0.893000, 0.908500, 0.923900, 0.939400,
|
||||||
|
0.955200, 0.970400, 0.985800, 1.001400, 1.016600, 1.031800, 1.046900,
|
||||||
|
1.062000, 1.076600, 1.091300, 1.106200, 1.120800, 1.135300, 1.149700,
|
||||||
|
1.164100, 1.178600, 1.192800, 1.206900, 1.221000, 1.235100, 1.249200,
|
||||||
|
1.263100, 1.277000, 1.290700, 1.304300, 1.318300, 1.330100, 1.505000,
|
||||||
|
1.518800, 1.532600, 1.546300, 1.559800, 1.573200, 1.586400, 1.599500,
|
||||||
|
1.612700, 1.625900, 1.638900, 1.651700, 1.664400, 1.677100, 1.689600,
|
||||||
|
1.702100, 1.714600, 1.726900, 1.739300, 1.751500, 1.763600, 1.775600,
|
||||||
|
1.787600, 1.798100, 2.027500, 2.046700, 2.065500, 2.084100, 2.102500,
|
||||||
|
2.120900, 2.139000, 2.157000, 2.174700, 2.191700, 2.210300, 2.228100,
|
||||||
|
2.245600, 2.263400, 2.280400, 2.297400, 2.314400, 2.331400, 2.348300,
|
||||||
|
2.365000, 2.381500, 2.397700, 2.414100, 2.430300, 2.446500)*1000
|
||||||
|
|
||||||
|
#Plot the image
|
||||||
|
plotRGB (im, r=255, g=255, b=255, stretch='lin')
|
||||||
|
|
||||||
|
#Open vector data
|
||||||
|
trees <- readOGR('trees_selection_sp_withoutNA.shp')
|
||||||
|
|
||||||
|
#Plot the tree data on top of the hyperspectral data
|
||||||
|
plotRGB(im, 25,14,5, stretch = 'lin')
|
||||||
|
plot(trees, cex=0.5, pch=19, col = 'yellow', add=TRUE)
|
||||||
|
|
||||||
|
#Summary
|
||||||
|
summary(trees)
|
||||||
|
|
||||||
|
#View attribute table
|
||||||
|
View(trees@data)
|
||||||
|
|
||||||
|
#Access column of attribute table
|
||||||
|
trees$GATTUNG_DE
|
||||||
|
|
||||||
|
#Access all unique values of one column
|
||||||
|
levels(as.factor(trees$GATTUNG_DE))
|
||||||
|
|
||||||
|
#Access one row or point
|
||||||
|
trees[5,]@data
|
||||||
|
|
||||||
|
#Plot one Tree on the image
|
||||||
|
plotRGB(im, 25, 14, 5, stretch = 'lin')
|
||||||
|
plot(trees[5,], cex=2, pch=19, col = "yellow", add = TRUE)
|
||||||
|
|
||||||
|
#Plot only AHORN & ROSSKASTANIE trees on the image
|
||||||
|
|
||||||
|
plotRGB(im, 25,14,5, stretch = 'lin')
|
||||||
|
plot(trees[trees$GATTUNG_DE == 'AHORN',], cex=1, pch=19, col="yellow", add = TRUE)
|
||||||
|
plot(trees[trees$GATTUNG_DE == 'ROSSKASTANIE',], cex=1, pch=19, col = 'blue', add = TRUE)
|
||||||
|
|
||||||
|
#Extract pixel values from raster
|
||||||
|
pixel_extract <- extract(im, trees, df = TRUE)
|
||||||
|
|
||||||
|
#Establish relationship between the ID of each pixel and the class
|
||||||
|
pixel_extract_gattung_de <- as.factor(trees$GATTUNG_DE[match(pixel_extract$ID, seq(nrow(trees)))])
|
||||||
|
|
||||||
|
#Delete the ID column
|
||||||
|
pixel_extract <- pixel_extract[-1]
|
||||||
|
|
||||||
|
#Calculate mean spectral profiles
|
||||||
|
sp <- aggregate( . ~ gattung_de, data = pixel_extract, FUN = mean, na.rm = TRUE)
|
||||||
|
|
||||||
|
##### Plot mean spectral profiles
|
||||||
|
# plot empty plot of a defined size
|
||||||
|
plot(1, ylim = c(0,0.5),
|
||||||
|
xlim = c(7, nlayers(im)),
|
||||||
|
type = 'n',
|
||||||
|
xlab = "Hymap bands",
|
||||||
|
ylab = "reflectance",
|
||||||
|
)
|
||||||
|
|
||||||
|
# define colors for class representation - one color per class necessary!
|
||||||
|
mycolors <- rainbow(nrow(sp))
|
||||||
|
|
||||||
|
# draw one line for each class
|
||||||
|
for (i in 1:nrow(sp)){
|
||||||
|
lines(as.numeric(sp[i, -1]),
|
||||||
|
lwd = 2,
|
||||||
|
col = mycolors[i]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# add a grid
|
||||||
|
grid()
|
||||||
|
|
||||||
|
# add a legend
|
||||||
|
legend(as.character(sp$gattung),
|
||||||
|
x = "topleft",
|
||||||
|
col = mycolors,
|
||||||
|
lwd = 1,
|
||||||
|
bty = "n",
|
||||||
|
cex = 0.75,
|
||||||
|
ncol = 3
|
||||||
|
)
|
||||||
|
|
||||||
|
# plot empty plot of a defined size
|
||||||
|
plot(1, ylim = c(0,0.5),
|
||||||
|
xlim = c(min(im.wl), max(im.wl)),
|
||||||
|
type = 'n',
|
||||||
|
xlab = "wavelength (nm)",
|
||||||
|
ylab = "reflectance",
|
||||||
|
)
|
||||||
|
|
||||||
|
# define colors for class representation - one color per class necessary!
|
||||||
|
mycolors <- rainbow(nrow(sp))
|
||||||
|
|
||||||
|
# draw one line for each class
|
||||||
|
for (i in 1:nrow(sp)){
|
||||||
|
lines(im.wl, as.numeric(sp[i, -1]),
|
||||||
|
lwd = 2,
|
||||||
|
col = mycolors[i]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# add a grid
|
||||||
|
grid()
|
||||||
|
|
||||||
|
# add a legend
|
||||||
|
legend(as.character(sp$gattung),
|
||||||
|
x = "topleft",
|
||||||
|
col = mycolors,
|
||||||
|
lwd = 1,
|
||||||
|
bty = "n",
|
||||||
|
cex = 0.75,
|
||||||
|
ncol = 3
|
||||||
|
)
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
install.packages ("hsdar")
|
||||||
|
install.packages ("raster")
|
||||||
|
install.packages ("rgdal")
|
||||||
|
|
||||||
|
library (hsdar)
|
||||||
|
library (raster)
|
||||||
|
library (rgdal)
|
||||||
|
|
||||||
|
spec.berlin <- read.delim2("/Users/huaqo/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/03/SpecLib_Berlin_Urban_Gradient_2009.txt", header=TRUE)
|
||||||
|
|
||||||
|
class(spec.berlin)
|
||||||
|
|
||||||
|
View(spec.berlin)
|
||||||
|
|
||||||
|
#load a spectral matrix
|
||||||
|
specs <- t(as.matrix(spec.berlin))
|
||||||
|
|
||||||
|
class(specs)
|
||||||
|
|
||||||
|
?speclib
|
||||||
|
|
||||||
|
#create a spectral library
|
||||||
|
sl.berlin <- speclib(specs[-1, ], (specs[1, ])*1000)
|
||||||
|
|
||||||
|
class(sl.berlin)
|
||||||
|
|
||||||
|
sl.berlin
|
||||||
|
|
||||||
|
# Create a plot
|
||||||
|
plot (sl.berlin, FUN=1, ylim=c (0, 0.8))
|
||||||
|
|
||||||
|
# add verticel lines at the wavelength of blue, green and red
|
||||||
|
abline (v=450, col="blue")
|
||||||
|
abline (v=550, col="green")
|
||||||
|
abline (v=630, col="red")
|
||||||
|
|
||||||
|
# create a vector of colors
|
||||||
|
colbar = rainbow(10)
|
||||||
|
|
||||||
|
# Choose soectra to be plotted
|
||||||
|
spectra = c(1,10,15,18,22,25,30,35,40)
|
||||||
|
|
||||||
|
# Add these spectra to a plot
|
||||||
|
plot (sl.berlin, FUN=1, ylim=c ( 0, 0.8), col=colbar[1], lwd=2) ## plot
|
||||||
|
plot (sl.berlin, FUN=10 , new=F, col=colbar[2], lwd=2) ## add
|
||||||
|
plot (sl.berlin, FUN= 15, new=F, col=colbar[3], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=18 , new=F, col=colbar[4], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=22, new=F, col=colbar[5], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=25, new=F, col=colbar[6], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=30 , new=F, col=colbar[7], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=35, new=F, col=colbar[8], lwd=2)
|
||||||
|
plot (sl.berlin, FUN=35, new=F, col=colbar[9], lwd=2)
|
||||||
|
|
||||||
|
#Add a legend
|
||||||
|
legend ("topright", legend=idSpeclib(sl.berlin[spectra]) , col=colbar, lwd=2, ncol=2, cex=0.7)
|
||||||
|
|
||||||
|
#Load hyperstectral image
|
||||||
|
im <- stack("/Users/huaqo/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/03/hymap_subset2/hymap_subset.bsq")
|
||||||
|
|
||||||
|
im.wl <- c(
|
||||||
|
0.455400, 0.469400, 0.484300, 0.499100, 0.513800, 0.528800, 0.543600,
|
||||||
|
0.558400, 0.573100, 0.588100, 0.602900, 0.617600, 0.632000, 0.646500,
|
||||||
|
0.660900, 0.675500, 0.690000, 0.704500, 0.718900, 0.733200, 0.747600,
|
||||||
|
0.761800, 0.775900, 0.790100, 0.804600, 0.818800, 0.832900, 0.847100,
|
||||||
|
0.861100, 0.874700, 0.887800, 0.893000, 0.908500, 0.923900, 0.939400,
|
||||||
|
0.955200, 0.970400, 0.985800, 1.001400, 1.016600, 1.031800, 1.046900,
|
||||||
|
1.062000, 1.076600, 1.091300, 1.106200, 1.120800, 1.135300, 1.149700,
|
||||||
|
1.164100, 1.178600, 1.192800, 1.206900, 1.221000, 1.235100, 1.249200,
|
||||||
|
1.263100, 1.277000, 1.290700, 1.304300, 1.318300, 1.330100, 1.505000,
|
||||||
|
1.518800, 1.532600, 1.546300, 1.559800, 1.573200, 1.586400, 1.599500,
|
||||||
|
1.612700, 1.625900, 1.638900, 1.651700, 1.664400, 1.677100, 1.689600,
|
||||||
|
1.702100, 1.714600, 1.726900, 1.739300, 1.751500, 1.763600, 1.775600,
|
||||||
|
1.787600, 1.798100, 2.027500, 2.046700, 2.065500, 2.084100, 2.102500,
|
||||||
|
2.120900, 2.139000, 2.157000, 2.174700, 2.191700, 2.210300, 2.228100,
|
||||||
|
2.245600, 2.263400, 2.280400, 2.297400, 2.314400, 2.331400, 2.348300,
|
||||||
|
2.365000, 2.381500, 2.397700, 2.414100, 2.430300, 2.446500)*1000
|
||||||
|
|
||||||
|
plotRGB (im, 51, 34, 13, stretch="lin")
|
||||||
|
|
||||||
|
# Open the image in a new window
|
||||||
|
plotRGB(im, r=70, g=50, b=14, scale=255, stretch="lin")
|
||||||
|
|
||||||
|
#``loactor()`` function
|
||||||
|
pxy<-locator(4)
|
||||||
|
|
||||||
|
|
||||||
|
# extract spectral information
|
||||||
|
spectrum11<-extract(im, cbind(pxy$x[1], pxy$y[1]))
|
||||||
|
spectrum12<-extract(im, cbind(pxy$x[2], pxy$y[2]))
|
||||||
|
spectrum13<-extract(im, cbind(pxy$x[3], pxy$y[3]))
|
||||||
|
spectrum14<-extract(im, cbind(pxy$x[4], pxy$y[4]))
|
||||||
|
|
||||||
|
#plot the spectra
|
||||||
|
|
||||||
|
plot(im.wl, spectrum11[1,], type = "b", col = "cyan", ylim=c(0,0.5),ylab="reflectance",
|
||||||
|
xlab="wavelength [nm]")
|
||||||
|
lines(im.wl, spectrum12[1,], type = "b", col = "red")
|
||||||
|
lines(im.wl, spectrum13[1,], type = "b", col = "green")
|
||||||
|
lines(im.wl, spectrum14[1,], type = "b", col = "blue")
|
||||||
|
|
||||||
|
legend("topright", legend = c("spectrum 1","spectrum 2", "spectrum 3","spectrum 4"), fill = c("cyan", "red", "green", "blue"))
|
||||||
|
|
||||||
|
#Calculate an index
|
||||||
|
NDVI <- ((im[[34]] - im[[14]])/im[[34]] + im[[14]])
|
||||||
|
#Plot the index
|
||||||
|
plot(NDVI, main="NDVI August 2009")
|
||||||
|
plot(NDVI, main="NDVI August 2009",zlim=c(-0.1,1))
|
||||||
|
plot(NDVI, main="NDVI August 2009",zlim=c(-0.1,1), col=grey.colors(255))
|
||||||
|
mycol = colorRampPalette(c("tan4", "yellow", "forestgreen"))
|
||||||
|
plot(NDVI, main="NDVI August 2009",zlim=c(-0.1,1),col=mycol(255))
|
||||||
|
mycol = colorRampPalette(c("tan4", "yellow", "forestgreen"))
|
||||||
|
plot(NDVI, main="NDVI August 2009",zlim=c(-0.1,1),col= mycol(5))
|
||||||
|
|
||||||
|
#Create a matrix that has following structure:
|
||||||
|
# min max newValue
|
||||||
|
# min2 max2 new Value2
|
||||||
|
|
||||||
|
# I have started the first class with -Inf as this makes sure that any negative value is included in the first class.
|
||||||
|
reclass_matrix <- matrix(c(-Inf,0.3,1,0.3,1,2),ncol=3, byrow=TRUE)
|
||||||
|
reclass_matrix
|
||||||
|
|
||||||
|
NDVI_reclass <- reclassify(NDVI, reclass_matrix)
|
||||||
|
|
||||||
|
plot(NDVI_reclass, col=c("tan4", "forestgreen"))
|
||||||
|
plot(NDVI_reclass, col=mycol(2))
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
#Intro
|
||||||
|
|
||||||
|
##Packages
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
library(randomForest)
|
||||||
|
|
||||||
|
##Working directory
|
||||||
|
setwd('/Users/huaqo/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/04')
|
||||||
|
|
||||||
|
##Load data
|
||||||
|
img <- brick("landsat8_satellit_randomForest.tif")
|
||||||
|
shp <- shapefile("Trainingsdaten_landsat8_RF.shp")
|
||||||
|
getwd()
|
||||||
|
dir()
|
||||||
|
img
|
||||||
|
shp
|
||||||
|
|
||||||
|
##Coordinate system
|
||||||
|
compareCRS(shp, img) #Compare coordinate systems
|
||||||
|
shp <-spTransform(shp, crs(img)) #Overwrite coordinate system
|
||||||
|
|
||||||
|
##Plot data
|
||||||
|
plotRGB(img, r = 4, g = 3, b = 2, stretch = "lin")
|
||||||
|
plot(shp, col = "yellow", add = TRUE)
|
||||||
|
|
||||||
|
#Preprocessing of shapefile
|
||||||
|
levels(as.factor(shp$classes)) #Show all classes
|
||||||
|
for (i in 1: length(unique(shp$classes))) {
|
||||||
|
cat(paste0(i,"", levels(as.factor(shp$classes))[i], sep= "\n"))
|
||||||
|
} #assignment of numerical values to classes
|
||||||
|
|
||||||
|
#Create trainingdata
|
||||||
|
|
||||||
|
##Extract Pixelvalues
|
||||||
|
smp <- extract(img, shp, df = TRUE) #Extract and merge
|
||||||
|
save(smp , file = "smp.rda") #save file in wd
|
||||||
|
load(file = 'smp.rda') #load file from wd
|
||||||
|
|
||||||
|
##Merge trainingdate with classes
|
||||||
|
smp$cl <- as.factor(shp$classes[match(smp$ID, seq(nrow(shp)))]) #merge
|
||||||
|
smp <- smp[-1]
|
||||||
|
summary(smp$cl) #show assignment
|
||||||
|
str(smp) #show data
|
||||||
|
|
||||||
|
#Create random forest modell
|
||||||
|
|
||||||
|
##Downsampling and get sample size of classification
|
||||||
|
smp.size <- rep(min(summary(smp$cl)), nlevels(smp$cl))
|
||||||
|
smp.size
|
||||||
|
|
||||||
|
##Modell
|
||||||
|
rfmodel <- tuneRF(x = smp[-ncol(smp)],
|
||||||
|
y = smp$cl,
|
||||||
|
sampsize = smp.size,
|
||||||
|
strata = smp$cl,
|
||||||
|
ntree = 250,
|
||||||
|
importance = TRUE,
|
||||||
|
doBest = TRUE)
|
||||||
|
rfmodel #show modell
|
||||||
|
|
||||||
|
##Plot Statistical information
|
||||||
|
x11()
|
||||||
|
varImpPlot(rfmodel)
|
||||||
|
|
||||||
|
x11()
|
||||||
|
plot(rfmodel, col = c("violet", "tan4", "blueviolet",
|
||||||
|
"yellowgreen", "green4", "blue"))
|
||||||
|
save(rfmodel, file = "rfmodel.RData")
|
||||||
|
|
||||||
|
#Classification
|
||||||
|
##Show modell as image
|
||||||
|
result <- predict(img,
|
||||||
|
rfmodel,
|
||||||
|
filename = 'Ergebnis.tif',
|
||||||
|
overwrite = TRUE)
|
||||||
|
|
||||||
|
##Plot results
|
||||||
|
plot(result,
|
||||||
|
axes = FALSE,
|
||||||
|
box = FALSE,
|
||||||
|
col= c("violet",
|
||||||
|
"tan4",
|
||||||
|
"blueviolet",
|
||||||
|
"yellowgreen",
|
||||||
|
"green4",
|
||||||
|
"blue"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
setwd("~/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/05")
|
||||||
|
|
||||||
|
install.packages('sf')
|
||||||
|
install.packages('raster')
|
||||||
|
install.packages('tidyverse')
|
||||||
|
install.packages('hsdar')
|
||||||
|
install.packages('magrittr')
|
||||||
|
|
||||||
|
library(sf)
|
||||||
|
library(raster)
|
||||||
|
library(tidyverse)
|
||||||
|
library(hsdar)
|
||||||
|
library(magrittr)
|
||||||
|
|
||||||
|
#Raster einladen
|
||||||
|
home <- brick('X0066_Y0021.tif') / 10000
|
||||||
|
|
||||||
|
#Keine Ahnung
|
||||||
|
names(home) <- paste0('B', 1:10)
|
||||||
|
|
||||||
|
#Plotten
|
||||||
|
plotRGB(home, 3, 2, 1, stretch = 'lin')
|
||||||
|
|
||||||
|
#Ganz Berlin
|
||||||
|
berlin_composite <- stack('/Users/huaqo/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/05/level3/complete_berlin.vrt') / 10000
|
||||||
|
plotRGB(berlin_composite, 3, 2, 1, stretch = 'lin')
|
||||||
|
|
||||||
|
#Endmember
|
||||||
|
image_endmember <- st_read('/Users/huaqo/Nextcloud/Fernerkundung/Projektbezogenes Arbeiten/05_SMA/Endmember.gpkg', quiet = TRUE) %>%
|
||||||
|
st_transform(crs = st_crs(home))
|
||||||
|
class(image_endmember)
|
||||||
|
|
||||||
|
#
|
||||||
|
shade <- tribble(
|
||||||
|
~B1, ~B2, ~B3, ~B4, ~B5, ~B6, ~B7, ~B8, ~B9, ~B10, ~Typ,
|
||||||
|
.01, .01, .01, .01, .01, .01, .01, .01, .01, .01, "Schatten"
|
||||||
|
)
|
||||||
|
|
||||||
|
extracted_spectra <- raster::extract(berlin_composite, image_endmember, df = TRUE) %>%
|
||||||
|
bind_cols(Typ = image_endmember$Typ) %>%
|
||||||
|
select(-ID) %>%
|
||||||
|
set_colnames(c(paste0("B", 1:10), "Typ")) %>%
|
||||||
|
group_by(Typ) %>%
|
||||||
|
summarise(across(contains("B"), mean)) %>%
|
||||||
|
add_row(shade)
|
||||||
|
|
||||||
|
#
|
||||||
|
spectra_for_plot <- extracted_spectra %>%
|
||||||
|
pivot_longer(cols = contains("B"), names_to = "var", values_to = "vals") %>%
|
||||||
|
mutate(var = fct_relevel(var, function(x) paste0("B", sort(as.numeric(str_extract(x, "[0-9]+"))))))
|
||||||
|
|
||||||
|
ggplot(spectra_for_plot) +
|
||||||
|
geom_line(aes(x = var, y = vals, color = Typ, group = Typ), lwd = 1) +
|
||||||
|
scale_color_discrete(name = "Endmember") +
|
||||||
|
labs(x = "Band",
|
||||||
|
y = "Reflektanz") +
|
||||||
|
theme(legend.position = "bottom")
|
||||||
|
|
||||||
|
#Entmischung
|
||||||
|
em <- speclib(spectra = as.matrix(extracted_spectra[, -1]),
|
||||||
|
wavelength = c(490, 560, 665, 705, 740, 783, 842, 865, 1610, 2190),
|
||||||
|
continuousdata = FALSE)
|
||||||
|
|
||||||
|
image_spectra <- speclib(spectra = getValues(home),
|
||||||
|
wavelength = c(490, 560, 665, 705, 740, 783, 842, 865, 1610, 2190),
|
||||||
|
continuousdata = FALSE)
|
||||||
|
|
||||||
|
|
||||||
|
sma <- unmix(image_spectra, em)
|
||||||
|
|
||||||
|
#Visualisierung und Validierung
|
||||||
|
extent_s2 <- extent(home)
|
||||||
|
|
||||||
|
soil_mat <- matrix(sma$fractions[1, ], nrow = 250, ncol = 250, byrow = TRUE)
|
||||||
|
|
||||||
|
soil_ras <- raster(soil_mat, crs = crs(home), xmn = extent_s2[1],
|
||||||
|
xmx = extent_s2[2], ymn = extent_s2[3], ymx = extent_s2[4])
|
||||||
|
|
||||||
|
veg_mat <- matrix(sma$fractions[2, ], nrow = 250, ncol = 250, byrow = TRUE)
|
||||||
|
|
||||||
|
veg_ras <- raster(veg_mat, crs = crs(home), xmn = extent_s2[1],
|
||||||
|
xmx = extent_s2[2], ymn = extent_s2[3], ymx = extent_s2[4])
|
||||||
|
|
||||||
|
shadow_mat <- matrix(sma$fractions[3, ], nrow = 250, ncol = 250, byrow = TRUE)
|
||||||
|
|
||||||
|
shadow_ras <- raster(shadow_mat, crs = crs(home), xmn = extent_s2[1],
|
||||||
|
xmx = extent_s2[2], ymn = extent_s2[3], ymx = extent_s2[4])
|
||||||
|
|
||||||
|
rmse_mat <- matrix(sma$error, nrow = 250, ncol = 250, byrow = TRUE)
|
||||||
|
|
||||||
|
rmse_ras <- raster(rmse_mat, crs = crs(home), xmn = extent_s2[1],
|
||||||
|
xmx = extent_s2[2], ymn = extent_s2[3], ymx = extent_s2[4])
|
||||||
|
|
||||||
|
sma_raster <- brick(soil_ras, veg_ras, shadow_ras, rmse_ras)
|
||||||
|
|
||||||
|
names(sma_raster) <- c("Boden", "Vegetation", "Schatten", "RMSE")
|
||||||
|
|
||||||
|
# Alternative
|
||||||
|
alt_sma_raster <- setValues(home[[1:4]], values = c(t(sma$fractions), sma$error))
|
||||||
|
|
||||||
|
names(alt_sma_raster) <- c("Boden", "Vegetation", "Schatten", "RMSE")
|
||||||
|
|
||||||
|
compareRaster(sma_raster, alt_sma_raster)
|
||||||
|
|
||||||
|
#Abspeichern
|
||||||
|
writeRaster(sma_raster,"sma_stacked.tif", overwrite = TRUE)
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
#### 1. Vorbereitung ####
|
||||||
|
install.packages('RStoolbox')
|
||||||
|
install.packages('raster')
|
||||||
|
library(raster)
|
||||||
|
library(RStoolbox)
|
||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/PjS/06_Thermal/Daten Tag")
|
||||||
|
|
||||||
|
mtl <- 'LC08_L1TP_193023_20190726_20190801_01_T1_MTL.txt'
|
||||||
|
metaData <- readMeta(mtl)
|
||||||
|
|
||||||
|
ls8_2020 <- stack(metaData$DATA$FILES[c(1:7)])
|
||||||
|
names(ls8_2020) <- c("ultra_blue", "blue", "green", "red", "NIR", "SWIR1", "SWIR2")
|
||||||
|
|
||||||
|
#metaData$DATA$FILES
|
||||||
|
|
||||||
|
ls8_2020_thermal <- stack(metaData$DATA$FILES[9])
|
||||||
|
names(ls8_2020_thermal) <- c('TIR1')
|
||||||
|
|
||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/PjS/06_Thermal/Berlin Shapefile")
|
||||||
|
BB_shape <- shapefile('Berlin_Bezirke.shp')
|
||||||
|
|
||||||
|
#### 2. Vorverarbeitung ####
|
||||||
|
##### 2.1 Top-Of-Atmosphere Reflectance #####
|
||||||
|
offset <- metaData$CALREF$offset[1:7]
|
||||||
|
gain <- metaData$CALREF$gain[1:7]
|
||||||
|
ls8_2020_toa1 <- gain * ls8_2020 + offset
|
||||||
|
|
||||||
|
sun_elev_day <- metaData$SOLAR_PARAMETERS['elevation']
|
||||||
|
sun_earth_distance_day <- metaData$SOLAR_PARAMETERS['distance']
|
||||||
|
ls8_2020_toa <- ls8_2020_toa1 * sun_earth_distance_day^2 / sin(sun_elev_day*pi/180)
|
||||||
|
#ls8_2020_toa
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### 2.2 Brightness Temperature #####
|
||||||
|
offset <- metaData$CALRAD$offset[10]
|
||||||
|
gain <- metaData$CALRAD$gain[10]
|
||||||
|
ls8_2020_thermal.RAD <- gain * ls8_2020_thermal + offset
|
||||||
|
|
||||||
|
K1 <- metaData$CALBT$K1[1]
|
||||||
|
K2 <- metaData$CALBT$K2[1]
|
||||||
|
ls8_2020_thermal.BT <- K2/log(K1/ls8_2020_thermal.RAD+1)
|
||||||
|
#ls8_2020_thermal.BT
|
||||||
|
|
||||||
|
#### 3. Shapefile ####
|
||||||
|
#plotRGB(ls8_2020_toa, r = 4, g = 3, b = 2, stretch = 'hist')
|
||||||
|
#plot(BB_shape, lwd = 2, border = 'red', add = TRUE)
|
||||||
|
|
||||||
|
ls8_2020_toa.BB <- crop(ls8_2020_toa, BB_shape)
|
||||||
|
ls8_2020_thermal.BT.BB <- crop(ls8_2020_thermal.BT, BB_shape)
|
||||||
|
|
||||||
|
#plotRGB(ls8_2020_toa.BB, r = 4, g = 3, b = 2, stretch = 'hist')
|
||||||
|
#plot(BB_shape, lwd = 2, border = 'red', add = TRUE)
|
||||||
|
|
||||||
|
#plot(ls8_2020_thermal.BT.BB, zlim=c(290,320))
|
||||||
|
#plot(BB_shape, lwd = 2, border = 'red', add = TRUE)
|
||||||
|
|
||||||
|
#### 4. Gleichung zur Berechnung der Oberflaechentemperatur ####
|
||||||
|
#LST(°C)=Bt/[1+(w∗Bt/p)∗ln(e)]−273.15
|
||||||
|
#e=0,017∗Pv+0,963
|
||||||
|
#PV=[(NDVI−NDVImin)/(NDVImax−NDVImin)]
|
||||||
|
#### 5. Berechnen des NDVI ####
|
||||||
|
ls8.ndvi <- spectralIndices(ls8_2020_toa.BB, red = 'red', nir = 'NIR', indices = 'NDVI')
|
||||||
|
#plot(ls8.ndvi)
|
||||||
|
#ls8.ndvi
|
||||||
|
|
||||||
|
#### 6. Berechnen des PV ####
|
||||||
|
NDVImin <- minValue(ls8.ndvi)
|
||||||
|
NDVImax <- maxValue(ls8.ndvi)
|
||||||
|
ls8.PV <- ((ls8.ndvi-NDVImin)/(NDVImax-NDVImin))^2
|
||||||
|
#plot(ls8.PV)
|
||||||
|
|
||||||
|
#### 7. Berechnung des Emissionsgrades ####
|
||||||
|
ls8.emissiv <- 0.017 * ls8.PV + 0.963
|
||||||
|
plot(ls8.emissiv)
|
||||||
|
#### 8. Berechnung der Oberflächentemperatur (LST) ####
|
||||||
|
ls8.LST <- (ls8_2020_thermal.BT.BB / (1+(10.8 * ls8_2020_thermal.BT.BB/14388) * log(ls8.emissiv))) - 273.15
|
||||||
|
#ls8.LST
|
||||||
|
#plot(ls8.LST, zlim=c(20,40))
|
||||||
|
#plot(BB_shape, lwd = 2, border = "red", add = TRUE)
|
||||||
|
#### 9. Speichern des Ergebnisses ####
|
||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/PjS/06_Thermal")
|
||||||
|
writeRaster(ls8.LST$layer, "ls8_LST.sdat", format = "SAGA", overwrite = TRUE)
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
#### 1. Vorbereitung ####
|
||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/PjS/08_Kastanie/Daten")
|
||||||
|
install.packages('vioplot')
|
||||||
|
library('vioplot')
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
Kachel_2020 <- stack('Kachel_Suedwest.tif')
|
||||||
|
names(Kachel_2020) <- c('NIR','RED','GREEN')
|
||||||
|
#plotRGB(Kachel_2020, 1, 2, 3, stretch = 'lin')
|
||||||
|
|
||||||
|
par(mfrow = c(1,1))
|
||||||
|
|
||||||
|
Kronen <- readOGR('rkast_buffer_single.shp')
|
||||||
|
#plot(Kronen, lwd = 5, border = 'yellow', add = TRUE)
|
||||||
|
|
||||||
|
NDVI <- stack('ndvi.tif')
|
||||||
|
#plot(NDVI)
|
||||||
|
|
||||||
|
#### 2. Extrahieren von Pixeln ####
|
||||||
|
extract_CIR <- extract(Kachel_2020, Kronen, df = TRUE)
|
||||||
|
extract_NDVI <- extract(NDVI, Kronen, df = TRUE)
|
||||||
|
|
||||||
|
#### 3. Statistische Auswertung der extrahierten Pixel ####
|
||||||
|
##### 3.1 Erstellen von Boxplots #####
|
||||||
|
col = c('purple','red','green')
|
||||||
|
boxplot(extract_CIR[2:4], col = col, ylab = 'Reflectance')
|
||||||
|
##### 3.2 Erstellen von Violinplots #####
|
||||||
|
vioplot(extract_CIR[2:4], col = col, horizontal = F)
|
||||||
|
|
||||||
|
#### 4. Mittelwerte pro Baum bestimmen ####
|
||||||
|
sp <- aggregate(. ~ ID , data = extract_CIR, FUN = mean, na.rm = TRUE )
|
||||||
|
##### 4.1 Mittelwerte der Kanäle plotten #####
|
||||||
|
par(mfrow = c(1,3))
|
||||||
|
|
||||||
|
##NIR
|
||||||
|
plot(sp[,2], ylim = c(0,250), ylab = "Reflectance", main ="NIR")
|
||||||
|
abline(h = mean(sp$NIR), col ="red")
|
||||||
|
##Rot
|
||||||
|
plot(sp[,3], ylim = c(0,250), ylab = "Reflectance", main ="Red")
|
||||||
|
abline(h = mean(sp$RED), col ="red")
|
||||||
|
##Gruen
|
||||||
|
plot(sp[,4], ylim = c(0,250), ylab = "Reflectance", main ="Green")
|
||||||
|
abline(h = mean(sp$GREEN), col ="red")
|
||||||
|
|
||||||
|
#### 5. Vergleich mit der Referenzgattung Linde ####
|
||||||
|
##### 5.1 Einladen der Daten #####
|
||||||
|
Linden <- readOGR("Vergleichsbaum_Linde_singlepart.shp")
|
||||||
|
summary(Linden)
|
||||||
|
##### 5.2 Stichprobe ziehen #####
|
||||||
|
sample_index <- sample(1:length(Linden),400)
|
||||||
|
Linden_sample <- Linden[sample_index,]
|
||||||
|
|
||||||
|
plot(Linden)
|
||||||
|
plot(Linden_sample, add=T, col="red")
|
||||||
|
##### 5.3 Extrahieren der Linden Pixel #####
|
||||||
|
extract_Linden <- extract(Kachel_2020, Linden_sample, buffer = 1, na.rm = TRUE, df = TRUE)
|
||||||
|
|
||||||
|
##optional für die die komischerweise keinen Dataframe erhalten (vielleicht Mac-User?)
|
||||||
|
# Manuelles Umwandeln in einen Dataframe
|
||||||
|
extract_Linden <- data.frame(extract_Linden)
|
||||||
|
|
||||||
|
##### 5.4 Violinplots von Kastanien und Linden vergleichen #####
|
||||||
|
par(mfrow = c(1,2))
|
||||||
|
|
||||||
|
col= c("purple","red","green")
|
||||||
|
vioplot(extract_CIR[2:4],col = col, horizontal=F, main ="Rosskastanien")
|
||||||
|
|
||||||
|
vioplot(extract_Linden[2:4],col = col, horizontal=F, main = "Linden")
|
||||||
|
|
||||||
|
##### 5.5 Mittelwerte pro Linde berechnen #####
|
||||||
|
sp_Linden <- aggregate(. ~ ID , data = extract_Linden, FUN = mean, na.rm = TRUE )
|
||||||
|
|
||||||
|
##### 5.6 Mittelwerte des NIR der Gattungen vergleichen #####
|
||||||
|
par(mfrow = c(1,2))
|
||||||
|
|
||||||
|
##NIR Kastanien
|
||||||
|
plot(sp[,2], ylim = c(0,250))
|
||||||
|
abline(h = mean(sp$NIR), col ="red")
|
||||||
|
|
||||||
|
##NIR Linden
|
||||||
|
|
||||||
|
plot(sp_Linden[,2], ylim = c(0,250))
|
||||||
|
abline(h = mean(sp_Linden$NIR), col ="red")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
#install packages
|
||||||
|
#install.packages('RColorBrewer')
|
||||||
|
#install.packages('rgeos')
|
||||||
|
|
||||||
|
|
||||||
|
# load spatial packages
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
library(rgeos)
|
||||||
|
library(RColorBrewer)
|
||||||
|
|
||||||
|
setwd("/Users/hannascheiwe/Desktop/Geo4.Semester/PjS_urbanefernerkundun/Vortrag_Trockenstress/daten")
|
||||||
|
|
||||||
|
# turn off factors
|
||||||
|
#options(stringsAsFactors = FALSE)
|
||||||
|
|
||||||
|
multispectral_st_2018 <- stack("/Users/hannascheiwe/Desktop/Geo4.Semester/PjS_urbanefernerkundun/Vortrag_Trockenstress/daten/sen2_20180901.tif")
|
||||||
|
|
||||||
|
plotRGB(multispectral_st_2018, 3,2,1, stretch="lin")
|
||||||
|
|
||||||
|
crop_extent <- readOGR("/Users/hannascheiwe/Desktop/Geo4.Semester/PjS_urbanefernerkundun/Vortrag_Trockenstress/daten/Berlin_Bezirke.shp")
|
||||||
|
|
||||||
|
charlottenburg_wilmersdorf <- crop_extent[crop_extent$ORTSTNAME=="Grunewald",]
|
||||||
|
|
||||||
|
plot(charlottenburg_wilmersdorf)
|
||||||
|
|
||||||
|
plot(charlottenburg_wilmersdorf,
|
||||||
|
main = "Shapefile imported into R - crop extent",
|
||||||
|
axes = TRUE,
|
||||||
|
border = "blue")
|
||||||
|
|
||||||
|
#compare_CRS(charlottenburg_wilmersdorf, multispectral_st_2018)
|
||||||
|
|
||||||
|
shp<- spTransform(charlottenburg_wilmersdorf, crs(multispectral_st_2018))
|
||||||
|
|
||||||
|
ausschnitt_grunewald_2018<- crop(multispectral_st_2018, shp)
|
||||||
|
|
||||||
|
plotRGB(ausschnitt_grunewald_2018,3,2,1, stretch= "lin")
|
||||||
|
|
||||||
|
ndvi_2018 <- (ausschnitt_grunewald_2018[[7]] - ausschnitt_grunewald_2018[[3]]) / (ausschnitt_grunewald_2018[[7]] + ausschnitt_grunewald_2018[[3]])
|
||||||
|
|
||||||
|
plot(ndvi_2018, main = "ndvi_2018", axes = FALSE, box = FALSE)
|
||||||
|
|
||||||
|
hist(ndvi_2018,
|
||||||
|
main = "ndvi_2018: Distribution of pixels",
|
||||||
|
col = "springgreen",
|
||||||
|
xlab = "NDVI Index Value")
|
||||||
|
|
||||||
|
#writeRaster(x = ndvi_2018,
|
||||||
|
#filename="...",
|
||||||
|
#format = "GTiff", # save as a tif
|
||||||
|
#datatype='INT2S', # save as a INTEGER rather than a float
|
||||||
|
#overwrite = TRUE) # OPTIONAL - be careful. This will OVERWRITE previous files.
|
||||||
|
|
||||||
|
ndwi_2018 <- (ausschnitt_grunewald_2018[[7]] - ausschnitt_grunewald_2018[[10]]) / (ausschnitt_grunewald_2018[[7]] + ausschnitt_grunewald_2018[[10]])
|
||||||
|
|
||||||
|
plot(ndwi_2018, main = "ndwi_2018", axes = FALSE, box = FALSE)
|
||||||
|
|
||||||
|
hist(ndwi_2018,
|
||||||
|
main = "ndwi_2018: Distribution of pixels",
|
||||||
|
col = "springgreen",
|
||||||
|
xlab = "NDVI Index Value")
|
||||||
|
|
||||||
|
#writeRaster(x = ndwi_2018,
|
||||||
|
#filename="...",
|
||||||
|
#format = "GTiff", # save as a tif
|
||||||
|
#datatype='INT2S', # save as a INTEGER rather than a float
|
||||||
|
#overwrite = TRUE) # OPTIONAL - be careful. This will OVERWRITE previous files.
|
||||||
|
|
||||||
|
multispectral_2020 <- stack("/Users/hannascheiwe/Desktop/Geo4.Semester/PjS_urbanefernerkundun/Vortrag_Trockenstress/daten/S2A_20200816.tif")
|
||||||
|
|
||||||
|
plotRGB(multispectral_2020, 3,2,1, stretch="lin")
|
||||||
|
|
||||||
|
compare_CRS(charlottenburg_wilmersdorf_2020, multispectral_2020)
|
||||||
|
|
||||||
|
shp_2020<- spTransform(charlottenburg_wilmersdorf_2020, crs(multispectral_2020))
|
||||||
|
|
||||||
|
ausschnitt_grunewald_2018_2020<- crop(multispectral_2020, shp_2020)
|
||||||
|
|
||||||
|
plotRGB(ausschnitt_grunewald_2018_2020,3,2,1, stretch= "lin")
|
||||||
|
|
||||||
|
ndvi_2020 <- (ausschnitt_grunewald_2020[[7]] - ausschnitt_grunewald_2020[[3]]) / (ausschnitt_grunewald_2020[[7]] + ausschnitt_grunewald_2020[[3]])
|
||||||
|
|
||||||
|
plot(ndvi_2020, main = "ndvi_2020", axes = FALSE, box = FALSE)
|
||||||
|
|
||||||
|
hist(ndvi_2020,
|
||||||
|
main = "NDVI: Distribution of pixels",
|
||||||
|
col = "springgreen",
|
||||||
|
xlab = "NDVI Index Value")
|
||||||
|
|
||||||
|
#writeRaster(x = ndvi_2020,
|
||||||
|
#filename="...",
|
||||||
|
#format = "GTiff", # save as a tif
|
||||||
|
#datatype='INT2S', # save as a INTEGER rather than a float
|
||||||
|
#overwrite = TRUE) # OPTIONAL - be careful. This will OVERWRITE previous files.
|
||||||
|
|
||||||
|
#NDWI:
|
||||||
|
#(NIR-SWIR)/(NIR+SWIR)
|
||||||
|
|
||||||
|
ndwi_2020 <- (ausschnitt_grunewald_2020[[7]] - ausschnitt_grunewald_2020[[10]]) / (ausschnitt_grunewald_2020[[7]] + ausschnitt_grunewald_2020[[10]])
|
||||||
|
|
||||||
|
plot(ndwi_2020, main = "ndwi_2020", axes = FALSE, box = FALSE)
|
||||||
|
|
||||||
|
hist(ndwi_2020,
|
||||||
|
main = "NDWI: Distribution of pixels",
|
||||||
|
col = "springgreen",
|
||||||
|
xlab = "NDVI Index Value")
|
||||||
|
|
||||||
|
#writeRaster(x = ndwi_2020,
|
||||||
|
#filename="...",
|
||||||
|
#format = "GTiff", # save as a tif
|
||||||
|
#datatype='INT2S', # save as a INTEGER rather than a float
|
||||||
|
#overwrite = TRUE) # OPTIONAL - be careful. This will OVERWRITE previous files.
|
||||||
|
|
||||||
|
difference_ndvi<- ndvi_2018 - ndvi_2020
|
||||||
|
plot(difference_ndvi, main = "NDVI Difference", axes = FALSE, box = FALSE)
|
||||||
|
|
||||||
|
difference_ndvi<- ndvi_2018 - ndvi_2020
|
||||||
|
plot(difference_ndvi, main = "NDVI Difference", axes = FALSE, box = FALSE)
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 131 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 316 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Jede Zwei Spalten is eine Messung. Jede Reihe ist eine Wellenlaenge mit dem gemessenen reflection value.
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,308 @@
|
|||||||
|
process_spectral_data <- function(file_path, grouping_size = 17, exclude_index = 13, encoding = "UTF-16LE", baum_ids = NULL) {
|
||||||
|
spektren <- readLines(file(file_path, encoding = encoding))
|
||||||
|
spektren <- gsub("\ufeff", "", spektren)
|
||||||
|
spektren <- strsplit(spektren, "\t")
|
||||||
|
|
||||||
|
wavelengths <- as.numeric(sapply(spektren, function(x) strsplit(x[1], ",")[[1]][1]))
|
||||||
|
measurements <- do.call(rbind, lapply(spektren, function(row) {
|
||||||
|
sapply(row, function(part) as.numeric(strsplit(part, ",")[[1]][2]))
|
||||||
|
}))
|
||||||
|
|
||||||
|
if (basename(file_path) == "export_20220721.dat") {
|
||||||
|
whites <- c()
|
||||||
|
for (j in 1:ncol(measurements)) {
|
||||||
|
value <- measurements[1, j]
|
||||||
|
if (!is.na(value) && floor(value) == 1) {
|
||||||
|
whites <- c(whites,j)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
skipped <- c(88, 138, 139, 180, 293, 311, 312, 313, 317, 395)
|
||||||
|
|
||||||
|
# Remove when found a solution
|
||||||
|
fix <- c(0:11)
|
||||||
|
|
||||||
|
columns_to_remove <- unique(c(whites, skipped, fix))
|
||||||
|
|
||||||
|
measurements <- measurements[, -columns_to_remove]
|
||||||
|
spektren.df <- as.data.frame(measurements)
|
||||||
|
|
||||||
|
# Reorder columns to match baum_ids if provided
|
||||||
|
if (!is.null(baum_ids)) {
|
||||||
|
baum_ids_20220721 <- c(
|
||||||
|
"ES8 (B 2-10-5-5)", "ES9 (B 2-10-2-4)", "IT8 (B 1-2-2-2)", "DE7 (B3-11-3-3)", "DE8 (B3-11-1-3)",
|
||||||
|
"FR1 (A 1-7-2-5)", "FR2 (A 1-7-1-1)", "ES1 (A 2-3-3-3)", "ES2 (A 2-3-3-2)", "IT2 (A 1-9-3-5)",
|
||||||
|
"IT3 (A 1-9-4-4)", "FR5 (A 1-1-2-5)", "FR6 (A 1-1-2-3)", "DE1 (B1-10-5-5)", "DE2 (B1-10-5-3)",
|
||||||
|
"IT7 (B 1-2-3-3)", "DE4 (B1-10-4-5)", "DE10 (B 3-11-1-1)", "ES10 (B 2-10-3-1)", "IT9 (B 1-2-2-3)",
|
||||||
|
"IT5 (A 1-9-5-2)", "ES5 (A 2-3-4-4)", "FR10 (A 1-1-5-4)", "FR4 (A 1-1-1-3)"
|
||||||
|
)
|
||||||
|
|
||||||
|
baum_order_20220721 <- match(baum_ids, baum_ids_20220721)
|
||||||
|
|
||||||
|
reordered_columns <- unlist(lapply(baum_order_20220721, function(x) {
|
||||||
|
start_col <- (x - 1) * 15 + 1
|
||||||
|
end_col <- start_col + 14
|
||||||
|
return(start_col:end_col)
|
||||||
|
}))
|
||||||
|
|
||||||
|
spektren.df <- spektren.df[, reordered_columns]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (basename(file_path) == "export_20220812.dat") {
|
||||||
|
measurements_filtered <- list()
|
||||||
|
for (i in seq(1, ncol(measurements), by = grouping_size)) {
|
||||||
|
tree_index <- (i - 1) / grouping_size + 1
|
||||||
|
if (tree_index != exclude_index) {
|
||||||
|
measurements_filtered[[length(measurements_filtered) + 1]] <- measurements[, (i + 1):(i + grouping_size - 2)]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
measurements_filtered <- do.call(cbind, measurements_filtered)
|
||||||
|
spektren.df <- as.data.frame(measurements_filtered)
|
||||||
|
}
|
||||||
|
|
||||||
|
print(dim(measurements))
|
||||||
|
|
||||||
|
rownames(spektren.df) <- wavelengths
|
||||||
|
|
||||||
|
return(spektren.df)
|
||||||
|
}
|
||||||
|
# Function to calculate mean values for each tree
|
||||||
|
calculate_mean_values <- function(spektren.df, baum_id, spalten_pro_baum) {
|
||||||
|
start_spalte <- (baum_id - 1) * spalten_pro_baum + 1
|
||||||
|
end_spalte <- start_spalte + spalten_pro_baum - 1
|
||||||
|
spalten_messungen <- start_spalte:end_spalte
|
||||||
|
mean_values <- rowMeans(spektren.df[, spalten_messungen], na.rm = TRUE)
|
||||||
|
return(mean_values)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to create a dataframe with mean values for each tree
|
||||||
|
create_mean_values_df <- function(spektren.df, num_baeume, spalten_pro_baum) {
|
||||||
|
mean_values_list <- list()
|
||||||
|
|
||||||
|
for (baum_id in 1:num_baeume) {
|
||||||
|
mean_values <- calculate_mean_values(spektren.df, baum_id, spalten_pro_baum)
|
||||||
|
mean_values_list[[baum_id]] <- mean_values
|
||||||
|
}
|
||||||
|
|
||||||
|
# Combine all the mean values into a dataframe
|
||||||
|
mean_values_df <- as.data.frame(do.call(cbind, mean_values_list))
|
||||||
|
|
||||||
|
# Set the column names as the tree IDs (baum_id)
|
||||||
|
colnames(mean_values_df) <- paste0("Tree_", 1:num_baeume)
|
||||||
|
|
||||||
|
# Set the row names as the wavelengths
|
||||||
|
rownames(mean_values_df) <- rownames(spektren.df)
|
||||||
|
|
||||||
|
return(mean_values_df)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Plot function for spectral data
|
||||||
|
plot_spectral_data <- function(spektren.df, output_file = "all.png", num_baeume, spalten_pro_baum, baum_ids, xlim = c(400, 1050), ylim = c(0, 1), main_title = "All Trees") {
|
||||||
|
spalten_pro_baum <- as.integer(spalten_pro_baum)
|
||||||
|
expected_columns <- num_baeume * spalten_pro_baum
|
||||||
|
if (ncol(spektren.df) != expected_columns) {
|
||||||
|
stop("The number of columns in spektren.df does not match the expected number based on num_baeume and spalten_pro_baum.")
|
||||||
|
}
|
||||||
|
|
||||||
|
png(output_file, width = 1024, height = 720)
|
||||||
|
|
||||||
|
colors <- rainbow(num_baeume)
|
||||||
|
|
||||||
|
plot(as.numeric(rownames(spektren.df)), rep(NA, nrow(spektren.df)),
|
||||||
|
xlab = "Wavelength (nm)", ylab = "Reflection (%)",
|
||||||
|
type = "n", ylim = ylim, xlim = xlim,
|
||||||
|
main = main_title
|
||||||
|
)
|
||||||
|
|
||||||
|
for (baum_id in 1:num_baeume) {
|
||||||
|
mean_values <- calculate_mean_values(spektren.df, baum_id, spalten_pro_baum)
|
||||||
|
lines(as.numeric(rownames(spektren.df)), mean_values, type = "l", col = colors[baum_id], lwd = 6)
|
||||||
|
}
|
||||||
|
|
||||||
|
legend("topleft",
|
||||||
|
legend = baum_ids,
|
||||||
|
text.col = colors,
|
||||||
|
pch = rep("-", num_baeume),
|
||||||
|
col = colors, lwd = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
dev.off()
|
||||||
|
}
|
||||||
|
|
||||||
|
# Plot function for side-by-side spectral data
|
||||||
|
plot_side_by_side_spectral_data <- function(spektren.df1, spektren.df2, output_file = "side_by_side_plot.png", num_baeume, spalten_pro_baum, baum_ids, xlim = c(400, 1050), ylim = c(0, 1), titles = c("2022/07/21", "2022/08/12")) {
|
||||||
|
spalten_pro_baum <- as.integer(spalten_pro_baum)
|
||||||
|
|
||||||
|
expected_columns <- num_baeume * spalten_pro_baum
|
||||||
|
if (ncol(spektren.df1) != expected_columns || ncol(spektren.df2) != expected_columns) {
|
||||||
|
stop("The number of columns in one of the datasets does not match the expected number based on num_baeume and spalten_pro_baum.")
|
||||||
|
}
|
||||||
|
|
||||||
|
png(output_file, width = 1080, height = 1280)
|
||||||
|
|
||||||
|
par(mfrow = c(2, 1)) # Set up the layout for two side-by-side plots
|
||||||
|
|
||||||
|
colors <- rainbow(num_baeume)
|
||||||
|
|
||||||
|
# Plot for the first dataset
|
||||||
|
plot(as.numeric(rownames(spektren.df1)), rep(NA, nrow(spektren.df1)),
|
||||||
|
xlab = "Wavelength (nm)", ylab = "Reflection (%)",
|
||||||
|
type = "n", ylim = ylim, xlim = xlim,
|
||||||
|
main = titles[1]
|
||||||
|
)
|
||||||
|
|
||||||
|
for (baum_id in 1:num_baeume) {
|
||||||
|
mean_values <- calculate_mean_values(spektren.df1, baum_id, spalten_pro_baum)
|
||||||
|
lines(as.numeric(rownames(spektren.df1)), mean_values, type = "l", col = colors[baum_id], lwd = 6)
|
||||||
|
}
|
||||||
|
|
||||||
|
legend("topleft",
|
||||||
|
legend = baum_ids,
|
||||||
|
text.col = colors,
|
||||||
|
pch = rep("-", num_baeume),
|
||||||
|
col = colors, lwd = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
# Plot for the second dataset
|
||||||
|
plot(as.numeric(rownames(spektren.df2)), rep(NA, nrow(spektren.df2)),
|
||||||
|
xlab = "Wavelength (nm)", ylab = "Reflection (%)",
|
||||||
|
type = "n", ylim = ylim, xlim = xlim,
|
||||||
|
main = titles[2]
|
||||||
|
)
|
||||||
|
|
||||||
|
for (baum_id in 1:num_baeume) {
|
||||||
|
mean_values <- calculate_mean_values(spektren.df2, baum_id, spalten_pro_baum)
|
||||||
|
lines(as.numeric(rownames(spektren.df2)), mean_values, type = "l", col = colors[baum_id], lwd = 6)
|
||||||
|
}
|
||||||
|
|
||||||
|
legend("topleft",
|
||||||
|
legend = baum_ids,
|
||||||
|
text.col = colors,
|
||||||
|
pch = rep("-", num_baeume),
|
||||||
|
col = colors, lwd = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
dev.off()
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to integrate the difference between two datasets
|
||||||
|
integrate_difference <- function(df1, df2, num_baeume, spalten_pro_baum) {
|
||||||
|
if (ncol(df1) != ncol(df2) || nrow(df1) != nrow(df2)) {
|
||||||
|
stop("The dataframes must have the same dimensions.")
|
||||||
|
}
|
||||||
|
|
||||||
|
wavelengths <- as.numeric(rownames(df1))
|
||||||
|
|
||||||
|
integral_results <- numeric(num_baeume)
|
||||||
|
|
||||||
|
for (baum_id in 1:num_baeume) {
|
||||||
|
mean_values_df1 <- calculate_mean_values(df1, baum_id, spalten_pro_baum)
|
||||||
|
mean_values_df2 <- calculate_mean_values(df2, baum_id, spalten_pro_baum)
|
||||||
|
|
||||||
|
difference <- mean_values_df1 - mean_values_df2
|
||||||
|
|
||||||
|
integral_results[baum_id] <- sum(diff(wavelengths) * (head(difference, -1) + tail(difference, -1)) / 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
return(integral_results)
|
||||||
|
}
|
||||||
|
|
||||||
|
### Main
|
||||||
|
|
||||||
|
# Process and plot spectral data from "export_20220721.dat"
|
||||||
|
baum_ids_20220812 <- c(
|
||||||
|
"DE1 (B1-10-5-5)", "DE2 (B1-10-5-3)", "DE4 (B1-10-4-5)", "DE7 (B3-11-3-3)", "DE8 (B3-11-1-3)",
|
||||||
|
"DE10 (B 3-11-1-1)", "IT2 (A 1-9-3-5)", "IT3 (A 1-9-4-4)", "IT5 (A 1-9-5-2)", "IT7 (B 1-2-3-3)",
|
||||||
|
"IT8 (B 1-2-2-2)", "IT9 (B 1-2-2-3)", "ES2 (A 2-3-3-2)", "ES5 (A 2-3-4-4)",
|
||||||
|
"ES8 (B 2-10-5-5)", "ES9 (B 2-10-2-4)", "ES10 (B 2-10-3-1)", "FR1 (A 1-7-2-5)", "FR2 (A 1-7-1-1)",
|
||||||
|
"FR4 (A 1-1-1-3)", "FR5 (A 1-1-2-5)", "FR6 (A 1-1-2-3)", "FR10 (A 1-1-5-4)"
|
||||||
|
)
|
||||||
|
|
||||||
|
spektren20220721.df <- process_spectral_data(
|
||||||
|
file_path = "~/Developer/courses/2021\ Projektbezogenes\ Arbeiten/Abschlussarbeit/data/export_20220721.dat",
|
||||||
|
grouping_size = 17,
|
||||||
|
exclude_index = 8,
|
||||||
|
encoding = "UTF-16LE",
|
||||||
|
baum_ids = baum_ids_20220812
|
||||||
|
)
|
||||||
|
|
||||||
|
plot_spectral_data(
|
||||||
|
spektren.df = spektren20220721.df,
|
||||||
|
output_file = "20220721.png",
|
||||||
|
num_baeume = 23,
|
||||||
|
spalten_pro_baum = 15,
|
||||||
|
baum_ids = baum_ids_20220812,
|
||||||
|
xlim = c(400, 1050),
|
||||||
|
ylim = c(0, 1),
|
||||||
|
main_title = "2022/07/21"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Process and plot spectral data from "export_20220812.dat"
|
||||||
|
spektren20220812.df <- process_spectral_data(
|
||||||
|
file_path = "~/Developer/courses/2021\ Projektbezogenes\ Arbeiten/Abschlussarbeit/data/export_20220812.dat",
|
||||||
|
grouping_size = 17,
|
||||||
|
exclude_index = 13,
|
||||||
|
encoding = "UTF-16LE"
|
||||||
|
)
|
||||||
|
|
||||||
|
plot_spectral_data(
|
||||||
|
spektren.df = spektren20220812.df,
|
||||||
|
output_file = "20220812.png",
|
||||||
|
num_baeume = 23,
|
||||||
|
spalten_pro_baum = 15,
|
||||||
|
baum_ids = baum_ids_20220812,
|
||||||
|
xlim = c(400, 1050),
|
||||||
|
ylim = c(0, 1),
|
||||||
|
main_title = "2022/08/12"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Plot side-by-side comparison of 20220721 and 20220812 datasets
|
||||||
|
plot_side_by_side_spectral_data(
|
||||||
|
spektren.df1 = spektren20220721.df,
|
||||||
|
spektren.df2 = spektren20220812.df,
|
||||||
|
output_file = "20220722_and_20220812.png",
|
||||||
|
num_baeume = 23,
|
||||||
|
spalten_pro_baum = 15,
|
||||||
|
baum_ids = baum_ids_20220812,
|
||||||
|
xlim = c(400, 1050),
|
||||||
|
ylim = c(0, 1),
|
||||||
|
titles = c("2022/07/21", "2022/08/12")
|
||||||
|
)
|
||||||
|
|
||||||
|
# Create a dataframe with mean values for each tree from the 20220721 dataset
|
||||||
|
mean_values_20220721.df <- create_mean_values_df(spektren20220721.df, num_baeume = 23, spalten_pro_baum = 15)
|
||||||
|
|
||||||
|
write.csv(mean_values_20220721.df,"means.csv")
|
||||||
|
|
||||||
|
# Create a dataframe with mean values for each tree from the 20220812 dataset
|
||||||
|
mean_values_20220812.df <- create_mean_values_df(spektren20220812.df, num_baeume = 23, spalten_pro_baum = 15)
|
||||||
|
|
||||||
|
# Integrate differences between the two datasets
|
||||||
|
integral_results <- integrate_difference(
|
||||||
|
df1 = spektren20220721.df,
|
||||||
|
df2 = spektren20220812.df,
|
||||||
|
num_baeume = 23,
|
||||||
|
spalten_pro_baum = 15
|
||||||
|
)
|
||||||
|
|
||||||
|
# Invert and sort the integral results
|
||||||
|
inverted_integral_results <- -integral_results
|
||||||
|
sorted_indices <- order(inverted_integral_results)
|
||||||
|
sorted_integral_results <- inverted_integral_results[sorted_indices]
|
||||||
|
sorted_baum_ids <- baum_ids_20220812[sorted_indices]
|
||||||
|
|
||||||
|
# Plot the integral of reflection differences
|
||||||
|
png("integral.png", width = 1024, height = 1024)
|
||||||
|
|
||||||
|
par(mar = c(10, 5, 4, 2) + 0.1)
|
||||||
|
|
||||||
|
barplot(sorted_integral_results,
|
||||||
|
names.arg = sorted_baum_ids,
|
||||||
|
las = 2,
|
||||||
|
col = "skyblue",
|
||||||
|
main = "Integral of Reflection Differences",
|
||||||
|
xlab = "",
|
||||||
|
ylab = "Percentage-Nanometers (%·nm)",
|
||||||
|
cex.names = 1,
|
||||||
|
horiz = FALSE)
|
||||||
|
dev.off()
|
||||||
@@ -0,0 +1,752 @@
|
|||||||
|
"","Tree_1","Tree_2","Tree_3","Tree_4","Tree_5","Tree_6","Tree_7","Tree_8","Tree_9","Tree_10","Tree_11","Tree_12","Tree_13","Tree_14","Tree_15","Tree_16","Tree_17","Tree_18","Tree_19","Tree_20","Tree_21","Tree_22","Tree_23"
|
||||||
|
"325",0.3238,0.3088,0.3668,0.267933333333333,0.359333333333333,0.1908,0.2706,0.361133333333333,0.3182,0.233466666666667,0.2318,0.0716,0.362666666666667,0.377333333333333,0.275,0.306133333333333,0.3754,0.336333333333333,0.264066666666667,0.395266666666667,0.289333333333333,0.356066666666667,0.316266666666667
|
||||||
|
"326",0.319333333333333,0.2676,0.4362,0.275533333333333,0.385133333333333,0.2378,0.3148,0.411066666666667,0.284533333333333,0.304533333333333,0.224466666666667,0.222533333333333,0.2914,0.3152,0.330933333333333,0.353266666666667,0.341666666666667,0.424533333333333,0.278466666666667,0.374466666666667,0.312866666666667,0.300533333333333,0.2884
|
||||||
|
"327",0.318333333333333,0.2498,0.4436,0.2652,0.369466666666667,0.277933333333333,0.349866666666667,0.417466666666667,0.2708,0.325066666666667,0.2484,0.3234,0.293133333333333,0.3268,0.418733333333333,0.361266666666667,0.258533333333333,0.4192,0.287266666666667,0.375733333333333,0.316333333333333,0.275266666666667,0.296333333333333
|
||||||
|
"328",0.3682,0.2578,0.393066666666667,0.2652,0.310466666666667,0.293133333333333,0.340733333333333,0.3962,0.302733333333333,0.277466666666667,0.288533333333333,0.331666666666667,0.346333333333333,0.359133333333333,0.410866666666667,0.3076,0.2442,0.303333333333333,0.269866666666667,0.398333333333333,0.333066666666667,0.3114,0.347866666666667
|
||||||
|
"329",0.399733333333333,0.239133333333333,0.406266666666667,0.241133333333333,0.308533333333333,0.329066666666667,0.355866666666667,0.4146,0.361133333333333,0.2516,0.287,0.356,0.319333333333333,0.37,0.3286,0.271266666666667,0.2962,0.388066666666667,0.24,0.392533333333333,0.365266666666667,0.295733333333333,0.476733333333333
|
||||||
|
"330",0.415266666666667,0.261133333333333,0.419133333333333,0.244533333333333,0.342466666666667,0.337733333333333,0.379533333333333,0.415266666666667,0.3808,0.279133333333333,0.287333333333333,0.408533333333333,0.264,0.337866666666667,0.268466666666667,0.2688,0.355733333333333,0.442933333333333,0.2754,0.386866666666667,0.366266666666667,0.297866666666667,0.5262
|
||||||
|
"331",0.422,0.315133333333333,0.4028,0.259933333333333,0.354666666666667,0.313333333333333,0.3926,0.384,0.286733333333333,0.3032,0.2806,0.405733333333333,0.241666666666667,0.315666666666667,0.2738,0.295733333333333,0.3718,0.3994,0.3402,0.379733333333333,0.342466666666667,0.296733333333333,0.34
|
||||||
|
"332",0.3548,0.275133333333333,0.395733333333333,0.265333333333333,0.370533333333333,0.323733333333333,0.369066666666667,0.376333333333333,0.300133333333333,0.293933333333333,0.269866666666667,0.355933333333333,0.275933333333333,0.318333333333333,0.312666666666667,0.319333333333333,0.390933333333333,0.381933333333333,0.283333333333333,0.367466666666667,0.338,0.3038,0.290666666666667
|
||||||
|
"333",0.311466666666667,0.233466666666667,0.422066666666667,0.279533333333333,0.3844,0.376933333333333,0.333,0.3846,0.3324,0.2716,0.273533333333333,0.261666666666667,0.329666666666667,0.322466666666667,0.3492,0.3334,0.371866666666667,0.384133333333333,0.218266666666667,0.36,0.329066666666667,0.301933333333333,0.3478
|
||||||
|
"334",0.3418,0.2836,0.4406,0.2978,0.373333333333333,0.3992,0.298666666666667,0.383733333333333,0.305133333333333,0.302933333333333,0.277066666666667,0.255533333333333,0.337533333333333,0.303866666666667,0.341933333333333,0.3208,0.326466666666667,0.3774,0.268266666666667,0.404266666666667,0.3106,0.291666666666667,0.354666666666667
|
||||||
|
"335",0.358266666666667,0.3068,0.4372,0.313533333333333,0.360466666666667,0.3538,0.278666666666667,0.373133333333333,0.291933333333333,0.318666666666667,0.288266666666667,0.338733333333333,0.313533333333333,0.309333333333333,0.319266666666667,0.302133333333333,0.329866666666667,0.390866666666667,0.302933333333333,0.416866666666667,0.304066666666667,0.282533333333333,0.321333333333333
|
||||||
|
"336",0.3464,0.273866666666667,0.4376,0.314466666666667,0.348466666666667,0.293666666666667,0.279266666666667,0.353,0.3194,0.293933333333333,0.301133333333333,0.442733333333333,0.283533333333333,0.338666666666667,0.308533333333333,0.2976,0.360666666666667,0.408866666666667,0.2774,0.381733333333333,0.3126,0.2884,0.261266666666667
|
||||||
|
"337",0.3596,0.2354,0.397533333333333,0.280133333333333,0.322333333333333,0.2888,0.337933333333333,0.3264,0.3078,0.318733333333333,0.2916,0.404,0.299933333333333,0.3822,0.336133333333333,0.327933333333333,0.307733333333333,0.3586,0.2654,0.366533333333333,0.288866666666667,0.276733333333333,0.319
|
||||||
|
"338",0.359133333333333,0.237466666666667,0.390933333333333,0.240266666666667,0.315066666666667,0.349066666666667,0.3712,0.3292,0.285466666666667,0.335333333333333,0.278,0.320533333333333,0.312333333333333,0.370133333333333,0.361733333333333,0.343866666666667,0.268333333333333,0.3338,0.262333333333333,0.3534,0.292733333333333,0.269733333333333,0.418933333333333
|
||||||
|
"339",0.364533333333333,0.288733333333333,0.407,0.232733333333333,0.337266666666667,0.407866666666667,0.355,0.370933333333333,0.310066666666667,0.286666666666667,0.273466666666667,0.312666666666667,0.310533333333333,0.314666666666667,0.355266666666667,0.310666666666667,0.298866666666667,0.394,0.246733333333333,0.3456,0.3374,0.2802,0.365666666666667
|
||||||
|
"340",0.368066666666667,0.259666666666667,0.4158,0.234733333333333,0.332733333333333,0.360866666666667,0.341933333333333,0.375066666666667,0.3266,0.263866666666667,0.269933333333333,0.325533333333333,0.2942,0.313466666666667,0.347,0.299,0.3306,0.371933333333333,0.238133333333333,0.346266666666667,0.319866666666667,0.276466666666667,0.348
|
||||||
|
"341",0.358466666666667,0.2112,0.403533333333333,0.229133333333333,0.307933333333333,0.294,0.330533333333333,0.349066666666667,0.3334,0.261066666666667,0.260066666666667,0.326133333333333,0.2786,0.31,0.318733333333333,0.3092,0.347733333333333,0.324533333333333,0.253,0.3464,0.264866666666667,0.272333333333333,0.380666666666667
|
||||||
|
"342",0.3786,0.282066666666667,0.373066666666667,0.2316,0.313066666666667,0.309466666666667,0.32,0.345466666666667,0.335866666666667,0.247866666666667,0.225333333333333,0.331066666666667,0.284533333333333,0.3124,0.312933333333333,0.308333333333333,0.320466666666667,0.347,0.2636,0.346066666666667,0.248466666666667,0.286333333333333,0.391466666666667
|
||||||
|
"343",0.366333333333333,0.3194,0.357266666666667,0.213333333333333,0.3056,0.316333333333333,0.293133333333333,0.3364,0.3412,0.2722,0.229666666666667,0.3484,0.269466666666667,0.2956,0.314666666666667,0.301266666666667,0.290333333333333,0.369933333333333,0.2728,0.3444,0.264933333333333,0.2822,0.360933333333333
|
||||||
|
"344",0.325066666666667,0.265466666666667,0.367733333333333,0.188666666666667,0.277466666666667,0.3144,0.2576,0.320333333333333,0.351866666666667,0.3104,0.2654,0.372933333333333,0.242866666666667,0.276266666666667,0.312133333333333,0.287733333333333,0.298266666666667,0.365066666666667,0.270533333333333,0.341933333333333,0.287066666666667,0.266133333333333,0.303133333333333
|
||||||
|
"345",0.3618,0.268866666666667,0.438866666666667,0.218933333333333,0.279266666666667,0.328866666666667,0.259133333333333,0.338666666666667,0.290466666666667,0.2918,0.246066666666667,0.373333333333333,0.245466666666667,0.360133333333333,0.3398,0.295133333333333,0.351066666666667,0.3516,0.246733333333333,0.367333333333333,0.2932,0.281333333333333,0.287866666666667
|
||||||
|
"346",0.3954,0.291266666666667,0.473533333333333,0.237733333333333,0.289333333333333,0.325533333333333,0.268866666666667,0.362333333333333,0.254,0.270666666666667,0.232466666666667,0.3802,0.248866666666667,0.412,0.339933333333333,0.297066666666667,0.355733333333333,0.340866666666667,0.2346,0.366666666666667,0.304133333333333,0.2954,0.317266666666667
|
||||||
|
"347",0.365333333333333,0.259933333333333,0.4184,0.2154,0.2932,0.282933333333333,0.3022,0.372266666666667,0.296266666666667,0.282933333333333,0.259333333333333,0.394333333333333,0.232133333333333,0.4078,0.3182,0.291066666666667,0.319066666666667,0.329066666666667,0.228866666666667,0.317266666666667,0.3176,0.290533333333333,0.3426
|
||||||
|
"348",0.346,0.245733333333333,0.405,0.218733333333333,0.3046,0.306333333333333,0.313733333333333,0.369266666666667,0.318133333333333,0.284466666666667,0.261533333333333,0.382266666666667,0.257266666666667,0.3646,0.315666666666667,0.290266666666667,0.322933333333333,0.3352,0.232133333333333,0.3386,0.326133333333333,0.278466666666667,0.3634
|
||||||
|
"349",0.3756,0.258666666666667,0.4222,0.232266666666667,0.303866666666667,0.356266666666667,0.306333333333333,0.362333333333333,0.301466666666667,0.284466666666667,0.243066666666667,0.346333333333333,0.2882,0.325866666666667,0.327666666666667,0.2958,0.337666666666667,0.346466666666667,0.252266666666667,0.380466666666667,0.322466666666667,0.283866666666667,0.37
|
||||||
|
"350",0.405266666666667,0.238333333333333,0.393133333333333,0.220533333333333,0.287266666666667,0.3102,0.317533333333333,0.342866666666667,0.3116,0.2342,0.233866666666667,0.326133333333333,0.273733333333333,0.325133333333333,0.319266666666667,0.293666666666667,0.299533333333333,0.327866666666667,0.245066666666667,0.337266666666667,0.294266666666667,0.292533333333333,0.361733333333333
|
||||||
|
"351",0.396133333333333,0.2474,0.379933333333333,0.216333333333333,0.282866666666667,0.279266666666667,0.3096,0.324866666666667,0.317533333333333,0.2378,0.238333333333333,0.326,0.265133333333333,0.341733333333333,0.3066,0.2924,0.303533333333333,0.319933333333333,0.2368,0.310333333333333,0.2768,0.2882,0.3386
|
||||||
|
"352",0.3566,0.273333333333333,0.410333333333333,0.2242,0.289533333333333,0.2952,0.287733333333333,0.3292,0.301,0.2924,0.257133333333333,0.338533333333333,0.2676,0.365466666666667,0.2972,0.298133333333333,0.360333333333333,0.328466666666667,0.233,0.3262,0.287333333333333,0.274333333333333,0.3154
|
||||||
|
"353",0.354866666666667,0.269733333333333,0.4174,0.227066666666667,0.295733333333333,0.3046,0.283933333333333,0.3414,0.284666666666667,0.285533333333333,0.240333333333333,0.339933333333333,0.269266666666667,0.354133333333333,0.3036,0.283866666666667,0.361333333333333,0.3306,0.224533333333333,0.320466666666667,0.285,0.278133333333333,0.3272
|
||||||
|
"354",0.3746,0.2606,0.395933333333333,0.219933333333333,0.2966,0.304733333333333,0.2868,0.343666666666667,0.288866666666667,0.250066666666667,0.2206,0.3246,0.270266666666667,0.3188,0.307333333333333,0.272333333333333,0.3372,0.326,0.220133333333333,0.312733333333333,0.273266666666667,0.281333333333333,0.347
|
||||||
|
"355",0.3694,0.259666666666667,0.381733333333333,0.212933333333333,0.284733333333333,0.2872,0.2626,0.324466666666667,0.2822,0.244733333333333,0.2424,0.303133333333333,0.247333333333333,0.3086,0.287933333333333,0.287733333333333,0.311133333333333,0.325733333333333,0.222466666666667,0.328266666666667,0.279466666666667,0.264266666666667,0.321666666666667
|
||||||
|
"356",0.355,0.256733333333333,0.365733333333333,0.203466666666667,0.271333333333333,0.279,0.2496,0.313,0.283266666666667,0.248066666666667,0.246,0.285866666666667,0.236333333333333,0.2716,0.285066666666667,0.296466666666667,0.2978,0.316266666666667,0.216466666666667,0.3124,0.278733333333333,0.263733333333333,0.3072
|
||||||
|
"357",0.3338,0.249466666666667,0.355266666666667,0.195666666666667,0.2572,0.2704,0.250666666666667,0.310733333333333,0.293133333333333,0.253666666666667,0.230466666666667,0.288466666666667,0.240333333333333,0.232733333333333,0.298666666666667,0.293933333333333,0.291733333333333,0.2986,0.2082,0.289333333333333,0.268066666666667,0.267933333333333,0.309666666666667
|
||||||
|
"358",0.333,0.241533333333333,0.367666666666667,0.203333333333333,0.2618,0.283266666666667,0.256333333333333,0.307933333333333,0.314,0.244266666666667,0.233466666666667,0.317933333333333,0.230866666666667,0.2886,0.294133333333333,0.284466666666667,0.300533333333333,0.299933333333333,0.2094,0.309333333333333,0.266266666666667,0.264,0.287666666666667
|
||||||
|
"359",0.341133333333333,0.230266666666667,0.371533333333333,0.203666666666667,0.2596,0.297466666666667,0.2542,0.307933333333333,0.3086,0.233,0.225933333333333,0.325733333333333,0.229733333333333,0.297266666666667,0.283266666666667,0.271266666666667,0.2986,0.2914,0.200733333333333,0.313666666666667,0.262466666666667,0.246466666666667,0.2868
|
||||||
|
"360",0.339066666666667,0.222066666666667,0.377133333333333,0.192,0.245333333333333,0.277733333333333,0.2376,0.313933333333333,0.277533333333333,0.238466666666667,0.210533333333333,0.305333333333333,0.2356,0.257066666666667,0.272333333333333,0.266666666666667,0.2696,0.274333333333333,0.187,0.284733333333333,0.262066666666667,0.232866666666667,0.2948
|
||||||
|
"361",0.3502,0.2228,0.358333333333333,0.186866666666667,0.2518,0.266533333333333,0.229266666666667,0.2992,0.2676,0.2374,0.2128,0.3086,0.2286,0.242333333333333,0.283666666666667,0.2658,0.2758,0.2872,0.196266666666667,0.279666666666667,0.249466666666667,0.234,0.2906
|
||||||
|
"362",0.3578,0.216933333333333,0.338266666666667,0.181,0.252333333333333,0.260666666666667,0.228866666666667,0.282466666666667,0.265533333333333,0.227066666666667,0.216066666666667,0.311266666666667,0.212,0.258866666666667,0.293866666666667,0.265533333333333,0.2942,0.300733333333333,0.207866666666667,0.279266666666667,0.240666666666667,0.237533333333333,0.278733333333333
|
||||||
|
"363",0.3274,0.202866666666667,0.343533333333333,0.1758,0.243266666666667,0.261466666666667,0.225733333333333,0.279533333333333,0.2466,0.215133333333333,0.198933333333333,0.2804,0.207,0.300533333333333,0.2672,0.252533333333333,0.278666666666667,0.2914,0.1958,0.266066666666667,0.241533333333333,0.231666666666667,0.2798
|
||||||
|
"364",0.313,0.195266666666667,0.329666666666667,0.178133333333333,0.2406,0.243066666666667,0.219133333333333,0.279933333333333,0.235333333333333,0.199133333333333,0.185533333333333,0.266,0.201666666666667,0.296133333333333,0.247866666666667,0.238933333333333,0.258733333333333,0.2738,0.183133333333333,0.2628,0.243466666666667,0.231,0.293266666666667
|
||||||
|
"365",0.3214,0.1958,0.3118,0.176333333333333,0.242333333333333,0.218866666666667,0.208666666666667,0.281333333333333,0.2334,0.188933333333333,0.178866666666667,0.263866666666667,0.196066666666667,0.2524,0.2476,0.234133333333333,0.245266666666667,0.261933333333333,0.177066666666667,0.259933333333333,0.2432,0.233733333333333,0.308666666666667
|
||||||
|
"366",0.308866666666667,0.198733333333333,0.313666666666667,0.1588,0.240933333333333,0.221866666666667,0.1944,0.2718,0.220666666666667,0.187933333333333,0.1816,0.248866666666667,0.196066666666667,0.228466666666667,0.2516,0.235733333333333,0.231333333333333,0.266266666666667,0.181866666666667,0.238066666666667,0.2422,0.225066666666667,0.281066666666667
|
||||||
|
"367",0.294266666666667,0.195866666666667,0.3046,0.147066666666667,0.234733333333333,0.2262,0.188866666666667,0.2554,0.2134,0.1832,0.1834,0.2466,0.192666666666667,0.2304,0.249466666666667,0.2344,0.229666666666667,0.2662,0.179733333333333,0.228533333333333,0.236466666666667,0.216466666666667,0.263666666666667
|
||||||
|
"368",0.277333333333333,0.1908,0.288533333333333,0.1434,0.217933333333333,0.215666666666667,0.190666666666667,0.243866666666667,0.213266666666667,0.181533333333333,0.179933333333333,0.255533333333333,0.179666666666667,0.2466,0.242,0.236866666666667,0.2254,0.2558,0.173666666666667,0.234733333333333,0.225066666666667,0.208866666666667,0.264666666666667
|
||||||
|
"369",0.256533333333333,0.181133333333333,0.280066666666667,0.143466666666667,0.208733333333333,0.202866666666667,0.1856,0.232333333333333,0.2086,0.1792,0.166533333333333,0.243666666666667,0.175466666666667,0.218266666666667,0.2328,0.229733333333333,0.2102,0.2496,0.165866666666667,0.221066666666667,0.208333333333333,0.197466666666667,0.242133333333333
|
||||||
|
"370",0.244266666666667,0.169533333333333,0.279266666666667,0.143133333333333,0.201866666666667,0.193533333333333,0.176733333333333,0.225333333333333,0.204466666666667,0.175866666666667,0.153266666666667,0.220533333333333,0.174066666666667,0.1786,0.2268,0.218133333333333,0.187866666666667,0.246266666666667,0.157933333333333,0.203666666666667,0.198866666666667,0.188733333333333,0.218333333333333
|
||||||
|
"371",0.239,0.158133333333333,0.263133333333333,0.143666666666667,0.188066666666667,0.185133333333333,0.1622,0.224533333333333,0.191733333333333,0.1684,0.1514,0.217266666666667,0.1844,0.174266666666667,0.2292,0.2116,0.175733333333333,0.2336,0.156,0.202066666666667,0.201666666666667,0.1748,0.221666666666667
|
||||||
|
"372",0.231733333333333,0.149333333333333,0.252533333333333,0.148133333333333,0.187866666666667,0.1732,0.1564,0.2218,0.174333333333333,0.1608,0.153666666666667,0.216066666666667,0.176533333333333,0.1744,0.219733333333333,0.204466666666667,0.1754,0.229066666666667,0.153533333333333,0.193,0.2032,0.1662,0.211133333333333
|
||||||
|
"373",0.2176,0.144866666666667,0.247666666666667,0.150133333333333,0.193866666666667,0.1586,0.153933333333333,0.216333333333333,0.163266666666667,0.154333333333333,0.156066666666667,0.214,0.154133333333333,0.176266666666667,0.2034,0.1992,0.179533333333333,0.225933333333333,0.145533333333333,0.1772,0.1992,0.1632,0.184933333333333
|
||||||
|
"374",0.2254,0.1348,0.235066666666667,0.129066666666667,0.181133333333333,0.1594,0.149266666666667,0.210333333333333,0.155266666666667,0.142933333333333,0.147133333333333,0.210133333333333,0.147066666666667,0.191,0.2058,0.2028,0.166866666666667,0.212666666666667,0.133933333333333,0.1696,0.190333333333333,0.153666666666667,0.182533333333333
|
||||||
|
"375",0.223266666666667,0.127866666666667,0.2286,0.112933333333333,0.172866666666667,0.160666666666667,0.1448,0.204266666666667,0.143066666666667,0.135933333333333,0.1372,0.203133333333333,0.143933333333333,0.184666666666667,0.208,0.202,0.159733333333333,0.205333333333333,0.128533333333333,0.1642,0.183266666666667,0.1426,0.184666666666667
|
||||||
|
"376",0.2018,0.135066666666667,0.222866666666667,0.1144,0.169866666666667,0.150733333333333,0.138,0.197866666666667,0.135,0.1326,0.132066666666667,0.200866666666667,0.1376,0.1516,0.195666666666667,0.187333333333333,0.1568,0.205733333333333,0.131933333333333,0.158133333333333,0.176266666666667,0.133933333333333,0.166933333333333
|
||||||
|
"377",0.1922,0.1282,0.2116,0.1122,0.162933333333333,0.141066666666667,0.131933333333333,0.188266666666667,0.137666666666667,0.128466666666667,0.127066666666667,0.192066666666667,0.125733333333333,0.128666666666667,0.187266666666667,0.179666666666667,0.151466666666667,0.204066666666667,0.129866666666667,0.156066666666667,0.1658,0.127533333333333,0.150466666666667
|
||||||
|
"378",0.190866666666667,0.114,0.196266666666667,0.1074,0.1556,0.131466666666667,0.126,0.182133333333333,0.1466,0.122466666666667,0.124266666666667,0.181333333333333,0.1128,0.1206,0.185533333333333,0.1794,0.141666666666667,0.199533333333333,0.120933333333333,0.15,0.160666666666667,0.126666666666667,0.138333333333333
|
||||||
|
"379",0.1788,0.114933333333333,0.193333333333333,0.105333333333333,0.147733333333333,0.114533333333333,0.1174,0.1776,0.135333333333333,0.115733333333333,0.1212,0.179533333333333,0.1146,0.1268,0.185466666666667,0.178666666666667,0.126533333333333,0.187133333333333,0.110666666666667,0.1338,0.162533333333333,0.1228,0.147466666666667
|
||||||
|
"380",0.161666666666667,0.107866666666667,0.188466666666667,0.1006,0.146066666666667,0.115066666666667,0.1132,0.172133333333333,0.12,0.106,0.1196,0.180466666666667,0.1148,0.126,0.1796,0.177866666666667,0.119466666666667,0.181533333333333,0.102666666666667,0.123866666666667,0.1606,0.114066666666667,0.151
|
||||||
|
"381",0.1424,0.0978666666666667,0.178866666666667,0.0942,0.1492,0.126,0.111666666666667,0.166733333333333,0.109733333333333,0.0959333333333333,0.116533333333333,0.175533333333333,0.108533333333333,0.1158,0.168,0.174266666666667,0.1214,0.181866666666667,0.0976,0.123333333333333,0.155266666666667,0.103333333333333,0.1464
|
||||||
|
"382",0.136133333333333,0.0976666666666667,0.175733333333333,0.0901333333333333,0.146333333333333,0.1214,0.1036,0.1616,0.107066666666667,0.0940666666666667,0.1084,0.1578,0.106,0.110066666666667,0.159466666666667,0.165466666666667,0.114666666666667,0.176533333333333,0.0939333333333333,0.1182,0.147933333333333,0.0961333333333333,0.129333333333333
|
||||||
|
"383",0.1308,0.0961333333333333,0.169933333333333,0.0888666666666667,0.140733333333333,0.111,0.0946,0.156666666666667,0.106866666666667,0.0945333333333333,0.1024,0.1484,0.0998,0.104533333333333,0.154733333333333,0.158866666666667,0.108266666666667,0.170666666666667,0.0917333333333333,0.109866666666667,0.143133333333333,0.0952666666666667,0.108866666666667
|
||||||
|
"384",0.115066666666667,0.0888666666666667,0.159666666666667,0.0843333333333333,0.136533333333333,0.0997333333333333,0.0921333333333333,0.152933333333333,0.1064,0.0959333333333333,0.100933333333333,0.153,0.0894666666666667,0.0997333333333333,0.1532,0.158,0.1062,0.169066666666667,0.0894,0.1038,0.143533333333333,0.0968666666666667,0.103333333333333
|
||||||
|
"385",0.114533333333333,0.0851333333333333,0.1538,0.0773333333333333,0.132266666666667,0.0932666666666667,0.0888,0.15,0.0949333333333333,0.0871333333333333,0.0953333333333333,0.145066666666667,0.0869333333333333,0.1008,0.148866666666667,0.1502,0.100733333333333,0.161533333333333,0.0865333333333333,0.101,0.139933333333333,0.0935333333333333,0.102466666666667
|
||||||
|
"386",0.115,0.0812,0.149066666666667,0.0706,0.127333333333333,0.0908,0.0842,0.1458,0.0842,0.0754666666666667,0.0906666666666667,0.1326,0.085,0.0988666666666667,0.144133333333333,0.143866666666667,0.0904666666666667,0.152466666666667,0.0822666666666667,0.098,0.133466666666667,0.0858,0.100333333333333
|
||||||
|
"387",0.0992666666666667,0.0726666666666667,0.1418,0.0671333333333333,0.125933333333333,0.0804,0.0796666666666667,0.14,0.0854,0.0739333333333333,0.0879333333333333,0.133066666666667,0.08,0.0904,0.142066666666667,0.1442,0.0891333333333333,0.151066666666667,0.0775333333333333,0.0889333333333333,0.1292,0.0792,0.0977333333333334
|
||||||
|
"388",0.0909333333333333,0.0676666666666667,0.137066666666667,0.0673333333333333,0.124733333333333,0.0752,0.0762666666666667,0.137933333333333,0.0867333333333333,0.0713333333333333,0.0852,0.136466666666667,0.0767333333333333,0.0814,0.1414,0.143466666666667,0.0871333333333333,0.15,0.0726666666666667,0.0845333333333333,0.127133333333333,0.0751333333333333,0.0883333333333333
|
||||||
|
"389",0.0904,0.0695333333333333,0.136466666666667,0.0674666666666667,0.121733333333333,0.0779333333333333,0.0727333333333333,0.139,0.0815333333333333,0.0659333333333333,0.0820666666666667,0.136266666666667,0.0742,0.0746666666666667,0.1408,0.140466666666667,0.0819333333333333,0.147266666666667,0.0699333333333333,0.0844,0.1266,0.0729333333333333,0.0784
|
||||||
|
"390",0.0836666666666667,0.0715333333333333,0.134266666666667,0.0633333333333334,0.1212,0.0746666666666667,0.0696666666666666,0.134533333333333,0.0722666666666667,0.0663333333333333,0.078,0.129133333333333,0.0720666666666667,0.0692666666666667,0.135066666666667,0.136066666666667,0.0756666666666666,0.143733333333333,0.0676,0.0805333333333333,0.1232,0.0664666666666666,0.0818666666666667
|
||||||
|
"391",0.0800666666666667,0.0691333333333333,0.129266666666667,0.0590666666666667,0.121333333333333,0.0705333333333333,0.0670666666666666,0.1286,0.0658,0.0658666666666667,0.0736666666666667,0.121933333333333,0.0702666666666667,0.0682,0.129266666666667,0.130866666666667,0.0728666666666667,0.140333333333333,0.0650666666666667,0.0754,0.1198,0.0619333333333333,0.0861333333333333
|
||||||
|
"392",0.0753333333333333,0.0606,0.123533333333333,0.0570666666666667,0.117266666666667,0.0690666666666667,0.0658,0.126733333333333,0.0662,0.0601333333333333,0.0740666666666667,0.124533333333333,0.0659333333333333,0.0693333333333333,0.130133333333333,0.1314,0.0735333333333333,0.138533333333333,0.0621333333333333,0.0704666666666667,0.120533333333333,0.0628666666666667,0.0816
|
||||||
|
"393",0.0710666666666667,0.0582666666666667,0.120666666666667,0.0558666666666667,0.115133333333333,0.0667333333333333,0.0599333333333333,0.126266666666667,0.0655333333333333,0.0572666666666667,0.0726,0.125,0.061,0.0655333333333333,0.127666666666667,0.129933333333333,0.0700666666666667,0.136533333333333,0.0607333333333333,0.0665333333333333,0.120666666666667,0.0612666666666667,0.0778
|
||||||
|
"394",0.0686,0.0612666666666667,0.12,0.0554666666666667,0.1158,0.0647333333333333,0.0544666666666667,0.125866666666667,0.0624666666666667,0.0582,0.0692,0.122333333333333,0.058,0.0622666666666667,0.1232,0.1266,0.0636666666666667,0.135,0.0607333333333333,0.0648666666666667,0.119466666666667,0.0586666666666667,0.0754666666666667
|
||||||
|
"395",0.0631333333333333,0.0577333333333333,0.120066666666667,0.0546666666666667,0.114866666666667,0.0645333333333333,0.056,0.121866666666667,0.0619333333333333,0.0576666666666667,0.0686666666666667,0.12,0.0574666666666667,0.0630666666666667,0.1212,0.1264,0.0619333333333333,0.130933333333333,0.0578666666666667,0.0645333333333333,0.115666666666667,0.0568666666666667,0.07
|
||||||
|
"396",0.0605333333333333,0.0544666666666667,0.116,0.0532666666666667,0.113333333333333,0.0618,0.0567333333333333,0.119466666666667,0.0629333333333333,0.0543333333333333,0.0680666666666667,0.118133333333333,0.0566666666666667,0.0622666666666667,0.120533333333333,0.125666666666667,0.0612,0.1284,0.0553333333333334,0.0633333333333333,0.1136,0.0557333333333333,0.0665333333333333
|
||||||
|
"397",0.0608,0.0544666666666667,0.111733333333333,0.0508,0.111466666666667,0.0584666666666667,0.0555333333333333,0.121266666666667,0.0612,0.0517333333333333,0.0673333333333333,0.116933333333333,0.0555333333333333,0.0586666666666667,0.1194,0.124266666666667,0.0617333333333333,0.1286,0.0534,0.061,0.115533333333333,0.0551333333333333,0.068
|
||||||
|
"398",0.0582,0.0534,0.1098,0.0489333333333333,0.1104,0.0556666666666667,0.0557333333333333,0.120466666666667,0.0569333333333334,0.0515333333333333,0.0652666666666667,0.117,0.0539333333333334,0.0582,0.117466666666667,0.122733333333333,0.0623333333333333,0.1262,0.0529333333333333,0.0595333333333333,0.113133333333333,0.0536,0.0657333333333333
|
||||||
|
"399",0.0558,0.0525333333333333,0.111133333333333,0.0488,0.110933333333333,0.0539333333333333,0.0558,0.117933333333333,0.0552666666666667,0.0514,0.0636,0.1176,0.0534,0.0569333333333333,0.1156,0.121466666666667,0.0617333333333333,0.123666666666667,0.0518,0.0586666666666667,0.1096,0.0522666666666667,0.0612
|
||||||
|
"400",0.0558666666666667,0.0537333333333333,0.111733333333333,0.0482666666666667,0.111933333333333,0.0562,0.0518666666666667,0.117533333333333,0.0564,0.0520666666666667,0.0630666666666667,0.114666666666667,0.0522666666666667,0.0526,0.114533333333333,0.1212,0.0592666666666667,0.124866666666667,0.0502,0.0565333333333333,0.1096,0.052,0.06
|
||||||
|
"401",0.0554666666666667,0.0522,0.11,0.0475333333333333,0.111533333333333,0.0566,0.05,0.116866666666667,0.0555333333333333,0.052,0.0628666666666667,0.112133333333333,0.0516666666666667,0.0530666666666667,0.1148,0.121133333333333,0.0578,0.125333333333333,0.0492,0.0562666666666667,0.110266666666667,0.0512,0.0598
|
||||||
|
"402",0.0534666666666667,0.0487333333333333,0.107533333333333,0.047,0.110733333333333,0.0534666666666667,0.0505333333333333,0.1156,0.053,0.0506,0.0628,0.1108,0.0505333333333333,0.0569333333333333,0.114133333333333,0.120866666666667,0.057,0.125066666666667,0.0488666666666667,0.0566666666666667,0.111,0.0491333333333333,0.0594
|
||||||
|
"403",0.049,0.0485333333333333,0.1078,0.0467333333333333,0.110333333333333,0.0536666666666667,0.0489333333333333,0.1154,0.0516,0.0500666666666667,0.0637333333333334,0.112,0.0484666666666667,0.0557333333333333,0.113,0.120666666666667,0.0557333333333333,0.1254,0.0494666666666667,0.0560666666666667,0.1092,0.0477333333333333,0.0599333333333334
|
||||||
|
"404",0.0488,0.0492,0.108066666666667,0.0463333333333333,0.109933333333333,0.0542,0.048,0.114666666666667,0.0508666666666667,0.049,0.0632,0.112,0.0472,0.0534,0.1136,0.120733333333333,0.0559333333333334,0.1244,0.0501333333333333,0.0552,0.1082,0.0478666666666667,0.0603333333333333
|
||||||
|
"405",0.0521333333333333,0.0483333333333333,0.107933333333333,0.0452,0.109133333333333,0.0523333333333333,0.0477333333333333,0.113066666666667,0.0508,0.0464666666666667,0.0615333333333333,0.109866666666667,0.0466666666666667,0.0507333333333333,0.115866666666667,0.121666666666667,0.056,0.122133333333333,0.0496666666666667,0.0541333333333334,0.108333333333333,0.0489333333333333,0.0578666666666667
|
||||||
|
"406",0.0514,0.0464666666666667,0.106666666666667,0.0454,0.109,0.0534,0.0471333333333333,0.113266666666667,0.0515333333333333,0.0467333333333333,0.0612666666666667,0.111333333333333,0.047,0.0502,0.115,0.120133333333333,0.0545333333333334,0.120533333333333,0.0477333333333333,0.0526666666666667,0.108133333333333,0.047,0.0570666666666667
|
||||||
|
"407",0.048,0.0452666666666667,0.105333333333333,0.0459333333333333,0.109133333333333,0.0536666666666667,0.0468,0.1136,0.0518666666666667,0.0480666666666667,0.0620666666666667,0.1124,0.0474666666666667,0.0505333333333333,0.1124,0.117866666666667,0.0520666666666667,0.1206,0.0463333333333333,0.0517333333333333,0.107733333333333,0.0444,0.0572
|
||||||
|
"408",0.0484666666666667,0.0463333333333333,0.106066666666667,0.0445333333333333,0.1088,0.0512,0.0462666666666667,0.113066666666667,0.0513333333333333,0.0476666666666667,0.0612666666666667,0.1098,0.0467333333333333,0.0516,0.1116,0.1178,0.0535333333333333,0.1214,0.0462666666666667,0.0523333333333333,0.107666666666667,0.0449333333333333,0.0566666666666667
|
||||||
|
"409",0.0482666666666667,0.0458,0.105733333333333,0.0438,0.107933333333333,0.0503333333333333,0.0462,0.112733333333333,0.0508666666666667,0.0473333333333333,0.0604666666666667,0.1078,0.0466,0.0516666666666667,0.110666666666667,0.117866666666667,0.0532666666666667,0.1208,0.0466,0.053,0.107866666666667,0.0449333333333333,0.0564666666666667
|
||||||
|
"410",0.0466,0.045,0.104066666666667,0.0439333333333333,0.107,0.0517333333333333,0.0456666666666667,0.112266666666667,0.0506666666666667,0.0468,0.06,0.1076,0.0462666666666667,0.0496,0.109933333333333,0.118,0.0500666666666667,0.119066666666667,0.0466,0.0524666666666667,0.107133333333333,0.0440666666666667,0.0564666666666667
|
||||||
|
"411",0.0469333333333333,0.0456,0.103133333333333,0.0434,0.107066666666667,0.0508,0.0451333333333333,0.1124,0.0501333333333333,0.0455333333333333,0.0596,0.109466666666667,0.0464666666666667,0.0502666666666667,0.110733333333333,0.117533333333333,0.0485333333333333,0.118666666666667,0.0454666666666667,0.0512666666666667,0.1066,0.0436,0.0559333333333333
|
||||||
|
"412",0.0476,0.0456666666666667,0.102466666666667,0.0426,0.106933333333333,0.0506,0.0456666666666667,0.1124,0.0493333333333333,0.0448666666666667,0.0592,0.109933333333333,0.0462,0.0502,0.1106,0.117133333333333,0.0486666666666667,0.1182,0.0441333333333333,0.0505333333333333,0.106666666666667,0.0445333333333333,0.0544
|
||||||
|
"413",0.0456,0.0448,0.101333333333333,0.0425333333333333,0.106533333333333,0.0504666666666667,0.0458666666666667,0.1124,0.0493333333333333,0.0447333333333333,0.0598,0.108533333333333,0.0446,0.0477333333333333,0.108933333333333,0.117066666666667,0.0493333333333333,0.118,0.0448,0.0508,0.107,0.0447333333333333,0.0538666666666667
|
||||||
|
"414",0.0455333333333333,0.0450666666666667,0.101866666666667,0.0429333333333333,0.107,0.0499333333333333,0.0452,0.112333333333333,0.0482,0.0444666666666667,0.0599333333333333,0.1078,0.0447333333333333,0.0463333333333333,0.108266666666667,0.1168,0.0507333333333333,0.117666666666667,0.0444,0.0507333333333333,0.106466666666667,0.0446,0.0538
|
||||||
|
"415",0.0474666666666667,0.0454666666666667,0.102133333333333,0.0436,0.1076,0.0492666666666667,0.0446,0.1122,0.0472,0.0439333333333333,0.0599333333333333,0.108466666666667,0.0452,0.0468,0.108533333333333,0.1164,0.0513333333333333,0.1178,0.0436666666666667,0.05,0.105933333333333,0.044,0.0532666666666667
|
||||||
|
"416",0.0467333333333333,0.0458,0.102866666666667,0.0421333333333333,0.1074,0.0490666666666667,0.0449333333333333,0.111266666666667,0.0494,0.045,0.0594666666666667,0.1086,0.0444,0.0488,0.110133333333333,0.1178,0.0504,0.118133333333333,0.0441333333333333,0.0504666666666667,0.105866666666667,0.043,0.0533333333333334
|
||||||
|
"417",0.0460666666666667,0.0454,0.102466666666667,0.042,0.106866666666667,0.0482666666666667,0.0450666666666667,0.111,0.0505333333333333,0.0452,0.0593333333333333,0.1084,0.0441333333333333,0.0491333333333333,0.1106,0.1186,0.0494,0.1186,0.0445333333333333,0.0506,0.1058,0.0426666666666667,0.0535333333333333
|
||||||
|
"418",0.0459333333333333,0.0439333333333333,0.100933333333333,0.0433333333333333,0.106733333333333,0.0471333333333333,0.0446,0.110866666666667,0.0490666666666667,0.0442666666666667,0.0602,0.108,0.0448666666666667,0.0482666666666667,0.109466666666667,0.118266666666667,0.0501333333333333,0.118866666666667,0.0440666666666667,0.0494666666666667,0.1052,0.0428666666666667,0.053
|
||||||
|
"419",0.0460666666666667,0.0439333333333333,0.0999333333333333,0.0426,0.1066,0.0481333333333333,0.0444666666666667,0.110866666666667,0.0475333333333333,0.0441333333333333,0.0594666666666667,0.108,0.0444666666666667,0.0476,0.109066666666667,0.117666666666667,0.0510666666666667,0.117666666666667,0.0437333333333333,0.0490666666666667,0.105533333333333,0.0434,0.0531333333333334
|
||||||
|
"420",0.0460666666666667,0.0436666666666667,0.0999333333333333,0.0414,0.106733333333333,0.0493333333333333,0.044,0.110666666666667,0.0464,0.044,0.0584666666666667,0.1078,0.0441333333333333,0.0474,0.108933333333333,0.117066666666667,0.0512666666666667,0.117066666666667,0.0430666666666667,0.0487333333333333,0.1058,0.0436,0.0538
|
||||||
|
"421",0.0461333333333333,0.0432,0.101266666666667,0.0424666666666667,0.1068,0.0481333333333333,0.0435333333333333,0.110333333333333,0.0459333333333333,0.0438666666666667,0.0585333333333333,0.106533333333333,0.0447333333333333,0.0476,0.1086,0.116733333333333,0.0498666666666667,0.117,0.0429333333333333,0.0488,0.105333333333333,0.0432,0.0536666666666667
|
||||||
|
"422",0.0455333333333333,0.043,0.1016,0.0432666666666667,0.107133333333333,0.0482666666666667,0.0431333333333333,0.110333333333333,0.0459333333333333,0.0438,0.0588666666666667,0.106333333333333,0.0448666666666667,0.0474666666666667,0.1086,0.116533333333333,0.049,0.117,0.043,0.049,0.105133333333333,0.0431333333333333,0.0526666666666667
|
||||||
|
"423",0.0453333333333333,0.0433333333333333,0.100866666666667,0.0425333333333333,0.107,0.0497333333333333,0.0432666666666667,0.110733333333333,0.0466666666666667,0.0437333333333333,0.0586666666666667,0.106733333333333,0.0446666666666667,0.0467333333333333,0.108533333333333,0.116933333333333,0.0486666666666667,0.117266666666667,0.0431333333333333,0.0493333333333333,0.1054,0.0432,0.0523333333333333
|
||||||
|
"424",0.0452666666666667,0.0434666666666667,0.100066666666667,0.0424666666666667,0.106466666666667,0.0490666666666667,0.0434,0.1102,0.0470666666666667,0.0438,0.0583333333333333,0.106066666666667,0.0437333333333333,0.0474,0.1086,0.117,0.0499333333333334,0.117266666666667,0.0426,0.0497333333333333,0.1058,0.043,0.0531333333333334
|
||||||
|
"425",0.0450666666666667,0.0435333333333333,0.0993333333333333,0.0421333333333333,0.105933333333333,0.048,0.0436,0.109866666666667,0.047,0.0438,0.0582666666666667,0.105933333333333,0.0432666666666667,0.0477333333333333,0.1082,0.117,0.0504666666666667,0.117133333333333,0.0422666666666667,0.0490666666666667,0.105666666666667,0.0429333333333333,0.053
|
||||||
|
"426",0.0452666666666667,0.0426,0.0992,0.0418,0.106333333333333,0.0468,0.044,0.109866666666667,0.0462666666666667,0.0436,0.0585333333333333,0.1066,0.0436,0.0471333333333333,0.106933333333333,0.1168,0.0492666666666667,0.117466666666667,0.0430666666666667,0.0481333333333333,0.105133333333333,0.0438,0.0522666666666667
|
||||||
|
"427",0.0448666666666667,0.0427333333333333,0.0992,0.0416,0.106666666666667,0.0470666666666667,0.0438666666666667,0.109666666666667,0.0463333333333333,0.0433333333333333,0.0582666666666667,0.105866666666667,0.0434,0.0466666666666667,0.107133333333333,0.1164,0.0486666666666667,0.117133333333333,0.0431333333333333,0.0480666666666667,0.105066666666667,0.0436666666666667,0.0520666666666667
|
||||||
|
"428",0.0448666666666667,0.0433333333333333,0.0992,0.0415333333333333,0.1066,0.0473333333333333,0.0436666666666667,0.1098,0.0466666666666667,0.0434666666666667,0.0581333333333333,0.105066666666667,0.0434666666666667,0.0469333333333333,0.108133333333333,0.116533333333333,0.0480666666666667,0.116933333333333,0.0429333333333333,0.0482,0.105133333333333,0.0431333333333333,0.0524666666666667
|
||||||
|
"429",0.0448666666666667,0.0436,0.0988666666666667,0.0417333333333333,0.106133333333333,0.0468,0.0431333333333333,0.1092,0.0459333333333333,0.0438,0.0583333333333333,0.106066666666667,0.0437333333333333,0.0471333333333333,0.108133333333333,0.118,0.048,0.1172,0.043,0.0477333333333333,0.104733333333333,0.0418,0.0526666666666667
|
||||||
|
"430",0.0444,0.043,0.0988,0.0416,0.106066666666667,0.0467333333333333,0.0427333333333333,0.108933333333333,0.046,0.0432666666666667,0.0583333333333333,0.106466666666667,0.0436,0.0470666666666667,0.108066666666667,0.118466666666667,0.0486,0.116933333333333,0.0430666666666667,0.048,0.1044,0.0418666666666667,0.0532
|
||||||
|
"431",0.044,0.0420666666666667,0.0990666666666667,0.0414,0.105733333333333,0.0464666666666667,0.0429333333333333,0.109266666666667,0.0466666666666667,0.0426,0.0580666666666667,0.106066666666667,0.0433333333333333,0.0466,0.107733333333333,0.118066666666667,0.0490666666666667,0.116333333333333,0.0427333333333333,0.0486,0.1044,0.0429333333333333,0.0536666666666667
|
||||||
|
"432",0.0447333333333333,0.0425333333333333,0.0984,0.0414666666666667,0.1054,0.0466666666666667,0.043,0.109466666666667,0.0467333333333333,0.0428666666666667,0.0578,0.1064,0.0440666666666667,0.0468,0.1072,0.117466666666667,0.0492666666666667,0.116,0.0426666666666667,0.0482666666666667,0.1044,0.043,0.0531333333333334
|
||||||
|
"433",0.045,0.0428666666666667,0.0984666666666667,0.0418,0.105533333333333,0.047,0.0428,0.109266666666667,0.0464,0.043,0.0575333333333333,0.1066,0.0447333333333333,0.0470666666666667,0.107133333333333,0.117,0.0494,0.115866666666667,0.0426666666666667,0.0481333333333333,0.1046,0.0430666666666667,0.0518666666666667
|
||||||
|
"434",0.0450666666666667,0.0427333333333333,0.0996666666666666,0.0421333333333333,0.105933333333333,0.0473333333333333,0.0428,0.1086,0.0456,0.0431333333333333,0.0578666666666667,0.106333333333333,0.0436,0.0475333333333333,0.107333333333333,0.1168,0.0492666666666667,0.1156,0.0424,0.0484666666666667,0.104533333333333,0.0435333333333333,0.051
|
||||||
|
"435",0.0446666666666667,0.0425333333333333,0.0993333333333333,0.042,0.1062,0.0469333333333333,0.0428666666666667,0.1084,0.0457333333333333,0.0432,0.0576666666666667,0.105733333333333,0.0432,0.0474,0.1076,0.116933333333333,0.0488,0.116,0.0422,0.0482,0.1044,0.0434,0.0517333333333333
|
||||||
|
"436",0.0442,0.043,0.0980666666666667,0.0418,0.106333333333333,0.0462,0.0425333333333333,0.108666666666667,0.0461333333333333,0.0430666666666667,0.0572,0.1054,0.0436666666666667,0.0465333333333333,0.107533333333333,0.117266666666667,0.0480666666666667,0.116533333333333,0.0419333333333333,0.0479333333333333,0.104,0.0428666666666667,0.0528666666666667
|
||||||
|
"437",0.0438,0.0428666666666667,0.0981333333333333,0.0419333333333333,0.105666666666667,0.0465333333333333,0.0426,0.108733333333333,0.0468,0.0423333333333333,0.0578666666666667,0.105666666666667,0.0430666666666667,0.0462666666666667,0.107266666666667,0.1174,0.0483333333333333,0.116133333333333,0.0417333333333333,0.0476,0.1046,0.0427333333333333,0.052
|
||||||
|
"438",0.0433333333333333,0.0422666666666667,0.0983333333333333,0.0415333333333333,0.105666666666667,0.0464,0.0427333333333333,0.109266666666667,0.0465333333333333,0.0420666666666667,0.0584,0.105533333333333,0.0424,0.0459333333333333,0.107133333333333,0.1176,0.0484666666666667,0.115733333333333,0.0416666666666667,0.0473333333333333,0.104933333333333,0.0426666666666667,0.0512
|
||||||
|
"439",0.0428,0.0418,0.0977333333333333,0.0412666666666667,0.1062,0.0456666666666667,0.0428,0.109333333333333,0.0458666666666667,0.0426666666666667,0.0582,0.105066666666667,0.0426666666666667,0.0462,0.106866666666667,0.1176,0.0482666666666667,0.116,0.0419333333333333,0.0471333333333333,0.104866666666667,0.0422,0.0509333333333334
|
||||||
|
"440",0.0430666666666667,0.0420666666666667,0.0980666666666667,0.0410666666666667,0.105866666666667,0.0461333333333333,0.0427333333333333,0.109,0.0456,0.042,0.0584,0.105533333333333,0.0426666666666667,0.0464,0.107466666666667,0.1176,0.0485333333333333,0.1162,0.0424,0.0472666666666667,0.104666666666667,0.0423333333333333,0.051
|
||||||
|
"441",0.0436,0.0426,0.0984,0.0412,0.105466666666667,0.0469333333333333,0.0424,0.1088,0.046,0.0414666666666667,0.0583333333333333,0.106,0.0429333333333333,0.0466666666666667,0.1076,0.117266666666667,0.0482,0.115866666666667,0.0426666666666667,0.0476,0.104466666666667,0.0426,0.0512
|
||||||
|
"442",0.044,0.0422666666666667,0.0981333333333333,0.0416,0.105666666666667,0.0471333333333333,0.0424666666666667,0.108733333333333,0.0466,0.0424666666666667,0.0578666666666667,0.1064,0.0432,0.0466,0.1072,0.117133333333333,0.0476,0.115933333333333,0.0424666666666667,0.0474,0.104533333333333,0.0427333333333333,0.0507333333333333
|
||||||
|
"443",0.0436,0.0414666666666667,0.0978,0.0416666666666667,0.1058,0.0465333333333333,0.0426,0.108666666666667,0.0462666666666667,0.0425333333333333,0.0579333333333333,0.106066666666667,0.0430666666666667,0.0464,0.107133333333333,0.1172,0.0474666666666667,0.1162,0.0420666666666667,0.0474666666666667,0.104333333333333,0.0428,0.0508
|
||||||
|
"444",0.0428666666666667,0.0406666666666667,0.0978666666666666,0.0414666666666667,0.1058,0.0459333333333333,0.0426,0.108666666666667,0.0454,0.0418666666666667,0.0584666666666667,0.105266666666667,0.0426666666666667,0.0462666666666667,0.107466666666667,0.117133333333333,0.0478666666666667,0.116133333333333,0.042,0.0477333333333333,0.1042,0.0428,0.0512666666666667
|
||||||
|
"445",0.0426666666666667,0.0416666666666667,0.0980666666666667,0.0414666666666667,0.105866666666667,0.0459333333333333,0.0426666666666667,0.108933333333333,0.0458666666666667,0.0425333333333333,0.0588,0.104933333333333,0.0425333333333333,0.0461333333333333,0.1068,0.117466666666667,0.0482,0.1158,0.0419333333333333,0.0474,0.104133333333333,0.0419333333333333,0.051
|
||||||
|
"446",0.0429333333333333,0.0421333333333333,0.0981333333333333,0.0416666666666667,0.106,0.0461333333333333,0.0427333333333333,0.108866666666667,0.0461333333333333,0.0430666666666667,0.0592,0.105333333333333,0.0428,0.0460666666666667,0.1068,0.1176,0.0484666666666667,0.115866666666667,0.0418,0.0470666666666667,0.104333333333333,0.0416666666666667,0.0504666666666667
|
||||||
|
"447",0.0433333333333333,0.0416666666666667,0.0978,0.0416,0.1058,0.047,0.0430666666666667,0.1086,0.0451333333333333,0.0425333333333333,0.0593333333333333,0.1056,0.0427333333333333,0.0468666666666667,0.107,0.117733333333333,0.0488666666666667,0.1162,0.0417333333333333,0.0472,0.104333333333333,0.0427333333333333,0.0512666666666667
|
||||||
|
"448",0.0435333333333333,0.0419333333333333,0.0976666666666666,0.0414666666666667,0.105666666666667,0.0465333333333333,0.0427333333333333,0.1086,0.0451333333333333,0.0425333333333333,0.0594666666666667,0.1056,0.0428666666666667,0.0466666666666667,0.107333333333333,0.118066666666667,0.0489333333333333,0.116466666666667,0.0419333333333333,0.0472666666666667,0.1046,0.0428666666666667,0.0516
|
||||||
|
"449",0.0435333333333333,0.0426666666666667,0.0974,0.0414,0.1058,0.0453333333333333,0.0421333333333333,0.108733333333333,0.0454,0.0428,0.0594666666666667,0.105866666666667,0.0428666666666667,0.0463333333333333,0.107,0.118333333333333,0.0486,0.116066666666667,0.0420666666666667,0.0473333333333333,0.104733333333333,0.0426,0.0514666666666667
|
||||||
|
"450",0.044,0.0420666666666667,0.098,0.0412,0.105666666666667,0.0450666666666667,0.0426666666666667,0.108666666666667,0.0454,0.0421333333333333,0.0603333333333333,0.105733333333333,0.0426666666666667,0.0462666666666667,0.1068,0.118933333333333,0.0486,0.116266666666667,0.0424,0.0476,0.104466666666667,0.0425333333333333,0.0508
|
||||||
|
"451",0.0438,0.0416666666666667,0.0980666666666667,0.0410666666666667,0.105533333333333,0.046,0.0428666666666667,0.108733333333333,0.0451333333333333,0.0418666666666667,0.0607333333333333,0.105933333333333,0.0426666666666667,0.0461333333333333,0.1068,0.119,0.0486,0.116133333333333,0.0422666666666667,0.0477333333333333,0.104533333333333,0.0424666666666667,0.0512
|
||||||
|
"452",0.0428,0.0423333333333333,0.0975333333333333,0.0414,0.1056,0.047,0.0426,0.109,0.0445333333333333,0.0421333333333333,0.0606,0.105933333333333,0.0428,0.0460666666666667,0.1068,0.1188,0.0486666666666667,0.115866666666667,0.042,0.0475333333333333,0.105066666666667,0.0424666666666667,0.0521333333333334
|
||||||
|
"453",0.0434,0.043,0.0980666666666667,0.0415333333333333,0.105733333333333,0.047,0.0421333333333333,0.1092,0.0448666666666667,0.0425333333333333,0.0605333333333333,0.105466666666667,0.0428,0.0463333333333333,0.107066666666667,0.1192,0.0490666666666667,0.1156,0.042,0.0476666666666667,0.105,0.0426,0.0519333333333334
|
||||||
|
"454",0.0434666666666667,0.0431333333333333,0.0984,0.0415333333333333,0.105666666666667,0.0468666666666667,0.0421333333333333,0.109,0.0449333333333333,0.0425333333333333,0.0606,0.105133333333333,0.0427333333333333,0.0465333333333333,0.107133333333333,0.119333333333333,0.0488666666666667,0.115733333333333,0.0422,0.0476666666666667,0.104866666666667,0.0426666666666667,0.0510666666666667
|
||||||
|
"455",0.043,0.043,0.0976,0.0414,0.106,0.0466,0.0426666666666667,0.1086,0.0444666666666667,0.0429333333333333,0.0604666666666667,0.105666666666667,0.0428666666666667,0.0464,0.107,0.119066666666667,0.0483333333333333,0.116333333333333,0.0417333333333333,0.0472,0.104666666666667,0.0424,0.0506666666666667
|
||||||
|
"456",0.0433333333333333,0.0424666666666667,0.0975333333333333,0.0417333333333333,0.106,0.0464666666666667,0.0428,0.108533333333333,0.0444,0.0428666666666667,0.0609333333333333,0.106,0.0429333333333333,0.0465333333333333,0.107133333333333,0.119333333333333,0.0485333333333333,0.116133333333333,0.0418666666666667,0.0471333333333333,0.1042,0.0422,0.0508
|
||||||
|
"457",0.044,0.0421333333333333,0.0978666666666667,0.042,0.1056,0.0462666666666667,0.0424,0.108866666666667,0.0444,0.0428,0.0614,0.106,0.0426666666666667,0.0464666666666667,0.107266666666667,0.12,0.0489333333333333,0.115333333333333,0.042,0.0471333333333333,0.1038,0.0423333333333333,0.0508
|
||||||
|
"458",0.0438666666666667,0.0419333333333333,0.0974,0.0416666666666667,0.1058,0.0470666666666667,0.0422,0.1088,0.0449333333333333,0.0424,0.0614,0.105933333333333,0.0426,0.046,0.107,0.119533333333333,0.0482666666666667,0.115866666666667,0.0421333333333333,0.0469333333333333,0.104,0.0424666666666667,0.051
|
||||||
|
"459",0.0434,0.0418,0.0973333333333333,0.0415333333333333,0.105933333333333,0.0470666666666667,0.0422,0.1086,0.0452,0.0419333333333333,0.0612666666666667,0.105733333333333,0.0426,0.0460666666666667,0.107,0.119266666666667,0.048,0.116266666666667,0.0422,0.0469333333333333,0.1042,0.0425333333333333,0.0512
|
||||||
|
"460",0.0429333333333333,0.0419333333333333,0.0973333333333333,0.0413333333333333,0.105866666666667,0.0459333333333333,0.0422666666666667,0.1084,0.045,0.042,0.0612666666666667,0.105933333333333,0.0427333333333333,0.0462666666666667,0.106866666666667,0.119733333333333,0.0483333333333333,0.1156,0.0419333333333333,0.0475333333333333,0.104,0.0424,0.0516666666666667
|
||||||
|
"461",0.043,0.0419333333333333,0.0976666666666667,0.0415333333333333,0.1058,0.0456,0.0424666666666667,0.108466666666667,0.0447333333333333,0.0419333333333333,0.0612666666666667,0.1056,0.0427333333333333,0.0468666666666667,0.106333333333333,0.119466666666667,0.0482,0.115533333333333,0.0416,0.0472,0.104133333333333,0.0421333333333333,0.0518
|
||||||
|
"462",0.0433333333333333,0.0418666666666667,0.0981333333333333,0.0414,0.1058,0.0458666666666667,0.0424666666666667,0.108733333333333,0.0442666666666667,0.0422666666666667,0.0608,0.105266666666667,0.0426666666666667,0.0468666666666667,0.106266666666667,0.118866666666667,0.0484666666666667,0.115666666666667,0.0416666666666667,0.0468666666666667,0.104466666666667,0.0419333333333333,0.0514666666666667
|
||||||
|
"463",0.0435333333333333,0.0416666666666667,0.0978,0.041,0.105466666666667,0.0464,0.042,0.1084,0.0445333333333333,0.0426666666666667,0.0607333333333333,0.105266666666667,0.0426,0.047,0.1066,0.1192,0.0492666666666667,0.1156,0.0418666666666667,0.0471333333333333,0.1044,0.0424666666666667,0.0512
|
||||||
|
"464",0.0432,0.0416,0.0974666666666667,0.0411333333333333,0.1056,0.0466666666666667,0.0417333333333333,0.108466666666667,0.0450666666666667,0.0422666666666667,0.0607333333333333,0.1056,0.0425333333333333,0.0467333333333333,0.106866666666667,0.119266666666667,0.0490666666666667,0.115466666666667,0.0416666666666667,0.0472,0.1046,0.0425333333333333,0.0510666666666667
|
||||||
|
"465",0.0427333333333333,0.0417333333333333,0.0974,0.0416,0.106066666666667,0.0462,0.0418,0.108533333333333,0.0454666666666667,0.0419333333333333,0.0611333333333333,0.105666666666667,0.0424,0.0466,0.106933333333333,0.119333333333333,0.0482666666666667,0.115466666666667,0.0412,0.047,0.1046,0.0426,0.0512
|
||||||
|
"466",0.0425333333333333,0.0416666666666667,0.097,0.0416666666666667,0.1056,0.0458666666666667,0.0421333333333333,0.108466666666667,0.0450666666666667,0.0418666666666667,0.0608666666666667,0.1052,0.0424666666666667,0.0464,0.106866666666667,0.1196,0.0479333333333333,0.115466666666667,0.0414666666666667,0.047,0.104466666666667,0.0422666666666667,0.0508666666666667
|
||||||
|
"467",0.0426,0.0416,0.097,0.0416,0.105266666666667,0.0458,0.0420666666666667,0.108333333333333,0.0447333333333333,0.0418,0.0606666666666667,0.105,0.0427333333333333,0.0464666666666667,0.106866666666667,0.1196,0.0478666666666667,0.115266666666667,0.0415333333333333,0.0470666666666667,0.103933333333333,0.0419333333333333,0.0507333333333333
|
||||||
|
"468",0.0431333333333333,0.0419333333333333,0.0968666666666666,0.0415333333333333,0.1054,0.0457333333333333,0.042,0.108266666666667,0.0446,0.0422666666666667,0.0608666666666667,0.105333333333333,0.0426666666666667,0.0467333333333333,0.106866666666667,0.119466666666667,0.0477333333333333,0.115533333333333,0.0414666666666667,0.047,0.104066666666667,0.0419333333333333,0.051
|
||||||
|
"469",0.0428666666666667,0.0417333333333333,0.0967333333333333,0.0413333333333333,0.1054,0.0464,0.042,0.1082,0.0444,0.0416666666666667,0.0608666666666667,0.1054,0.0424666666666667,0.0467333333333333,0.106933333333333,0.119466666666667,0.0482,0.115266666666667,0.0414,0.0471333333333333,0.103733333333333,0.042,0.0507333333333333
|
||||||
|
"470",0.0422,0.0413333333333333,0.0964666666666666,0.0413333333333333,0.105466666666667,0.0470666666666667,0.0418666666666667,0.108133333333333,0.0444666666666667,0.0414666666666667,0.0606,0.105,0.0422666666666667,0.0466,0.106866666666667,0.119266666666667,0.0482,0.114933333333333,0.0414666666666667,0.0471333333333333,0.103666666666667,0.0417333333333333,0.0508666666666667
|
||||||
|
"471",0.0422666666666667,0.0416,0.0968,0.0412,0.105533333333333,0.0466666666666667,0.0418,0.108266666666667,0.0446,0.0418,0.0608,0.105066666666667,0.0419333333333333,0.0462,0.106733333333333,0.119466666666667,0.0476666666666667,0.1152,0.0414666666666667,0.047,0.1034,0.0413333333333333,0.0504
|
||||||
|
"472",0.0424,0.0419333333333333,0.0970666666666667,0.0411333333333333,0.105733333333333,0.0466,0.0418,0.1084,0.0443333333333333,0.0422,0.0609333333333333,0.1054,0.0421333333333333,0.0462,0.106666666666667,0.119466666666667,0.0476,0.115533333333333,0.0412666666666667,0.0468666666666667,0.103466666666667,0.0414,0.0502666666666667
|
||||||
|
"473",0.0431333333333333,0.0421333333333333,0.0971333333333333,0.0412666666666667,0.105733333333333,0.0469333333333333,0.0420666666666667,0.108466666666667,0.0441333333333333,0.0424,0.061,0.105266666666667,0.0425333333333333,0.0459333333333333,0.1066,0.1192,0.0479333333333333,0.115666666666667,0.0414666666666667,0.0465333333333333,0.1038,0.0415333333333333,0.0501333333333333
|
||||||
|
"474",0.0428666666666667,0.0416666666666667,0.0967333333333333,0.041,0.1056,0.0467333333333333,0.0422,0.1084,0.0443333333333333,0.0421333333333333,0.061,0.105266666666667,0.0423333333333333,0.0463333333333333,0.106733333333333,0.1194,0.0482,0.1156,0.0416,0.0466666666666667,0.1038,0.0416666666666667,0.0506666666666667
|
||||||
|
"475",0.0428666666666667,0.0416666666666667,0.0964666666666667,0.041,0.105666666666667,0.0461333333333333,0.0420666666666667,0.1084,0.0449333333333333,0.0416666666666667,0.0608,0.105133333333333,0.0417333333333333,0.047,0.106733333333333,0.119333333333333,0.0483333333333333,0.1158,0.0415333333333333,0.0469333333333333,0.104133333333333,0.0418,0.0508
|
||||||
|
"476",0.0434,0.0420666666666667,0.0965333333333333,0.041,0.1056,0.0461333333333333,0.0418,0.108133333333333,0.045,0.0421333333333333,0.061,0.104533333333333,0.0418,0.0464666666666667,0.106866666666667,0.1192,0.0481333333333333,0.115533333333333,0.0409333333333333,0.0471333333333333,0.104,0.0422,0.0497333333333333
|
||||||
|
"477",0.0434666666666667,0.0418666666666667,0.0969333333333333,0.0414,0.105333333333333,0.0460666666666667,0.0416666666666667,0.1082,0.0446,0.0422,0.0611333333333333,0.104733333333333,0.0419333333333333,0.0464,0.107,0.119466666666667,0.0482,0.115266666666667,0.0410666666666667,0.0468,0.104133333333333,0.0424,0.0496666666666667
|
||||||
|
"478",0.0430666666666667,0.0414666666666667,0.0966666666666667,0.0409333333333333,0.105066666666667,0.046,0.0418666666666667,0.108266666666667,0.0446,0.0420666666666667,0.0613333333333333,0.105866666666667,0.0421333333333333,0.0466,0.107,0.1196,0.048,0.114933333333333,0.0409333333333333,0.0464666666666667,0.103866666666667,0.0422,0.0501333333333333
|
||||||
|
"479",0.0426,0.0415333333333333,0.0961333333333333,0.0410666666666667,0.105,0.046,0.0416,0.108,0.0441333333333333,0.0419333333333333,0.061,0.104933333333333,0.0423333333333333,0.0466666666666667,0.106533333333333,0.1196,0.0476666666666667,0.114866666666667,0.0411333333333333,0.0463333333333333,0.1038,0.0420666666666667,0.0498
|
||||||
|
"480",0.0420666666666667,0.0413333333333333,0.096,0.0408666666666667,0.105133333333333,0.046,0.0414,0.108,0.044,0.0418666666666667,0.0609333333333333,0.1044,0.0422,0.0466666666666667,0.106333333333333,0.1196,0.0474,0.115,0.0409333333333333,0.0466,0.103666666666667,0.0416666666666667,0.0496
|
||||||
|
"481",0.0425333333333333,0.0413333333333333,0.0964,0.041,0.1054,0.0461333333333333,0.0417333333333333,0.1082,0.0441333333333333,0.0420666666666667,0.0617333333333333,0.104733333333333,0.0419333333333333,0.0464666666666667,0.106466666666667,0.1198,0.0474,0.1152,0.0410666666666667,0.0468,0.1036,0.0416666666666667,0.0496666666666667
|
||||||
|
"482",0.0423333333333333,0.0413333333333333,0.0964,0.041,0.105333333333333,0.0464666666666667,0.0416666666666667,0.108133333333333,0.0442666666666667,0.0418666666666667,0.0615333333333333,0.105,0.0417333333333333,0.0468,0.106466666666667,0.119533333333333,0.0476666666666667,0.1152,0.0412,0.0466666666666667,0.103666666666667,0.0417333333333333,0.0499333333333334
|
||||||
|
"483",0.0423333333333333,0.0415333333333333,0.0963333333333333,0.0409333333333333,0.105066666666667,0.0464666666666667,0.0412,0.107933333333333,0.0444666666666667,0.0419333333333333,0.0613333333333333,0.1052,0.0417333333333333,0.0465333333333333,0.1066,0.119333333333333,0.0477333333333333,0.1148,0.0408,0.0468666666666667,0.103733333333333,0.0416,0.0502666666666667
|
||||||
|
"484",0.0429333333333333,0.0412,0.0963333333333333,0.0409333333333333,0.104933333333333,0.0461333333333333,0.0414,0.107933333333333,0.0444,0.0414666666666667,0.0617333333333333,0.1052,0.0420666666666667,0.0458666666666667,0.107,0.120133333333333,0.0482,0.1152,0.0410666666666667,0.0470666666666667,0.1036,0.0419333333333333,0.0501333333333333
|
||||||
|
"485",0.0428666666666667,0.041,0.0963333333333333,0.0409333333333333,0.1052,0.0461333333333333,0.0416,0.107933333333333,0.0444666666666667,0.0412666666666667,0.0619333333333333,0.105466666666667,0.0418,0.0459333333333333,0.107133333333333,0.120333333333333,0.0479333333333333,0.115333333333333,0.0412,0.0468666666666667,0.103533333333333,0.0418666666666667,0.0504
|
||||||
|
"486",0.0425333333333333,0.0414666666666667,0.0962,0.0410666666666667,0.105266666666667,0.0468666666666667,0.0418,0.1078,0.0442,0.0413333333333333,0.062,0.1056,0.0418666666666667,0.0464,0.106933333333333,0.120333333333333,0.0478666666666667,0.1154,0.0414666666666667,0.0466666666666667,0.1034,0.0416,0.051
|
||||||
|
"487",0.0429333333333333,0.0416666666666667,0.0962666666666667,0.0412666666666667,0.105133333333333,0.0467333333333333,0.0420666666666667,0.1082,0.0442666666666667,0.0416666666666667,0.0624,0.105066666666667,0.0420666666666667,0.0462666666666667,0.106533333333333,0.1204,0.0479333333333333,0.1152,0.0413333333333333,0.0467333333333333,0.103733333333333,0.0415333333333333,0.0504666666666667
|
||||||
|
"488",0.0430666666666667,0.0416666666666667,0.0965333333333333,0.0412666666666667,0.1052,0.0464666666666667,0.0418,0.1082,0.0441333333333333,0.042,0.0626,0.104733333333333,0.0421333333333333,0.0465333333333333,0.106533333333333,0.120666666666667,0.0482,0.115133333333333,0.0412,0.0469333333333333,0.104,0.0418,0.0502
|
||||||
|
"489",0.0428666666666667,0.0412666666666667,0.0965333333333333,0.0413333333333333,0.1056,0.046,0.0417333333333333,0.108066666666667,0.0441333333333333,0.0418666666666667,0.0626,0.104866666666667,0.0419333333333333,0.0471333333333333,0.106933333333333,0.1208,0.0484,0.1152,0.0416666666666667,0.0469333333333333,0.103733333333333,0.0419333333333333,0.0503333333333333
|
||||||
|
"490",0.0430666666666667,0.0415333333333333,0.0964666666666667,0.0414,0.105666666666667,0.0458666666666667,0.0418,0.108133333333333,0.0444,0.042,0.0628666666666667,0.1048,0.0419333333333333,0.0476,0.107133333333333,0.1212,0.0484666666666667,0.115466666666667,0.0415333333333333,0.0469333333333333,0.103666666666667,0.0418666666666667,0.0502
|
||||||
|
"491",0.0434,0.0420666666666667,0.0962666666666667,0.0415333333333333,0.105533333333333,0.0463333333333333,0.0418666666666667,0.1084,0.0449333333333333,0.0420666666666667,0.0636,0.104666666666667,0.0423333333333333,0.0476666666666667,0.1072,0.1214,0.0486,0.115333333333333,0.0410666666666667,0.047,0.103666666666667,0.0422,0.0504
|
||||||
|
"492",0.0433333333333333,0.0416666666666667,0.0966666666666667,0.0416666666666667,0.1056,0.0470666666666667,0.0419333333333333,0.108666666666667,0.0448666666666667,0.0422666666666667,0.0640666666666667,0.105,0.0422,0.0475333333333333,0.107,0.121933333333333,0.0486,0.115333333333333,0.0410666666666667,0.0468666666666667,0.103933333333333,0.0422666666666667,0.0504666666666667
|
||||||
|
"493",0.0436,0.0418,0.097,0.0417333333333333,0.105666666666667,0.0476666666666667,0.0420666666666667,0.108866666666667,0.0448666666666667,0.0424666666666667,0.0645333333333333,0.105133333333333,0.0422,0.0476666666666667,0.1072,0.122533333333333,0.0490666666666667,0.115266666666667,0.0413333333333333,0.047,0.104133333333333,0.0424666666666667,0.0506666666666667
|
||||||
|
"494",0.0442,0.0426666666666667,0.097,0.0416666666666667,0.105733333333333,0.0477333333333333,0.0420666666666667,0.108933333333333,0.0447333333333333,0.0426,0.065,0.105133333333333,0.0425333333333333,0.0482666666666667,0.107666666666667,0.122666666666667,0.0498,0.1152,0.0414666666666667,0.0474,0.1044,0.0426666666666667,0.0511333333333334
|
||||||
|
"495",0.0435333333333333,0.0428,0.0968666666666666,0.0418,0.106,0.048,0.0423333333333333,0.108866666666667,0.0451333333333333,0.0426666666666667,0.0656,0.105666666666667,0.0428,0.0486,0.107733333333333,0.123466666666667,0.0498666666666667,0.1152,0.0415333333333333,0.0473333333333333,0.104066666666667,0.0424666666666667,0.0511333333333334
|
||||||
|
"496",0.0437333333333333,0.0427333333333333,0.097,0.0424,0.1062,0.0484,0.0424666666666667,0.109,0.0455333333333333,0.0426666666666667,0.0665333333333333,0.106133333333333,0.0429333333333333,0.0485333333333333,0.108133333333333,0.1242,0.0498666666666667,0.115466666666667,0.0416,0.0474666666666667,0.1042,0.0422666666666667,0.0508
|
||||||
|
"497",0.0444666666666667,0.0428,0.0972,0.0425333333333333,0.106533333333333,0.0486666666666667,0.0427333333333333,0.109133333333333,0.0454666666666667,0.0430666666666667,0.0674666666666667,0.1062,0.0430666666666667,0.0487333333333333,0.1086,0.124866666666667,0.0501333333333333,0.1158,0.0418,0.0476,0.104466666666667,0.0429333333333333,0.051
|
||||||
|
"498",0.0446,0.0432,0.0978,0.0427333333333333,0.1066,0.0495333333333333,0.0428666666666667,0.109333333333333,0.0456666666666667,0.0435333333333333,0.0682,0.106333333333333,0.0431333333333333,0.0492666666666667,0.108933333333333,0.125533333333333,0.0507333333333333,0.116066666666667,0.0422,0.0482,0.104533333333333,0.0434,0.051
|
||||||
|
"499",0.0448,0.0437333333333333,0.0984,0.0430666666666667,0.1068,0.0503333333333333,0.0427333333333333,0.109533333333333,0.046,0.0439333333333333,0.0688666666666667,0.1066,0.0436,0.0503333333333333,0.109266666666667,0.126266666666667,0.0511333333333334,0.116266666666667,0.0422666666666667,0.0484666666666667,0.1044,0.0434666666666667,0.0513333333333333
|
||||||
|
"500",0.0456666666666667,0.0446666666666667,0.0986666666666667,0.0434666666666667,0.107333333333333,0.0505333333333333,0.0432,0.109733333333333,0.0464666666666667,0.044,0.0702,0.1068,0.0440666666666667,0.0506,0.109666666666667,0.1272,0.0516666666666667,0.116466666666667,0.0426666666666667,0.0485333333333333,0.104866666666667,0.0434,0.0519333333333334
|
||||||
|
"501",0.0458666666666667,0.0452666666666667,0.0987333333333333,0.0442,0.108,0.0510666666666667,0.0435333333333333,0.11,0.047,0.0439333333333333,0.0714,0.107066666666667,0.0441333333333333,0.051,0.110133333333333,0.128266666666667,0.0524666666666667,0.1166,0.0431333333333333,0.049,0.1052,0.0436666666666667,0.0526666666666667
|
||||||
|
"502",0.0462,0.0454666666666667,0.0992,0.0446,0.108266666666667,0.0518666666666667,0.0435333333333333,0.110266666666667,0.0473333333333333,0.0444,0.0726,0.107533333333333,0.0444,0.0519333333333334,0.1108,0.1294,0.0530666666666667,0.116733333333333,0.0434666666666667,0.0495333333333333,0.105266666666667,0.0442,0.0527333333333333
|
||||||
|
"503",0.0469333333333333,0.0463333333333333,0.0996666666666667,0.0448,0.1086,0.0528666666666667,0.0438666666666667,0.110866666666667,0.0478,0.0447333333333333,0.0737333333333333,0.108,0.0446666666666667,0.0525333333333333,0.111333333333333,0.130533333333333,0.0537333333333333,0.117133333333333,0.0439333333333333,0.0498,0.1056,0.0444666666666667,0.0530666666666667
|
||||||
|
"504",0.0476,0.0472,0.1002,0.0451333333333333,0.108866666666667,0.0544666666666667,0.0443333333333333,0.111266666666667,0.0482666666666667,0.0453333333333333,0.0751333333333333,0.108266666666667,0.0450666666666667,0.0529333333333334,0.111933333333333,0.131533333333333,0.0544666666666667,0.117733333333333,0.0444666666666667,0.0499333333333333,0.106133333333333,0.045,0.0535333333333333
|
||||||
|
"505",0.0483333333333333,0.0476,0.1012,0.046,0.109533333333333,0.0553333333333333,0.0448,0.111666666666667,0.0486666666666667,0.0463333333333333,0.0768,0.108866666666667,0.0458666666666667,0.0542,0.112933333333333,0.133066666666667,0.0553333333333334,0.1182,0.0451333333333333,0.0507333333333333,0.106533333333333,0.0456,0.0540666666666667
|
||||||
|
"506",0.0490666666666667,0.0480666666666667,0.102066666666667,0.0471333333333333,0.110333333333333,0.0564,0.0454,0.1122,0.0490666666666667,0.0469333333333333,0.0788,0.109933333333333,0.0464666666666667,0.055,0.114,0.134866666666667,0.0564,0.1186,0.0456666666666667,0.0513333333333333,0.1068,0.0462666666666667,0.0545333333333334
|
||||||
|
"507",0.0498666666666667,0.0496666666666667,0.1028,0.0480666666666667,0.111066666666667,0.0578666666666667,0.0458666666666667,0.112733333333333,0.0499333333333333,0.0474,0.0807333333333333,0.110933333333333,0.0471333333333333,0.0557333333333333,0.115266666666667,0.1368,0.0574666666666667,0.118866666666667,0.0462666666666667,0.0517333333333333,0.1074,0.0468666666666667,0.0549333333333334
|
||||||
|
"508",0.0514,0.0510666666666667,0.103666666666667,0.0491333333333333,0.1118,0.0595333333333333,0.0467333333333333,0.113266666666667,0.0508,0.0482666666666667,0.0826,0.1114,0.0484666666666667,0.0575333333333333,0.116466666666667,0.138466666666667,0.0588666666666667,0.119533333333333,0.0471333333333333,0.0525333333333333,0.107866666666667,0.0475333333333333,0.0556666666666667
|
||||||
|
"509",0.0526,0.0526666666666667,0.1048,0.0504,0.112933333333333,0.0612666666666667,0.0476,0.113866666666667,0.0516666666666667,0.0496,0.0847333333333333,0.112133333333333,0.0495333333333333,0.0594666666666667,0.117733333333333,0.1402,0.0604,0.1204,0.0482666666666667,0.0536,0.108333333333333,0.048,0.0568
|
||||||
|
"510",0.0536666666666667,0.0540666666666667,0.1062,0.0516,0.114066666666667,0.0633333333333333,0.0484,0.1146,0.0527333333333333,0.0505333333333333,0.0868666666666667,0.113133333333333,0.0502,0.0605333333333334,0.119333333333333,0.142533333333333,0.0621333333333333,0.1214,0.0492666666666667,0.0546,0.109,0.049,0.0576
|
||||||
|
"511",0.0552,0.0556,0.107733333333333,0.053,0.115133333333333,0.0658666666666667,0.0491333333333333,0.115733333333333,0.0540666666666667,0.0513333333333333,0.0891333333333333,0.114133333333333,0.0514,0.0622,0.121066666666667,0.1448,0.0638666666666667,0.122066666666667,0.0504,0.0557333333333333,0.109933333333333,0.0502,0.0585333333333333
|
||||||
|
"512",0.0570666666666667,0.0574,0.109466666666667,0.0546666666666667,0.116466666666667,0.0682666666666667,0.0501333333333333,0.116733333333333,0.0553333333333333,0.0523333333333333,0.0916,0.115466666666667,0.0528666666666667,0.0638,0.122866666666667,0.147266666666667,0.0655333333333333,0.1228,0.0518666666666667,0.0571333333333333,0.110933333333333,0.0512666666666667,0.0595333333333333
|
||||||
|
"513",0.0587333333333333,0.0596666666666667,0.111,0.0564666666666667,0.117933333333333,0.0711333333333333,0.0515333333333333,0.117933333333333,0.0565333333333333,0.0542,0.0944666666666667,0.116933333333333,0.0546,0.0658,0.124666666666667,0.15,0.0674666666666667,0.1242,0.0532666666666667,0.0582,0.111666666666667,0.0523333333333333,0.0606
|
||||||
|
"514",0.0604666666666667,0.0620666666666667,0.112666666666667,0.0584666666666667,0.1196,0.0742666666666667,0.0528666666666667,0.119066666666667,0.0579333333333334,0.0561333333333333,0.0973333333333333,0.118533333333333,0.0562,0.068,0.127133333333333,0.152933333333333,0.0698666666666667,0.1256,0.0552666666666667,0.0596666666666667,0.1128,0.0535333333333333,0.0620666666666667
|
||||||
|
"515",0.0626666666666667,0.0642,0.1146,0.0606666666666667,0.121266666666667,0.0771333333333333,0.054,0.1206,0.0596666666666667,0.0578,0.100066666666667,0.120133333333333,0.0580666666666667,0.0704666666666667,0.1296,0.155933333333333,0.0724666666666667,0.127,0.0570666666666667,0.0611333333333333,0.114266666666667,0.0553333333333334,0.0635333333333333
|
||||||
|
"516",0.065,0.0664666666666667,0.1168,0.0628666666666667,0.122866666666667,0.0802666666666667,0.0558,0.122,0.0613333333333334,0.0594666666666667,0.103,0.122133333333333,0.0599333333333333,0.0731333333333333,0.131933333333333,0.1588,0.0749333333333333,0.128333333333333,0.0587333333333333,0.0628,0.115466666666667,0.0568666666666667,0.0650666666666667
|
||||||
|
"517",0.0674666666666667,0.0688666666666667,0.119133333333333,0.065,0.124666666666667,0.0836666666666667,0.0575333333333333,0.123533333333333,0.0632666666666667,0.0614666666666667,0.1058,0.124066666666667,0.0622,0.076,0.1346,0.1618,0.0778666666666667,0.129733333333333,0.0608,0.0646666666666667,0.117,0.0586,0.0666
|
||||||
|
"518",0.0698666666666667,0.0717333333333333,0.121666666666667,0.0672666666666667,0.126866666666667,0.0875333333333333,0.0594666666666667,0.125133333333333,0.0658,0.0637333333333333,0.108933333333333,0.126266666666667,0.0644,0.0786,0.137466666666667,0.1652,0.0807333333333333,0.131733333333333,0.0632,0.0669333333333333,0.118266666666667,0.0604666666666667,0.0688
|
||||||
|
"519",0.0724,0.0746,0.1244,0.0698666666666667,0.129,0.0912666666666667,0.0611333333333333,0.126733333333333,0.0678,0.0656666666666667,0.112133333333333,0.128266666666667,0.0667333333333333,0.0815333333333333,0.140533333333333,0.168533333333333,0.0837333333333333,0.133733333333333,0.0657333333333334,0.0690666666666667,0.1198,0.0620666666666666,0.0707333333333333
|
||||||
|
"520",0.0751333333333333,0.0776666666666667,0.127,0.0729333333333333,0.131266666666667,0.0949333333333333,0.063,0.128533333333333,0.0697333333333333,0.0680666666666667,0.1154,0.130333333333333,0.0690666666666667,0.0844,0.1432,0.1716,0.0866666666666666,0.1356,0.0678,0.0712,0.1212,0.064,0.0727333333333333
|
||||||
|
"521",0.0777333333333333,0.0805333333333333,0.129466666666667,0.0758,0.133733333333333,0.0986,0.0653333333333333,0.130333333333333,0.0719333333333333,0.0703333333333333,0.118666666666667,0.132866666666667,0.0716,0.0874,0.1462,0.174866666666667,0.0894666666666667,0.137533333333333,0.0704,0.0733333333333333,0.122933333333333,0.0660666666666666,0.0748666666666667
|
||||||
|
"522",0.0807333333333333,0.0837333333333333,0.132133333333333,0.0787333333333333,0.135866666666667,0.1022,0.0673333333333333,0.132333333333333,0.0741333333333333,0.0726666666666667,0.122066666666667,0.135266666666667,0.074,0.0904,0.149066666666667,0.178066666666667,0.0924666666666667,0.1396,0.073,0.0756666666666667,0.125,0.0682666666666667,0.0771333333333333
|
||||||
|
"523",0.0838,0.0866,0.134933333333333,0.0813333333333333,0.138066666666667,0.106,0.0694,0.134133333333333,0.0764666666666667,0.075,0.124933333333333,0.137333333333333,0.0763333333333333,0.0932,0.152133333333333,0.181333333333333,0.0954,0.141666666666667,0.0756666666666666,0.0778666666666667,0.1266,0.0703333333333333,0.0791333333333333
|
||||||
|
"524",0.0866,0.0896,0.1376,0.0841333333333333,0.140266666666667,0.1096,0.0715333333333333,0.136,0.0790666666666667,0.0776,0.128,0.1394,0.0792,0.0961333333333333,0.155133333333333,0.184333333333333,0.0985333333333333,0.143666666666667,0.0781333333333333,0.0802,0.128133333333333,0.0723333333333333,0.0813333333333333
|
||||||
|
"525",0.0892666666666667,0.0925333333333333,0.140266666666667,0.087,0.142466666666667,0.112933333333333,0.0734666666666667,0.137666666666667,0.0812666666666667,0.0799333333333333,0.131,0.141466666666667,0.0818666666666667,0.0989333333333333,0.158266666666667,0.187466666666667,0.1016,0.145533333333333,0.0804666666666667,0.0824,0.129733333333333,0.0744666666666667,0.0834
|
||||||
|
"526",0.0916666666666667,0.0952,0.1426,0.0898666666666667,0.144733333333333,0.1164,0.0753333333333333,0.1392,0.0834,0.0820666666666667,0.133533333333333,0.143533333333333,0.0840666666666667,0.101733333333333,0.160666666666667,0.190066666666667,0.104333333333333,0.1474,0.0825333333333333,0.0844,0.131333333333333,0.0760666666666667,0.0855333333333333
|
||||||
|
"527",0.0942666666666667,0.0976666666666667,0.145,0.0923333333333333,0.146933333333333,0.119866666666667,0.0773333333333333,0.140933333333333,0.0852,0.0840666666666667,0.1362,0.145733333333333,0.0864,0.1044,0.163266666666667,0.1928,0.1068,0.149333333333333,0.0848,0.0866,0.132866666666667,0.0780666666666667,0.0874666666666667
|
||||||
|
"528",0.0966666666666667,0.100333333333333,0.147466666666667,0.0946,0.1486,0.122866666666667,0.0790666666666667,0.142533333333333,0.0872666666666666,0.0860666666666667,0.138666666666667,0.1478,0.0886,0.107,0.165533333333333,0.195333333333333,0.109266666666667,0.151466666666667,0.0870666666666667,0.0887333333333333,0.1342,0.0797333333333333,0.0890666666666667
|
||||||
|
"529",0.0989333333333333,0.102333333333333,0.149533333333333,0.0968,0.150466666666667,0.125733333333333,0.0807333333333333,0.144066666666667,0.0892,0.0878,0.140866666666667,0.149533333333333,0.0906,0.1092,0.167933333333333,0.197866666666667,0.111466666666667,0.153066666666667,0.0891333333333333,0.0904,0.1358,0.0816,0.0904
|
||||||
|
"530",0.101066666666667,0.1042,0.151333333333333,0.099,0.152066666666667,0.1282,0.0822,0.145266666666667,0.0912,0.0897333333333333,0.143133333333333,0.150933333333333,0.0925333333333333,0.111933333333333,0.17,0.200133333333333,0.113733333333333,0.154533333333333,0.091,0.092,0.137133333333333,0.0830666666666666,0.092
|
||||||
|
"531",0.103066666666667,0.106333333333333,0.1532,0.1012,0.153733333333333,0.130733333333333,0.0838666666666667,0.146733333333333,0.0928666666666667,0.0913333333333333,0.144933333333333,0.1526,0.0943333333333333,0.113733333333333,0.171666666666667,0.201666666666667,0.115866666666667,0.155933333333333,0.0926666666666667,0.0935333333333333,0.138133333333333,0.0845333333333333,0.0932666666666667
|
||||||
|
"532",0.1048,0.108333333333333,0.154866666666667,0.103,0.1554,0.132866666666667,0.0852,0.147933333333333,0.094,0.093,0.146533333333333,0.154,0.0958666666666667,0.115466666666667,0.173666666666667,0.203533333333333,0.1178,0.157266666666667,0.0941333333333333,0.0949333333333333,0.1392,0.0857333333333333,0.0946666666666667
|
||||||
|
"533",0.106266666666667,0.110133333333333,0.1562,0.104533333333333,0.1568,0.135,0.0861333333333333,0.1488,0.0954,0.0944666666666667,0.147933333333333,0.155133333333333,0.0971333333333333,0.117133333333333,0.175533333333333,0.205266666666667,0.1194,0.158666666666667,0.0957333333333333,0.0960666666666667,0.139866666666667,0.0868,0.0958
|
||||||
|
"534",0.107733333333333,0.111533333333333,0.157533333333333,0.105933333333333,0.157933333333333,0.136666666666667,0.0875333333333333,0.1496,0.0964,0.0956,0.149533333333333,0.156133333333333,0.0987333333333333,0.118666666666667,0.176866666666667,0.206533333333333,0.121,0.159733333333333,0.0970666666666667,0.0972,0.141,0.0878666666666667,0.0966666666666667
|
||||||
|
"535",0.1092,0.1128,0.158933333333333,0.107466666666667,0.158866666666667,0.138266666666667,0.0886666666666667,0.150466666666667,0.0973333333333333,0.0965333333333333,0.150733333333333,0.157266666666667,0.100066666666667,0.120266666666667,0.178066666666667,0.207866666666667,0.122266666666667,0.161,0.0984666666666667,0.0982,0.1418,0.0888,0.0975333333333333
|
||||||
|
"536",0.1102,0.113866666666667,0.159866666666667,0.108866666666667,0.159933333333333,0.14,0.0896,0.151466666666667,0.0984,0.0976,0.151866666666667,0.158066666666667,0.101133333333333,0.121733333333333,0.179266666666667,0.2088,0.123666666666667,0.161866666666667,0.0994,0.0992666666666667,0.142533333333333,0.0896666666666666,0.0986
|
||||||
|
"537",0.1112,0.114866666666667,0.161066666666667,0.110133333333333,0.160866666666667,0.141133333333333,0.0901333333333333,0.151866666666667,0.0991333333333334,0.0984666666666667,0.153,0.158666666666667,0.1024,0.122933333333333,0.180466666666667,0.2098,0.124733333333333,0.162733333333333,0.1004,0.1,0.143,0.0905333333333333,0.0989333333333333
|
||||||
|
"538",0.112266666666667,0.115733333333333,0.161666666666667,0.1112,0.161733333333333,0.142333333333333,0.0909333333333333,0.152266666666667,0.0998666666666667,0.0994,0.1538,0.1594,0.1034,0.124066666666667,0.181333333333333,0.210666666666667,0.125666666666667,0.163466666666667,0.101066666666667,0.100466666666667,0.143266666666667,0.091,0.0993333333333333
|
||||||
|
"539",0.113,0.116733333333333,0.162533333333333,0.111933333333333,0.162333333333333,0.1436,0.0916,0.153,0.100333333333333,0.100133333333333,0.1546,0.160133333333333,0.104066666666667,0.125066666666667,0.182133333333333,0.211533333333333,0.126533333333333,0.164066666666667,0.102066666666667,0.101333333333333,0.143933333333333,0.0917333333333333,0.0998666666666667
|
||||||
|
"540",0.113933333333333,0.1176,0.1632,0.112866666666667,0.162866666666667,0.144733333333333,0.0921333333333333,0.153333333333333,0.100866666666667,0.1008,0.1552,0.1606,0.104933333333333,0.1262,0.182933333333333,0.212333333333333,0.127533333333333,0.164666666666667,0.102866666666667,0.102,0.144333333333333,0.0922,0.1004
|
||||||
|
"541",0.114733333333333,0.118333333333333,0.163866666666667,0.113933333333333,0.163666666666667,0.1458,0.0928666666666667,0.153733333333333,0.1016,0.101333333333333,0.1558,0.160933333333333,0.1058,0.127133333333333,0.1838,0.212733333333333,0.1284,0.165266666666667,0.103333333333333,0.1024,0.144666666666667,0.0927333333333333,0.100533333333333
|
||||||
|
"542",0.115466666666667,0.1192,0.164533333333333,0.1146,0.163933333333333,0.146466666666667,0.0933333333333333,0.1542,0.101933333333333,0.102066666666667,0.156666666666667,0.1614,0.106466666666667,0.128066666666667,0.1846,0.2134,0.129133333333333,0.1658,0.1042,0.102866666666667,0.144933333333333,0.0930666666666667,0.100933333333333
|
||||||
|
"543",0.116333333333333,0.12,0.165066666666667,0.115266666666667,0.1646,0.1474,0.0938666666666667,0.154533333333333,0.102266666666667,0.102533333333333,0.157133333333333,0.162066666666667,0.1072,0.128933333333333,0.185333333333333,0.214266666666667,0.129733333333333,0.1664,0.104866666666667,0.103266666666667,0.1454,0.0938,0.101266666666667
|
||||||
|
"544",0.117066666666667,0.120333333333333,0.1656,0.115933333333333,0.165133333333333,0.148466666666667,0.0943333333333333,0.155,0.102733333333333,0.1032,0.157866666666667,0.1624,0.108,0.129333333333333,0.185866666666667,0.214933333333333,0.130533333333333,0.166866666666667,0.1054,0.1036,0.145866666666667,0.0943333333333333,0.101533333333333
|
||||||
|
"545",0.1178,0.121,0.166333333333333,0.116533333333333,0.1656,0.149133333333333,0.0949333333333333,0.1554,0.103466666666667,0.1038,0.158133333333333,0.162733333333333,0.108533333333333,0.130533333333333,0.186533333333333,0.215266666666667,0.131266666666667,0.167333333333333,0.106133333333333,0.104066666666667,0.146133333333333,0.0947333333333333,0.101933333333333
|
||||||
|
"546",0.118333333333333,0.1218,0.166866666666667,0.1172,0.166,0.149866666666667,0.0956,0.155933333333333,0.103733333333333,0.104533333333333,0.158666666666667,0.1634,0.1092,0.131533333333333,0.1872,0.215733333333333,0.132133333333333,0.1678,0.107133333333333,0.1044,0.1466,0.095,0.102533333333333
|
||||||
|
"547",0.118933333333333,0.122333333333333,0.167266666666667,0.117933333333333,0.1668,0.1506,0.0959333333333333,0.156266666666667,0.104133333333333,0.105133333333333,0.159266666666667,0.163666666666667,0.1098,0.1324,0.187933333333333,0.2164,0.1328,0.1684,0.107466666666667,0.104733333333333,0.146933333333333,0.0955333333333333,0.102733333333333
|
||||||
|
"548",0.119466666666667,0.122866666666667,0.1678,0.1186,0.167133333333333,0.151333333333333,0.0964,0.156533333333333,0.104666666666667,0.105666666666667,0.1598,0.163933333333333,0.110666666666667,0.133066666666667,0.188533333333333,0.217,0.133466666666667,0.168733333333333,0.108066666666667,0.105266666666667,0.147133333333333,0.0958666666666667,0.103
|
||||||
|
"549",0.120266666666667,0.1234,0.168466666666667,0.119466666666667,0.167733333333333,0.152066666666667,0.0966,0.156866666666667,0.105133333333333,0.106,0.1604,0.1646,0.110866666666667,0.133666666666667,0.189066666666667,0.217333333333333,0.134066666666667,0.169466666666667,0.108466666666667,0.1058,0.1474,0.0961333333333333,0.1034
|
||||||
|
"550",0.120666666666667,0.123866666666667,0.1688,0.120066666666667,0.167866666666667,0.1528,0.097,0.157133333333333,0.105333333333333,0.106333333333333,0.160866666666667,0.1646,0.1114,0.134266666666667,0.189466666666667,0.217866666666667,0.134533333333333,0.169866666666667,0.108933333333333,0.1062,0.147733333333333,0.0964666666666667,0.103333333333333
|
||||||
|
"551",0.121,0.124333333333333,0.1692,0.120666666666667,0.168333333333333,0.153133333333333,0.0974666666666667,0.157266666666667,0.1058,0.1064,0.161066666666667,0.164666666666667,0.111866666666667,0.134666666666667,0.189933333333333,0.217866666666667,0.1352,0.170133333333333,0.109066666666667,0.106333333333333,0.147933333333333,0.0968,0.1032
|
||||||
|
"552",0.121266666666667,0.124466666666667,0.1692,0.121,0.1686,0.153466666666667,0.0974666666666667,0.157266666666667,0.1058,0.106933333333333,0.1612,0.164866666666667,0.112066666666667,0.135466666666667,0.1902,0.218066666666667,0.135266666666667,0.170266666666667,0.109466666666667,0.106266666666667,0.148066666666667,0.0968666666666667,0.103266666666667
|
||||||
|
"553",0.1216,0.1246,0.169133333333333,0.120933333333333,0.1688,0.153733333333333,0.0976,0.157266666666667,0.105733333333333,0.106933333333333,0.161333333333333,0.164933333333333,0.112066666666667,0.1356,0.19,0.218066666666667,0.135533333333333,0.170333333333333,0.109666666666667,0.106133333333333,0.148,0.097,0.103333333333333
|
||||||
|
"554",0.1216,0.1244,0.1692,0.121,0.1688,0.153666666666667,0.0974,0.1572,0.1052,0.106733333333333,0.161266666666667,0.1648,0.112266666666667,0.135266666666667,0.1898,0.218,0.1354,0.170133333333333,0.109733333333333,0.105866666666667,0.147933333333333,0.0968,0.103066666666667
|
||||||
|
"555",0.120933333333333,0.124133333333333,0.168866666666667,0.120666666666667,0.168533333333333,0.153266666666667,0.0971333333333333,0.156933333333333,0.104933333333333,0.106466666666667,0.1606,0.164533333333333,0.112133333333333,0.1352,0.189866666666667,0.217933333333333,0.134866666666667,0.170133333333333,0.109466666666667,0.1054,0.1478,0.0964,0.102733333333333
|
||||||
|
"556",0.120466666666667,0.1236,0.1682,0.120266666666667,0.168066666666667,0.1528,0.0967333333333333,0.156333333333333,0.104333333333333,0.106,0.160333333333333,0.163933333333333,0.1116,0.134933333333333,0.189266666666667,0.217266666666667,0.134666666666667,0.169733333333333,0.108933333333333,0.105133333333333,0.147333333333333,0.096,0.102266666666667
|
||||||
|
"557",0.119866666666667,0.123,0.167666666666667,0.119933333333333,0.1676,0.151933333333333,0.0961333333333333,0.155933333333333,0.103466666666667,0.105666666666667,0.159533333333333,0.163266666666667,0.110866666666667,0.1346,0.1886,0.216466666666667,0.134266666666667,0.169,0.1084,0.1042,0.146933333333333,0.0954666666666667,0.101666666666667
|
||||||
|
"558",0.1192,0.122266666666667,0.166866666666667,0.119266666666667,0.166933333333333,0.150933333333333,0.0956666666666667,0.1552,0.102933333333333,0.104933333333333,0.1588,0.162333333333333,0.110133333333333,0.133933333333333,0.188066666666667,0.215866666666667,0.133133333333333,0.168333333333333,0.107666666666667,0.1032,0.146133333333333,0.0947333333333333,0.100733333333333
|
||||||
|
"559",0.118133333333333,0.121133333333333,0.166,0.118266666666667,0.166266666666667,0.150066666666667,0.0949333333333333,0.154533333333333,0.102066666666667,0.103866666666667,0.157733333333333,0.1614,0.109333333333333,0.133066666666667,0.187133333333333,0.215066666666667,0.132,0.167466666666667,0.106733333333333,0.1022,0.1454,0.0941333333333333,0.0998666666666667
|
||||||
|
"560",0.116933333333333,0.12,0.165,0.117533333333333,0.165333333333333,0.1488,0.0939333333333333,0.153666666666667,0.100733333333333,0.102933333333333,0.1566,0.160466666666667,0.1086,0.132133333333333,0.186,0.213933333333333,0.131066666666667,0.1668,0.105733333333333,0.1012,0.144933333333333,0.0932,0.0988666666666667
|
||||||
|
"561",0.115933333333333,0.118866666666667,0.1638,0.116466666666667,0.1644,0.147466666666667,0.093,0.152933333333333,0.0994666666666667,0.101933333333333,0.155533333333333,0.159333333333333,0.107533333333333,0.131133333333333,0.184866666666667,0.2128,0.129933333333333,0.165733333333333,0.104666666666667,0.100133333333333,0.1442,0.0923333333333333,0.0978
|
||||||
|
"562",0.114733333333333,0.117866666666667,0.162333333333333,0.115266666666667,0.163333333333333,0.145933333333333,0.0920666666666667,0.151933333333333,0.0984666666666667,0.101066666666667,0.154266666666667,0.158066666666667,0.106466666666667,0.130066666666667,0.183666666666667,0.211666666666667,0.128466666666667,0.1648,0.103533333333333,0.0988666666666667,0.1432,0.0912,0.0966666666666667
|
||||||
|
"563",0.113466666666667,0.116333333333333,0.161066666666667,0.113933333333333,0.1622,0.144533333333333,0.0908,0.150866666666667,0.0971333333333333,0.0996666666666667,0.152933333333333,0.156866666666667,0.105333333333333,0.128866666666667,0.182466666666667,0.210466666666667,0.127133333333333,0.163733333333333,0.102466666666667,0.0974666666666667,0.1422,0.0902,0.0955333333333333
|
||||||
|
"564",0.112,0.115,0.159866666666667,0.112533333333333,0.1612,0.142733333333333,0.0895333333333333,0.149733333333333,0.096,0.0984,0.151466666666667,0.1556,0.103933333333333,0.127533333333333,0.180933333333333,0.208933333333333,0.125533333333333,0.1626,0.101066666666667,0.0961333333333333,0.1412,0.0889333333333333,0.0942666666666667
|
||||||
|
"565",0.1106,0.113266666666667,0.158066666666667,0.110933333333333,0.1598,0.140933333333333,0.0882666666666667,0.1484,0.0945333333333333,0.0970666666666666,0.149666666666667,0.154333333333333,0.102333333333333,0.1262,0.1796,0.207466666666667,0.123866666666667,0.1614,0.0996666666666667,0.0944,0.140333333333333,0.0878,0.0925333333333333
|
||||||
|
"566",0.109,0.111866666666667,0.1564,0.109466666666667,0.1584,0.138866666666667,0.0870666666666666,0.147333333333333,0.0929333333333333,0.0956666666666667,0.148,0.1528,0.101,0.1246,0.178,0.206066666666667,0.122333333333333,0.159933333333333,0.0982,0.0930666666666667,0.139066666666667,0.0865333333333333,0.0910666666666667
|
||||||
|
"567",0.107333333333333,0.109866666666667,0.154866666666667,0.107533333333333,0.156866666666667,0.136866666666667,0.0856666666666667,0.146133333333333,0.0911333333333333,0.0941333333333333,0.1464,0.151466666666667,0.0991333333333333,0.122933333333333,0.176266666666667,0.203933333333333,0.120533333333333,0.1586,0.0964,0.0912,0.137733333333333,0.0851333333333333,0.0897333333333333
|
||||||
|
"568",0.105466666666667,0.1082,0.153,0.105666666666667,0.1554,0.134666666666667,0.0842,0.144733333333333,0.0897333333333333,0.0925333333333333,0.144333333333333,0.149733333333333,0.0977333333333334,0.1214,0.174533333333333,0.202133333333333,0.118733333333333,0.157333333333333,0.0948666666666667,0.0897333333333333,0.136733333333333,0.0838,0.0882
|
||||||
|
"569",0.103533333333333,0.106133333333333,0.151333333333333,0.103733333333333,0.154133333333333,0.1324,0.0825333333333333,0.143533333333333,0.0878666666666667,0.0909333333333333,0.142466666666667,0.148066666666667,0.0958,0.119666666666667,0.1726,0.200266666666667,0.116733333333333,0.155733333333333,0.0932,0.0880666666666667,0.135733333333333,0.0823333333333333,0.0865333333333333
|
||||||
|
"570",0.1016,0.104333333333333,0.149266666666667,0.101733333333333,0.152533333333333,0.130066666666667,0.0810666666666667,0.142333333333333,0.0863333333333333,0.0893333333333333,0.140466666666667,0.146533333333333,0.0939333333333333,0.117666666666667,0.1708,0.198266666666667,0.114733333333333,0.154133333333333,0.0914,0.0863333333333333,0.1344,0.0808666666666667,0.085
|
||||||
|
"571",0.0995333333333333,0.102133333333333,0.1476,0.100066666666667,0.150933333333333,0.127733333333333,0.0796666666666666,0.140866666666667,0.0845333333333333,0.0876,0.138466666666667,0.144866666666667,0.0922,0.115666666666667,0.1688,0.196266666666667,0.112533333333333,0.152533333333333,0.0898,0.0846666666666667,0.133133333333333,0.0792666666666667,0.0834
|
||||||
|
"572",0.0977333333333333,0.100133333333333,0.145666666666667,0.098,0.149333333333333,0.1252,0.0782,0.139666666666667,0.0828666666666667,0.0858,0.136466666666667,0.143333333333333,0.0904,0.113666666666667,0.1672,0.194266666666667,0.110533333333333,0.1512,0.0878666666666667,0.0829333333333333,0.131933333333333,0.078,0.0821333333333333
|
||||||
|
"573",0.0961333333333333,0.0985333333333333,0.143933333333333,0.0961333333333333,0.147733333333333,0.122866666666667,0.077,0.1384,0.0813333333333333,0.0843333333333333,0.1344,0.141533333333333,0.0888,0.1118,0.1654,0.192333333333333,0.108733333333333,0.149733333333333,0.0862,0.0812,0.1308,0.0766,0.0809333333333333
|
||||||
|
"574",0.0943333333333333,0.0968666666666667,0.142133333333333,0.0946,0.146466666666667,0.1208,0.0754666666666667,0.1374,0.0797333333333333,0.083,0.1326,0.140266666666667,0.0872,0.109866666666667,0.163466666666667,0.190466666666667,0.106733333333333,0.1482,0.0846,0.0798666666666667,0.129866666666667,0.0754,0.0796
|
||||||
|
"575",0.0924666666666667,0.0951333333333333,0.1406,0.0930666666666667,0.145,0.118933333333333,0.0743333333333333,0.136266666666667,0.0784666666666667,0.0816666666666667,0.1308,0.138866666666667,0.0856666666666666,0.108,0.162133333333333,0.188866666666667,0.104733333333333,0.147,0.0832,0.0783333333333333,0.129,0.0742,0.0782
|
||||||
|
"576",0.0909333333333333,0.0936666666666667,0.139,0.0915333333333333,0.143933333333333,0.116866666666667,0.0730666666666666,0.135133333333333,0.0772666666666667,0.0802666666666667,0.129133333333333,0.137666666666667,0.0842666666666667,0.106533333333333,0.160466666666667,0.187066666666667,0.103266666666667,0.145866666666667,0.0816666666666667,0.0770666666666667,0.127733333333333,0.073,0.0768666666666667
|
||||||
|
"577",0.0895333333333333,0.0918,0.1378,0.0902666666666667,0.1428,0.114733333333333,0.0719333333333333,0.134066666666667,0.0760666666666667,0.0790666666666667,0.127733333333333,0.136666666666667,0.083,0.105,0.158933333333333,0.185466666666667,0.101466666666667,0.144933333333333,0.0803333333333333,0.0758666666666667,0.127,0.0718666666666667,0.0760666666666667
|
||||||
|
"578",0.0880666666666667,0.0904666666666667,0.136466666666667,0.0888666666666667,0.1418,0.113266666666667,0.0710666666666667,0.133333333333333,0.0747333333333333,0.0778666666666667,0.126133333333333,0.135133333333333,0.0818666666666667,0.103333333333333,0.1576,0.183866666666667,0.100266666666667,0.143733333333333,0.079,0.075,0.126266666666667,0.0710666666666667,0.075
|
||||||
|
"579",0.0866666666666667,0.089,0.135333333333333,0.0876,0.141066666666667,0.111533333333333,0.0701333333333333,0.132533333333333,0.0736,0.0767333333333333,0.124666666666667,0.134133333333333,0.0806666666666667,0.101933333333333,0.156266666666667,0.182466666666667,0.0988666666666667,0.143,0.0780666666666667,0.074,0.1256,0.0702666666666667,0.0740666666666667
|
||||||
|
"580",0.0856,0.0877333333333333,0.134333333333333,0.0864,0.14,0.109933333333333,0.0691333333333333,0.131733333333333,0.0728,0.0756666666666667,0.1234,0.133466666666667,0.0796,0.100933333333333,0.155066666666667,0.1812,0.0978,0.142133333333333,0.0770666666666667,0.0729333333333333,0.124733333333333,0.0692,0.073
|
||||||
|
"581",0.0844,0.0866,0.133,0.0850666666666667,0.139133333333333,0.108666666666667,0.0684666666666667,0.131066666666667,0.0720666666666667,0.0748,0.122266666666667,0.132666666666667,0.0784666666666667,0.0998,0.153933333333333,0.180066666666667,0.0966666666666667,0.141266666666667,0.0760666666666667,0.0720666666666667,0.124266666666667,0.0686666666666667,0.0722666666666667
|
||||||
|
"582",0.0834,0.0853333333333333,0.132066666666667,0.0840666666666667,0.138066666666667,0.107266666666667,0.0675333333333333,0.130533333333333,0.0712666666666666,0.0738666666666667,0.121066666666667,0.131933333333333,0.0775333333333333,0.0988,0.152866666666667,0.178866666666667,0.0954666666666667,0.140333333333333,0.0752666666666667,0.0714666666666667,0.123733333333333,0.0678666666666667,0.0716666666666667
|
||||||
|
"583",0.0826,0.0845333333333333,0.1312,0.0832666666666667,0.1374,0.106,0.0670666666666667,0.129933333333333,0.0704666666666667,0.0731333333333333,0.120133333333333,0.130866666666667,0.0768,0.0977333333333334,0.151866666666667,0.1778,0.0945333333333333,0.1398,0.0743333333333333,0.0706666666666667,0.123066666666667,0.0670666666666666,0.0709333333333333
|
||||||
|
"584",0.0817333333333333,0.0835333333333333,0.130266666666667,0.0823333333333333,0.136533333333333,0.104733333333333,0.0662,0.1292,0.0698,0.0724,0.119066666666667,0.1302,0.0759333333333333,0.0966,0.150933333333333,0.176666666666667,0.0935333333333333,0.138866666666667,0.0735333333333333,0.0700666666666667,0.122666666666667,0.0666,0.0702666666666667
|
||||||
|
"585",0.0809333333333333,0.0826,0.129466666666667,0.0818,0.1362,0.103533333333333,0.0657333333333333,0.1288,0.069,0.0718,0.118133333333333,0.1298,0.0750666666666667,0.0959333333333333,0.149866666666667,0.175733333333333,0.0926666666666667,0.138333333333333,0.0727333333333333,0.0695333333333333,0.121866666666667,0.066,0.0695333333333333
|
||||||
|
"586",0.0800666666666667,0.0819333333333333,0.129066666666667,0.0810666666666667,0.135266666666667,0.102533333333333,0.0652666666666667,0.128133333333333,0.0684,0.0709333333333333,0.1174,0.129066666666667,0.0744,0.0950666666666667,0.148933333333333,0.174866666666667,0.0918666666666667,0.137933333333333,0.0718666666666667,0.0689333333333333,0.1216,0.0654666666666667,0.0692
|
||||||
|
"587",0.0792,0.0812,0.1284,0.0801333333333333,0.1348,0.101866666666667,0.0648666666666667,0.1278,0.0679333333333333,0.0701333333333333,0.116733333333333,0.1284,0.0738,0.0944666666666667,0.148333333333333,0.174,0.0913333333333333,0.137266666666667,0.0712,0.0686,0.121333333333333,0.065,0.0686
|
||||||
|
"588",0.0786,0.0803333333333333,0.127533333333333,0.0795333333333333,0.134066666666667,0.101133333333333,0.0642666666666667,0.127333333333333,0.0672666666666667,0.0696,0.1158,0.128133333333333,0.0731333333333333,0.0938666666666667,0.147733333333333,0.1734,0.0909333333333333,0.136866666666667,0.0704666666666667,0.068,0.121,0.0646,0.0682
|
||||||
|
"589",0.078,0.0798,0.126933333333333,0.079,0.133666666666667,0.100133333333333,0.0640666666666667,0.127066666666667,0.0668,0.069,0.115133333333333,0.1276,0.0724,0.0931333333333333,0.147,0.172533333333333,0.0900666666666667,0.136333333333333,0.0698666666666667,0.0677333333333333,0.1206,0.064,0.0676666666666667
|
||||||
|
"590",0.0776,0.0788666666666667,0.126666666666667,0.0783333333333333,0.1334,0.0991333333333333,0.0636,0.126666666666667,0.0665333333333334,0.0685333333333333,0.1144,0.127066666666667,0.072,0.0926,0.146266666666667,0.171866666666667,0.0895333333333333,0.135933333333333,0.0694,0.0672666666666667,0.1202,0.0638,0.0674
|
||||||
|
"591",0.0771333333333333,0.0785333333333333,0.125933333333333,0.0779333333333333,0.1328,0.0989333333333333,0.0632666666666667,0.1262,0.0661333333333333,0.0682,0.114066666666667,0.126733333333333,0.0715333333333334,0.0920666666666667,0.1458,0.1712,0.089,0.135533333333333,0.0689333333333333,0.0666666666666667,0.12,0.0634666666666667,0.067
|
||||||
|
"592",0.0766666666666666,0.0781333333333333,0.1254,0.0775333333333333,0.132266666666667,0.0980666666666667,0.0628666666666667,0.126066666666667,0.066,0.0676666666666667,0.1134,0.126466666666667,0.0710666666666667,0.0914666666666666,0.1452,0.1706,0.0884,0.135066666666667,0.0684,0.0664,0.119866666666667,0.0630666666666667,0.0665333333333333
|
||||||
|
"593",0.0760666666666667,0.0779333333333333,0.125066666666667,0.0771333333333333,0.131933333333333,0.0972666666666667,0.0626,0.125666666666667,0.0654666666666667,0.0673333333333333,0.112866666666667,0.126066666666667,0.0706666666666667,0.0909333333333333,0.1448,0.170266666666667,0.0878666666666667,0.1348,0.0682666666666667,0.0660666666666667,0.1198,0.0625333333333333,0.0662
|
||||||
|
"594",0.0756,0.0774,0.1246,0.0766666666666667,0.131866666666667,0.0968666666666666,0.0623333333333333,0.125533333333333,0.0648666666666667,0.0673333333333333,0.112533333333333,0.125733333333333,0.0704666666666666,0.0908,0.1442,0.1698,0.0871333333333333,0.1348,0.0678,0.0655333333333333,0.119466666666667,0.0624,0.0659333333333333
|
||||||
|
"595",0.0754,0.0771333333333333,0.124333333333333,0.0762666666666667,0.131533333333333,0.0965333333333333,0.0619333333333333,0.1254,0.0644666666666667,0.0670666666666667,0.112,0.125666666666667,0.0702666666666667,0.0904,0.144066666666667,0.1694,0.0868666666666667,0.1346,0.0675333333333333,0.0652,0.1192,0.0622,0.0656666666666667
|
||||||
|
"596",0.0752666666666667,0.0768,0.124266666666667,0.0759333333333333,0.131266666666667,0.096,0.0617333333333333,0.125,0.0642,0.0668666666666667,0.1116,0.1254,0.07,0.0900666666666667,0.143866666666667,0.169,0.0865333333333333,0.134466666666667,0.0674,0.0648666666666667,0.118866666666667,0.062,0.0655333333333333
|
||||||
|
"597",0.0748,0.0766,0.123666666666667,0.0758,0.130933333333333,0.0956666666666667,0.0616,0.125,0.0640666666666667,0.0664666666666667,0.111266666666667,0.125066666666667,0.0698,0.0896666666666666,0.143666666666667,0.168666666666667,0.086,0.134133333333333,0.0672,0.0643333333333333,0.118666666666667,0.0616666666666667,0.0654
|
||||||
|
"598",0.0747333333333333,0.0765333333333333,0.1234,0.0756666666666667,0.130866666666667,0.0951333333333333,0.0616,0.1248,0.064,0.0664,0.1108,0.124666666666667,0.0694666666666667,0.0892,0.143133333333333,0.1682,0.0856,0.133933333333333,0.0668666666666667,0.0642666666666667,0.118666666666667,0.0616,0.065
|
||||||
|
"599",0.0742,0.0762,0.123066666666667,0.0752666666666667,0.130866666666667,0.0946666666666667,0.0613333333333333,0.124466666666667,0.0638666666666667,0.0660666666666667,0.110266666666667,0.1246,0.0692,0.0889333333333333,0.142733333333333,0.168066666666667,0.0854,0.133666666666667,0.0666,0.0639333333333333,0.1186,0.0614,0.0648666666666667
|
||||||
|
"600",0.0738,0.0756666666666666,0.122733333333333,0.0746666666666667,0.1306,0.094,0.061,0.124266666666667,0.0633333333333333,0.0659333333333333,0.1098,0.1244,0.069,0.0884666666666667,0.1424,0.167333333333333,0.085,0.133533333333333,0.0665333333333333,0.0633333333333333,0.118466666666667,0.0609333333333333,0.0648
|
||||||
|
"601",0.0736,0.0754,0.1224,0.0744,0.130333333333333,0.0934666666666667,0.0606666666666667,0.124066666666667,0.063,0.0657333333333333,0.109333333333333,0.124,0.0684,0.0880666666666667,0.141933333333333,0.167,0.0845333333333333,0.133066666666667,0.0663333333333333,0.0631333333333333,0.117933333333333,0.0608666666666667,0.0646
|
||||||
|
"602",0.0733333333333333,0.0748666666666667,0.121933333333333,0.0742,0.130066666666667,0.093,0.0603333333333333,0.123533333333333,0.0626,0.0653333333333333,0.108933333333333,0.1234,0.0680666666666667,0.0874,0.141533333333333,0.166466666666667,0.0838666666666667,0.1328,0.0658,0.0626,0.1178,0.0605333333333333,0.0641333333333333
|
||||||
|
"603",0.0726,0.0744666666666667,0.1214,0.0736666666666667,0.129466666666667,0.0920666666666667,0.06,0.123266666666667,0.0620666666666667,0.065,0.108333333333333,0.123066666666667,0.0674666666666667,0.0868666666666667,0.1412,0.165933333333333,0.0832666666666667,0.132533333333333,0.0650666666666667,0.0623333333333333,0.117666666666667,0.0602,0.0639333333333333
|
||||||
|
"604",0.0723333333333333,0.0742,0.120733333333333,0.0732,0.129,0.0914666666666666,0.0596666666666667,0.1232,0.0616666666666667,0.0646,0.107733333333333,0.1226,0.0671333333333333,0.0861333333333333,0.1404,0.1652,0.0826666666666667,0.132266666666667,0.0648,0.0618666666666667,0.1172,0.0597333333333333,0.0635333333333333
|
||||||
|
"605",0.0714666666666667,0.0734,0.120266666666667,0.0726,0.128666666666667,0.0905333333333333,0.0592,0.122533333333333,0.0614666666666667,0.0640666666666667,0.107066666666667,0.1222,0.0665333333333333,0.0854,0.139866666666667,0.1644,0.0819333333333333,0.131733333333333,0.0641333333333333,0.0614666666666667,0.117,0.0594666666666667,0.0630666666666667
|
||||||
|
"606",0.0708,0.0724,0.1196,0.0721333333333333,0.128,0.0894666666666667,0.0585333333333333,0.1222,0.0606,0.0634666666666667,0.1064,0.121733333333333,0.0658666666666667,0.0846,0.139133333333333,0.163533333333333,0.0812,0.131266666666667,0.0636666666666667,0.061,0.116666666666667,0.059,0.0628666666666667
|
||||||
|
"607",0.0700666666666667,0.0715333333333333,0.118933333333333,0.0712666666666667,0.1274,0.0883333333333333,0.0582,0.121866666666667,0.06,0.0627333333333333,0.1056,0.121333333333333,0.0652,0.0836,0.138333333333333,0.1626,0.0801333333333333,0.130666666666667,0.0628666666666667,0.0605333333333333,0.116133333333333,0.0585333333333333,0.0622666666666667
|
||||||
|
"608",0.0691333333333333,0.0706666666666667,0.118133333333333,0.0704,0.126733333333333,0.0873333333333333,0.0576666666666667,0.1214,0.0595333333333333,0.0620666666666667,0.1046,0.120466666666667,0.0644,0.0826,0.137466666666667,0.161666666666667,0.0792,0.130133333333333,0.0622,0.0600666666666667,0.116,0.0582,0.0618
|
||||||
|
"609",0.0682,0.0698,0.117466666666667,0.0696666666666667,0.125933333333333,0.0863333333333333,0.0571333333333333,0.120866666666667,0.059,0.0614666666666667,0.1038,0.1198,0.0637333333333334,0.0816,0.1366,0.1608,0.0785333333333333,0.1294,0.0614,0.0593333333333333,0.115666666666667,0.0573333333333333,0.0616
|
||||||
|
"610",0.0672,0.0688666666666667,0.1166,0.0686666666666667,0.125266666666667,0.0853333333333333,0.0567333333333333,0.120333333333333,0.0584666666666667,0.0606,0.1026,0.119266666666667,0.0628666666666667,0.0806,0.135866666666667,0.159733333333333,0.0775333333333333,0.128866666666667,0.0607333333333333,0.0588666666666667,0.1152,0.0568666666666667,0.0608666666666667
|
||||||
|
"611",0.0662,0.0676,0.1156,0.0678666666666667,0.1246,0.0842,0.0561333333333333,0.12,0.0578666666666667,0.0600666666666667,0.101533333333333,0.1188,0.0620666666666667,0.0796,0.135,0.158733333333333,0.0765333333333333,0.1282,0.0598,0.0583333333333333,0.114733333333333,0.0562666666666667,0.0602666666666667
|
||||||
|
"612",0.0656,0.0668,0.1148,0.0668666666666667,0.123733333333333,0.0828,0.0555333333333333,0.119533333333333,0.0572666666666667,0.0595333333333333,0.100733333333333,0.118,0.0614,0.0784666666666667,0.134066666666667,0.157733333333333,0.0755333333333333,0.127733333333333,0.0590666666666667,0.0576,0.1144,0.0559333333333333,0.0596
|
||||||
|
"613",0.0648,0.0661333333333333,0.114066666666667,0.0662,0.123133333333333,0.0814666666666666,0.0548,0.119133333333333,0.0566,0.0587333333333333,0.0998666666666667,0.117866666666667,0.0608666666666667,0.0773333333333333,0.133066666666667,0.1566,0.0746,0.127266666666667,0.0582,0.0572,0.114066666666667,0.0552666666666667,0.0594666666666667
|
||||||
|
"614",0.0638666666666667,0.0651333333333333,0.113266666666667,0.0652666666666667,0.122533333333333,0.0803333333333333,0.0544666666666667,0.118666666666667,0.056,0.0582,0.0986,0.117,0.06,0.0762666666666666,0.132266666666667,0.1556,0.0736,0.1266,0.0576,0.0565333333333334,0.113666666666667,0.0546,0.0590666666666667
|
||||||
|
"615",0.0630666666666667,0.0642666666666667,0.1128,0.0643333333333333,0.121866666666667,0.0794,0.0538,0.118333333333333,0.0554666666666667,0.0574666666666667,0.0978,0.116333333333333,0.0592666666666667,0.0753333333333333,0.131533333333333,0.154533333333333,0.0727333333333333,0.1262,0.057,0.0561333333333333,0.1132,0.0542,0.0585333333333333
|
||||||
|
"616",0.0624666666666667,0.0635333333333333,0.112,0.0636666666666667,0.121333333333333,0.0783333333333333,0.0531333333333333,0.117733333333333,0.0549333333333334,0.0568666666666667,0.097,0.116,0.0587333333333333,0.0744666666666667,0.130733333333333,0.153666666666667,0.0717333333333333,0.1256,0.0565333333333333,0.0554666666666667,0.113066666666667,0.0538666666666667,0.0579333333333333
|
||||||
|
"617",0.0617333333333333,0.0628,0.111533333333333,0.0630666666666667,0.1206,0.0772,0.0529333333333333,0.117466666666667,0.0543333333333333,0.0564666666666667,0.0962,0.1154,0.0579333333333334,0.0736666666666667,0.13,0.1528,0.071,0.1254,0.0558,0.0551333333333333,0.112666666666667,0.0533333333333334,0.0576666666666667
|
||||||
|
"618",0.061,0.0622,0.110933333333333,0.0624,0.120133333333333,0.0764,0.0524666666666667,0.117066666666667,0.0538666666666667,0.0559333333333333,0.0953333333333333,0.114933333333333,0.0576,0.0728666666666667,0.129466666666667,0.151933333333333,0.0704666666666666,0.124866666666667,0.0553333333333334,0.0544666666666667,0.112266666666667,0.0528,0.0574666666666667
|
||||||
|
"619",0.0606,0.0613333333333333,0.1102,0.0618666666666667,0.119933333333333,0.0756666666666666,0.0523333333333333,0.1166,0.0536,0.0553333333333333,0.0945333333333333,0.114733333333333,0.0572666666666667,0.0721333333333334,0.128733333333333,0.1512,0.0698,0.1246,0.0547333333333333,0.0541333333333334,0.112,0.0526,0.057
|
||||||
|
"620",0.0600666666666667,0.0609333333333333,0.1098,0.0612666666666667,0.119533333333333,0.0747333333333333,0.0519333333333333,0.116533333333333,0.0532666666666667,0.0552666666666667,0.0942,0.1142,0.0566,0.0716,0.128333333333333,0.150533333333333,0.0691333333333333,0.124266666666667,0.0544666666666667,0.0540666666666667,0.111666666666667,0.0524,0.0568666666666667
|
||||||
|
"621",0.0595333333333333,0.0604,0.109333333333333,0.0608,0.1192,0.0742,0.0514666666666667,0.1162,0.0530666666666667,0.0548,0.0936,0.113933333333333,0.0561333333333333,0.0710666666666667,0.127666666666667,0.150066666666667,0.0686,0.124066666666667,0.0539333333333333,0.0535333333333333,0.111533333333333,0.0520666666666667,0.0566666666666667
|
||||||
|
"622",0.0590666666666667,0.0600666666666667,0.108866666666667,0.0604,0.118733333333333,0.0737333333333333,0.0513333333333333,0.116133333333333,0.0526,0.0546666666666667,0.093,0.113733333333333,0.056,0.0705333333333333,0.127466666666667,0.149333333333333,0.0682,0.123733333333333,0.0536666666666667,0.0533333333333333,0.111466666666667,0.0516666666666667,0.0564
|
||||||
|
"623",0.0588,0.0598666666666667,0.108666666666667,0.0602,0.118533333333333,0.0732,0.0513333333333333,0.116,0.0522666666666667,0.0542,0.0927333333333333,0.1134,0.0556,0.0700666666666667,0.126933333333333,0.149066666666667,0.0679333333333333,0.123466666666667,0.0534666666666667,0.0532666666666667,0.111266666666667,0.0515333333333333,0.0562
|
||||||
|
"624",0.0586666666666667,0.0594,0.108333333333333,0.0598666666666667,0.118266666666667,0.0727333333333333,0.0511333333333333,0.115733333333333,0.0521333333333334,0.0541333333333333,0.0922,0.113133333333333,0.0553333333333333,0.0698666666666667,0.126733333333333,0.148733333333333,0.0678666666666667,0.123266666666667,0.0532,0.053,0.1112,0.0514666666666667,0.0561333333333333
|
||||||
|
"625",0.0586,0.0592,0.108066666666667,0.0598,0.118066666666667,0.0725333333333333,0.0509333333333334,0.115666666666667,0.0520666666666667,0.0539333333333333,0.092,0.113266666666667,0.0552666666666667,0.0694,0.126533333333333,0.148333333333333,0.0672666666666667,0.123266666666667,0.053,0.053,0.111066666666667,0.0514,0.056
|
||||||
|
"626",0.0584,0.059,0.107933333333333,0.0596666666666667,0.118,0.0724666666666667,0.0508,0.1156,0.0520666666666667,0.0536,0.0918666666666666,0.113066666666667,0.0552,0.0692,0.126466666666667,0.148266666666667,0.0671333333333333,0.123133333333333,0.0528666666666667,0.0528,0.111,0.0512666666666667,0.0558
|
||||||
|
"627",0.0580666666666667,0.0589333333333333,0.107866666666667,0.0596,0.118066666666667,0.0720666666666667,0.0507333333333333,0.1154,0.0517333333333333,0.0535333333333333,0.0916666666666666,0.113,0.0550666666666667,0.069,0.126133333333333,0.148133333333333,0.0670666666666667,0.122866666666667,0.0526666666666667,0.0526666666666667,0.1108,0.0512666666666667,0.0556666666666667
|
||||||
|
"628",0.0578666666666667,0.0586666666666667,0.1078,0.0594666666666667,0.118133333333333,0.0720666666666667,0.0506,0.115333333333333,0.0517333333333333,0.0534,0.0914666666666667,0.113066666666667,0.0548666666666667,0.0692666666666667,0.126066666666667,0.147933333333333,0.067,0.122866666666667,0.0524,0.0524666666666667,0.110866666666667,0.0510666666666667,0.0555333333333333
|
||||||
|
"629",0.0578666666666667,0.0586,0.107733333333333,0.0593333333333333,0.118,0.0716666666666667,0.0506,0.115266666666667,0.0517333333333333,0.0533333333333333,0.0913333333333333,0.112933333333333,0.0548666666666667,0.0691333333333333,0.125933333333333,0.147733333333333,0.0669333333333333,0.122866666666667,0.0523333333333333,0.0524,0.110933333333333,0.051,0.0555333333333333
|
||||||
|
"630",0.0577333333333333,0.0588,0.107466666666667,0.0593333333333333,0.117933333333333,0.0716,0.0506,0.115266666666667,0.0516,0.0532,0.0912666666666666,0.1126,0.0547333333333333,0.0687333333333333,0.125866666666667,0.147533333333333,0.0668,0.1228,0.0522666666666667,0.0523333333333333,0.1108,0.0509333333333333,0.0555333333333333
|
||||||
|
"631",0.0576666666666667,0.0586666666666667,0.107466666666667,0.0592666666666667,0.117933333333333,0.0715333333333333,0.0506,0.115266666666667,0.0514666666666667,0.0532666666666667,0.091,0.112533333333333,0.0546,0.0686666666666667,0.125866666666667,0.1474,0.0666,0.122733333333333,0.0523333333333333,0.0522666666666667,0.110733333333333,0.0508666666666667,0.0555333333333333
|
||||||
|
"632",0.0576666666666667,0.0586,0.107533333333333,0.0590666666666667,0.117866666666667,0.0713333333333333,0.0504,0.1152,0.0514,0.0533333333333333,0.091,0.112533333333333,0.0545333333333333,0.0684,0.1258,0.147266666666667,0.0665333333333333,0.122533333333333,0.0522,0.0522666666666667,0.110533333333333,0.0508,0.0554666666666667
|
||||||
|
"633",0.0575333333333333,0.0582666666666667,0.1072,0.0592,0.1176,0.0710666666666666,0.0503333333333333,0.115133333333333,0.0513333333333333,0.0532,0.0907333333333333,0.112466666666667,0.0542666666666667,0.0684666666666667,0.125666666666667,0.147,0.0660666666666667,0.122333333333333,0.0520666666666667,0.0522,0.110533333333333,0.0506666666666667,0.0554666666666667
|
||||||
|
"634",0.0574666666666667,0.058,0.1072,0.0591333333333334,0.117333333333333,0.0707333333333333,0.0502,0.115,0.051,0.0528666666666667,0.0902666666666667,0.112333333333333,0.0542,0.0681333333333333,0.125133333333333,0.1468,0.0658666666666667,0.122266666666667,0.052,0.0520666666666667,0.110333333333333,0.0504666666666667,0.0551333333333334
|
||||||
|
"635",0.057,0.0577333333333333,0.107066666666667,0.0584666666666667,0.117,0.0702666666666666,0.0500666666666667,0.1146,0.0509333333333334,0.0525333333333333,0.0896,0.112066666666667,0.054,0.0676666666666667,0.124666666666667,0.146133333333333,0.0658,0.122066666666667,0.0515333333333333,0.0518666666666667,0.110266666666667,0.0503333333333333,0.0547333333333333
|
||||||
|
"636",0.0566,0.0573333333333333,0.106333333333333,0.0582,0.116733333333333,0.0695333333333333,0.0496666666666667,0.114466666666667,0.0507333333333333,0.0524,0.0889333333333333,0.111866666666667,0.0536666666666667,0.0674666666666667,0.124133333333333,0.1456,0.0653333333333333,0.121933333333333,0.0513333333333333,0.0516,0.110266666666667,0.0502,0.0546
|
||||||
|
"637",0.0561333333333333,0.0567333333333333,0.105933333333333,0.0577333333333333,0.116466666666667,0.0687333333333333,0.0495333333333333,0.1142,0.0502666666666667,0.052,0.0882,0.1116,0.0531333333333334,0.0668,0.123733333333333,0.144866666666667,0.0647333333333333,0.121666666666667,0.051,0.0512666666666667,0.110066666666667,0.05,0.0542666666666667
|
||||||
|
"638",0.0557333333333333,0.0564,0.105266666666667,0.0572666666666667,0.115866666666667,0.0679333333333333,0.0493333333333333,0.114066666666667,0.0498,0.0515333333333333,0.0875333333333333,0.111266666666667,0.0528,0.0662666666666667,0.123133333333333,0.144,0.0638666666666667,0.1212,0.0504666666666667,0.0509333333333334,0.1096,0.0494666666666667,0.0540666666666667
|
||||||
|
"639",0.0551333333333333,0.0556,0.104866666666667,0.0564666666666667,0.115466666666667,0.0669333333333333,0.0488,0.113666666666667,0.0496666666666667,0.0511333333333333,0.0866,0.110933333333333,0.0521333333333334,0.0654,0.122266666666667,0.143133333333333,0.0634,0.120866666666667,0.05,0.0506,0.109333333333333,0.0490666666666667,0.0538666666666667
|
||||||
|
"640",0.0544666666666667,0.055,0.104266666666667,0.0559333333333333,0.114933333333333,0.0658666666666667,0.0483333333333333,0.113266666666667,0.0491333333333333,0.0508666666666667,0.0854,0.1106,0.0515333333333333,0.0644,0.121466666666667,0.141866666666667,0.0626666666666667,0.120466666666667,0.0495333333333333,0.0501333333333333,0.108866666666667,0.0487333333333333,0.0532666666666667
|
||||||
|
"641",0.0538,0.0544666666666667,0.103733333333333,0.0552,0.114466666666667,0.0649333333333333,0.048,0.112733333333333,0.0486,0.0500666666666667,0.0843333333333333,0.11,0.0510666666666667,0.0635333333333333,0.120733333333333,0.140866666666667,0.0619333333333333,0.120066666666667,0.0488,0.0497333333333333,0.1086,0.0481333333333333,0.0530666666666667
|
||||||
|
"642",0.0530666666666667,0.0536,0.103,0.0544,0.114066666666667,0.0637333333333333,0.0476666666666667,0.112333333333333,0.0484,0.0496666666666667,0.0832666666666666,0.1098,0.0505333333333333,0.0625333333333333,0.1198,0.14,0.061,0.1196,0.0484666666666667,0.0492666666666667,0.108333333333333,0.0478,0.0526666666666667
|
||||||
|
"643",0.0522,0.053,0.102333333333333,0.0534666666666667,0.113266666666667,0.0624666666666667,0.0470666666666667,0.1122,0.0476666666666667,0.049,0.0818666666666667,0.109333333333333,0.0496666666666667,0.0620666666666667,0.118866666666667,0.138733333333333,0.06,0.1192,0.0476,0.0489333333333333,0.108,0.0473333333333333,0.0525333333333333
|
||||||
|
"644",0.0517333333333333,0.0523333333333333,0.101733333333333,0.053,0.112866666666667,0.0612,0.0466666666666667,0.1118,0.0472666666666667,0.0487333333333333,0.0808666666666667,0.108733333333333,0.0489333333333333,0.061,0.117933333333333,0.1374,0.0591333333333333,0.1186,0.0472666666666667,0.0485333333333333,0.1076,0.0469333333333333,0.0521333333333334
|
||||||
|
"645",0.0509333333333333,0.0512666666666667,0.1008,0.0521333333333333,0.1124,0.0598666666666667,0.0463333333333333,0.111333333333333,0.0468666666666667,0.0482666666666667,0.0796666666666667,0.108333333333333,0.0484,0.0598666666666667,0.117133333333333,0.136333333333333,0.0584,0.118466666666667,0.0466666666666667,0.0482,0.107333333333333,0.0463333333333333,0.0516666666666667
|
||||||
|
"646",0.0504666666666667,0.0507333333333333,0.1002,0.0514,0.111866666666667,0.0588666666666667,0.0459333333333333,0.111,0.0464,0.0474666666666667,0.0784666666666667,0.108133333333333,0.0478666666666667,0.059,0.116466666666667,0.135266666666667,0.0574,0.118066666666667,0.0457333333333333,0.0476,0.107133333333333,0.0461333333333333,0.0516
|
||||||
|
"647",0.0496,0.0499333333333333,0.0995333333333333,0.0506,0.111266666666667,0.058,0.0455333333333333,0.110666666666667,0.0461333333333333,0.0469333333333333,0.0774666666666667,0.107733333333333,0.0472666666666667,0.0582,0.115733333333333,0.134266666666667,0.0567333333333333,0.117666666666667,0.0452666666666667,0.0474,0.107,0.0458666666666667,0.0513333333333333
|
||||||
|
"648",0.0491333333333333,0.0493333333333333,0.0990666666666667,0.0501333333333333,0.110666666666667,0.0569333333333333,0.0452,0.110333333333333,0.0457333333333333,0.0465333333333333,0.0764666666666667,0.1072,0.0468666666666667,0.0572666666666667,0.115,0.1334,0.0560666666666667,0.117333333333333,0.0451333333333333,0.0470666666666667,0.106533333333333,0.0454666666666667,0.0509333333333334
|
||||||
|
"649",0.0485333333333333,0.0486666666666667,0.0986666666666667,0.0495333333333333,0.110333333333333,0.0562666666666667,0.0449333333333333,0.1102,0.0456,0.0462666666666667,0.0757333333333333,0.107133333333333,0.0464666666666667,0.0565333333333333,0.114466666666667,0.132533333333333,0.0554,0.117,0.0445333333333333,0.0468,0.1066,0.045,0.0509333333333334
|
||||||
|
"650",0.0482,0.0482,0.0983333333333333,0.049,0.109933333333333,0.0556,0.0446666666666667,0.11,0.0452666666666667,0.046,0.0749333333333333,0.1068,0.0461333333333333,0.0562,0.114066666666667,0.131733333333333,0.0547333333333333,0.1168,0.0441333333333333,0.0466,0.106533333333333,0.0449333333333333,0.0508666666666667
|
||||||
|
"651",0.0478,0.0478666666666667,0.0980666666666667,0.0488,0.109666666666667,0.0549333333333333,0.0443333333333333,0.109866666666667,0.045,0.0458,0.0745333333333333,0.106533333333333,0.0458,0.0554,0.113733333333333,0.131133333333333,0.0542,0.1164,0.0438,0.0463333333333333,0.106266666666667,0.0447333333333333,0.0508
|
||||||
|
"652",0.0475333333333333,0.0474666666666667,0.0977333333333333,0.0484,0.109333333333333,0.0544,0.0443333333333333,0.109666666666667,0.0448,0.0454666666666667,0.0737333333333333,0.106333333333333,0.0456,0.055,0.113266666666667,0.130733333333333,0.0537333333333333,0.116333333333333,0.0438,0.0460666666666667,0.106133333333333,0.0446,0.0504666666666667
|
||||||
|
"653",0.0471333333333333,0.0471333333333333,0.0972666666666667,0.0478666666666667,0.109066666666667,0.0538,0.0443333333333333,0.109466666666667,0.0446,0.0453333333333333,0.0735333333333333,0.106,0.0450666666666667,0.0544,0.1128,0.1302,0.0534,0.116066666666667,0.0435333333333333,0.046,0.106133333333333,0.0444,0.0504
|
||||||
|
"654",0.0466666666666667,0.0467333333333333,0.0969333333333333,0.0477333333333333,0.108866666666667,0.0532,0.0437333333333333,0.1094,0.0444666666666667,0.0452,0.0729333333333333,0.1058,0.0448666666666667,0.0539333333333333,0.112466666666667,0.129733333333333,0.0531333333333334,0.115866666666667,0.043,0.0459333333333333,0.106066666666667,0.0444,0.0502666666666667
|
||||||
|
"655",0.0464666666666667,0.0462666666666667,0.0967333333333333,0.0474,0.1086,0.0524,0.0436,0.1094,0.0440666666666667,0.0447333333333333,0.0724,0.105533333333333,0.0448,0.0534,0.112266666666667,0.129133333333333,0.0526666666666667,0.1158,0.0428,0.0457333333333333,0.106,0.0438,0.0501333333333333
|
||||||
|
"656",0.0458666666666667,0.0458666666666667,0.0963333333333333,0.0469333333333333,0.108266666666667,0.0521333333333333,0.0433333333333333,0.109266666666667,0.0438,0.0444,0.0717333333333333,0.1054,0.0443333333333333,0.0526,0.111733333333333,0.1284,0.0520666666666667,0.115533333333333,0.0428,0.0456,0.106066666666667,0.0438666666666667,0.0500666666666667
|
||||||
|
"657",0.0456666666666667,0.0452666666666667,0.096,0.0466,0.107933333333333,0.0515333333333333,0.0432666666666667,0.109133333333333,0.0436,0.0442,0.0710666666666667,0.1052,0.0438666666666667,0.0521333333333334,0.1114,0.1278,0.0513333333333333,0.1154,0.0422666666666667,0.0452,0.105933333333333,0.0438,0.0501333333333333
|
||||||
|
"658",0.0454,0.0447333333333333,0.0957333333333333,0.0462666666666667,0.107466666666667,0.0508,0.043,0.109,0.0434,0.0438,0.0702666666666667,0.105,0.0437333333333333,0.0514666666666667,0.110866666666667,0.126933333333333,0.0507333333333333,0.115133333333333,0.0419333333333333,0.0449333333333333,0.105733333333333,0.0436,0.0501333333333333
|
||||||
|
"659",0.0447333333333333,0.0443333333333333,0.0953333333333333,0.0458666666666667,0.107333333333333,0.05,0.0428,0.108466666666667,0.0431333333333333,0.0436,0.0696666666666667,0.104866666666667,0.0434666666666667,0.0508,0.110466666666667,0.126133333333333,0.0503333333333333,0.1146,0.0414666666666667,0.0449333333333333,0.1056,0.0433333333333333,0.0497333333333333
|
||||||
|
"660",0.0443333333333333,0.0436,0.0948666666666667,0.0454,0.107066666666667,0.0492666666666667,0.0423333333333333,0.1084,0.0429333333333333,0.0432,0.0687333333333333,0.1044,0.0430666666666667,0.0500666666666667,0.109933333333333,0.125466666666667,0.0496666666666667,0.114466666666667,0.0412,0.0447333333333333,0.105333333333333,0.0431333333333333,0.0496
|
||||||
|
"661",0.0437333333333333,0.0432666666666667,0.0945333333333333,0.0451333333333333,0.1068,0.0486,0.0423333333333333,0.108333333333333,0.0428,0.0428666666666667,0.0679333333333333,0.104266666666667,0.0427333333333333,0.0494666666666667,0.1096,0.124666666666667,0.0492,0.114333333333333,0.0408666666666667,0.0446,0.105266666666667,0.0428666666666667,0.0497333333333333
|
||||||
|
"662",0.0433333333333333,0.0427333333333333,0.0942666666666667,0.0447333333333333,0.106466666666667,0.0480666666666667,0.042,0.108133333333333,0.0426,0.0427333333333333,0.0672,0.103866666666667,0.0424666666666667,0.0489333333333333,0.109,0.123866666666667,0.0486,0.114133333333333,0.0406,0.0443333333333333,0.105266666666667,0.0426666666666667,0.0498666666666667
|
||||||
|
"663",0.0430666666666667,0.0424,0.0938,0.0444,0.1062,0.0474666666666667,0.0419333333333333,0.108133333333333,0.0421333333333333,0.0423333333333333,0.0662666666666667,0.103866666666667,0.0420666666666667,0.0484,0.108666666666667,0.1232,0.0479333333333333,0.113866666666667,0.0403333333333333,0.0442,0.105266666666667,0.0425333333333333,0.0498
|
||||||
|
"664",0.0428,0.0420666666666667,0.0935333333333333,0.0438,0.106066666666667,0.0468,0.0416,0.107933333333333,0.0420666666666667,0.0422666666666667,0.0654,0.103866666666667,0.0419333333333333,0.0478,0.108466666666667,0.122666666666667,0.0477333333333333,0.113866666666667,0.04,0.0441333333333333,0.105133333333333,0.0423333333333333,0.0496666666666667
|
||||||
|
"665",0.0425333333333333,0.0417333333333333,0.0934,0.0438,0.105933333333333,0.0464666666666667,0.0418,0.1078,0.042,0.0421333333333333,0.0648,0.103733333333333,0.0417333333333333,0.0474,0.1082,0.122066666666667,0.0471333333333333,0.1138,0.0399333333333333,0.0441333333333333,0.105066666666667,0.0422666666666667,0.0498666666666667
|
||||||
|
"666",0.0422,0.0414666666666667,0.0933333333333333,0.0436666666666667,0.105933333333333,0.0460666666666667,0.0418,0.1078,0.042,0.0420666666666667,0.0643333333333333,0.103733333333333,0.0414,0.0470666666666667,0.108066666666667,0.121466666666667,0.0469333333333333,0.1138,0.0398666666666667,0.0441333333333333,0.105066666666667,0.0424,0.0499333333333334
|
||||||
|
"667",0.0421333333333333,0.0413333333333333,0.0930666666666667,0.0436,0.105866666666667,0.0459333333333333,0.0416,0.107866666666667,0.0418666666666667,0.0418,0.0638666666666667,0.103733333333333,0.0416,0.0470666666666667,0.107933333333333,0.121133333333333,0.0468666666666667,0.113733333333333,0.0397333333333333,0.0440666666666667,0.105,0.0424666666666667,0.0500666666666667
|
||||||
|
"668",0.0420666666666667,0.0413333333333333,0.0929333333333333,0.0433333333333333,0.1058,0.0458666666666667,0.0414666666666667,0.107866666666667,0.0419333333333333,0.0418666666666667,0.0633333333333333,0.103866666666667,0.0415333333333333,0.0468666666666667,0.107866666666667,0.120933333333333,0.0467333333333333,0.1136,0.0397333333333333,0.0441333333333333,0.105133333333333,0.0426666666666667,0.0502
|
||||||
|
"669",0.0420666666666667,0.0413333333333333,0.0930666666666667,0.0432666666666667,0.1058,0.0457333333333333,0.0413333333333333,0.107933333333333,0.0419333333333333,0.0420666666666667,0.0632666666666667,0.104133333333333,0.0414666666666667,0.0468666666666667,0.1078,0.120666666666667,0.0467333333333333,0.113533333333333,0.0396666666666667,0.0442666666666667,0.105333333333333,0.0427333333333333,0.0504666666666667
|
||||||
|
"670",0.0420666666666667,0.0414,0.0932666666666667,0.0435333333333333,0.106,0.0456666666666667,0.0414666666666667,0.108,0.0421333333333333,0.042,0.0632,0.1042,0.0414666666666667,0.0468666666666667,0.107933333333333,0.120733333333333,0.0466,0.1136,0.0396666666666667,0.0443333333333333,0.105466666666667,0.0428666666666667,0.0508
|
||||||
|
"671",0.0420666666666667,0.0414,0.0934666666666666,0.0434666666666667,0.106,0.0457333333333333,0.0416666666666667,0.108133333333333,0.0424666666666667,0.0419333333333333,0.0632,0.104266666666667,0.0415333333333333,0.047,0.108266666666667,0.120733333333333,0.0466,0.1138,0.0398666666666667,0.0444666666666667,0.1056,0.0431333333333333,0.0512666666666667
|
||||||
|
"672",0.0422666666666667,0.0416,0.0934666666666666,0.0436666666666667,0.106066666666667,0.0456,0.0417333333333333,0.1082,0.0426666666666667,0.0422666666666667,0.0634,0.104466666666667,0.0416,0.0470666666666667,0.108333333333333,0.120933333333333,0.0467333333333333,0.1138,0.0399333333333333,0.0444666666666667,0.105866666666667,0.0432666666666667,0.0516
|
||||||
|
"673",0.0423333333333333,0.0417333333333333,0.0935333333333333,0.0438666666666667,0.106466666666667,0.0458666666666667,0.0418,0.108466666666667,0.0428666666666667,0.0423333333333333,0.0636,0.1048,0.0417333333333333,0.0471333333333333,0.108533333333333,0.121066666666667,0.0469333333333333,0.114066666666667,0.0402,0.0448,0.106333333333333,0.0434666666666667,0.0518666666666667
|
||||||
|
"674",0.0424666666666667,0.042,0.0936666666666666,0.0442666666666667,0.106733333333333,0.0463333333333333,0.042,0.108733333333333,0.043,0.0425333333333333,0.064,0.105,0.0418666666666667,0.0474666666666667,0.108733333333333,0.121466666666667,0.0469333333333333,0.114333333333333,0.0404666666666667,0.0449333333333333,0.1064,0.0440666666666667,0.0524
|
||||||
|
"675",0.0427333333333333,0.0423333333333333,0.0938666666666667,0.0444666666666667,0.107066666666667,0.0463333333333333,0.0422,0.108866666666667,0.0434,0.0426666666666667,0.0644,0.105333333333333,0.0419333333333333,0.0476666666666667,0.1092,0.121666666666667,0.0473333333333333,0.114666666666667,0.0405333333333333,0.0454,0.106733333333333,0.0443333333333333,0.0529333333333334
|
||||||
|
"676",0.043,0.0425333333333333,0.0944,0.0446,0.107333333333333,0.0464,0.0424,0.1092,0.0436,0.0428666666666667,0.0648,0.105733333333333,0.0423333333333333,0.0480666666666667,0.109466666666667,0.1222,0.0474666666666667,0.1148,0.0408666666666667,0.0456666666666667,0.107066666666667,0.0444666666666667,0.0534
|
||||||
|
"677",0.0433333333333333,0.0428666666666667,0.0946,0.045,0.107666666666667,0.047,0.0426666666666667,0.109466666666667,0.044,0.0430666666666667,0.0655333333333333,0.106133333333333,0.0426666666666667,0.0483333333333333,0.11,0.122733333333333,0.0478,0.1148,0.041,0.0461333333333333,0.107466666666667,0.0451333333333333,0.0538666666666667
|
||||||
|
"678",0.0438,0.0433333333333333,0.0948666666666667,0.0454,0.108133333333333,0.0474,0.043,0.1098,0.0444,0.0434666666666667,0.0663333333333333,0.1066,0.0427333333333333,0.049,0.110066666666667,0.123333333333333,0.0481333333333333,0.115333333333333,0.0414666666666667,0.0464666666666667,0.107733333333333,0.0454666666666667,0.0543333333333333
|
||||||
|
"679",0.0441333333333333,0.0438666666666667,0.0952,0.0458,0.108266666666667,0.0477333333333333,0.0434,0.1102,0.0448,0.0438,0.0670666666666667,0.106866666666667,0.0432,0.0493333333333333,0.110866666666667,0.124,0.0487333333333333,0.1156,0.0416666666666667,0.0468,0.108466666666667,0.0462,0.0552
|
||||||
|
"680",0.0446,0.0444,0.0956,0.0462666666666667,0.1088,0.0482666666666667,0.0438,0.110466666666667,0.0451333333333333,0.0440666666666667,0.0682666666666667,0.107333333333333,0.0436,0.0498,0.1112,0.1248,0.0489333333333333,0.116,0.0422,0.0472,0.108866666666667,0.0466666666666667,0.0558666666666667
|
||||||
|
"681",0.0450666666666667,0.0448666666666667,0.0962,0.0468,0.109333333333333,0.0488,0.0440666666666667,0.111066666666667,0.0458666666666667,0.0445333333333333,0.0692666666666667,0.107866666666667,0.0440666666666667,0.0505333333333333,0.111866666666667,0.125866666666667,0.0495333333333333,0.1164,0.0426666666666667,0.0476,0.109133333333333,0.0472666666666667,0.0562666666666667
|
||||||
|
"682",0.0456,0.0455333333333333,0.0965333333333333,0.0473333333333333,0.109666666666667,0.0495333333333333,0.0444666666666667,0.111333333333333,0.0466,0.0450666666666667,0.0704666666666667,0.108333333333333,0.0443333333333333,0.0510666666666667,0.1126,0.1268,0.0499333333333334,0.1168,0.0430666666666667,0.0480666666666667,0.1098,0.0478666666666667,0.0571333333333333
|
||||||
|
"683",0.0462,0.0461333333333333,0.0971333333333333,0.0479333333333333,0.1102,0.0503333333333333,0.0451333333333333,0.1118,0.0469333333333333,0.0456,0.0719333333333333,0.108933333333333,0.0449333333333333,0.0518,0.113333333333333,0.128,0.0508,0.117266666666667,0.0436,0.0486666666666667,0.110333333333333,0.0484,0.0577333333333334
|
||||||
|
"684",0.0468,0.0467333333333333,0.0976666666666667,0.0486666666666667,0.1108,0.0511333333333333,0.0455333333333333,0.112333333333333,0.0475333333333333,0.0460666666666667,0.0736666666666667,0.1094,0.0454666666666667,0.0527333333333333,0.114133333333333,0.1294,0.0516,0.117666666666667,0.0442,0.0491333333333333,0.110866666666667,0.0490666666666667,0.0583333333333333
|
||||||
|
"685",0.0477333333333333,0.0478,0.0984,0.0494666666666667,0.111466666666667,0.0524,0.0462666666666667,0.112733333333333,0.0483333333333333,0.0467333333333333,0.0756666666666667,0.110133333333333,0.0462,0.054,0.115133333333333,0.130933333333333,0.0527333333333333,0.118333333333333,0.0448666666666667,0.0498,0.111133333333333,0.0497333333333333,0.059
|
||||||
|
"686",0.0486666666666667,0.0487333333333333,0.0993333333333333,0.0505333333333333,0.1122,0.0538,0.0466666666666667,0.113466666666667,0.0490666666666667,0.0474666666666667,0.0777333333333333,0.110733333333333,0.0471333333333333,0.0550666666666667,0.116266666666667,0.132866666666667,0.0537333333333333,0.119,0.0457333333333333,0.0504666666666667,0.1118,0.0502666666666667,0.0594666666666667
|
||||||
|
"687",0.0499333333333333,0.0501333333333333,0.1004,0.0518,0.113133333333333,0.0558666666666667,0.0476,0.113933333333333,0.0494666666666667,0.0482666666666667,0.0802,0.111333333333333,0.0480666666666667,0.0566666666666667,0.117533333333333,0.135066666666667,0.0552666666666667,0.1196,0.0466666666666667,0.0513333333333333,0.112266666666667,0.0509333333333334,0.0602666666666667
|
||||||
|
"688",0.0513333333333333,0.0519333333333333,0.101933333333333,0.0534666666666667,0.1144,0.0582,0.0484666666666667,0.114866666666667,0.0504666666666667,0.0492666666666667,0.0832666666666666,0.112266666666667,0.0492,0.0588,0.119333333333333,0.137666666666667,0.0571333333333333,0.120466666666667,0.0477333333333333,0.0522,0.112933333333333,0.0519333333333334,0.0608
|
||||||
|
"689",0.0532,0.054,0.1036,0.0554666666666667,0.115933333333333,0.0612666666666667,0.0496666666666667,0.115866666666667,0.0516666666666667,0.0508,0.0868666666666667,0.1134,0.0509333333333334,0.0613333333333333,0.121666666666667,0.141133333333333,0.0594,0.1218,0.0494,0.0530666666666667,0.113733333333333,0.0530666666666667,0.0616
|
||||||
|
"690",0.0556666666666667,0.0566666666666667,0.105533333333333,0.0580666666666667,0.118066666666667,0.0648666666666667,0.0512,0.117333333333333,0.0533333333333333,0.0526,0.0907333333333333,0.114666666666667,0.0530666666666667,0.0648666666666667,0.1244,0.145066666666667,0.0624,0.123266666666667,0.0514,0.0544666666666667,0.114666666666667,0.0543333333333334,0.0624666666666667
|
||||||
|
"691",0.0586666666666667,0.0599333333333334,0.1084,0.0612,0.120666666666667,0.07,0.0531333333333333,0.118933333333333,0.0552,0.0549333333333333,0.0956,0.116533333333333,0.0558666666666667,0.069,0.1282,0.149733333333333,0.066,0.125066666666667,0.0540666666666667,0.0562,0.116133333333333,0.0564,0.0641333333333333
|
||||||
|
"692",0.0625333333333333,0.0642,0.111866666666667,0.0655333333333333,0.123733333333333,0.0758666666666667,0.0556666666666667,0.121133333333333,0.0576666666666667,0.0578666666666667,0.101066666666667,0.119066666666667,0.0594,0.0741333333333333,0.1326,0.1552,0.0704,0.127533333333333,0.0571333333333333,0.0584666666666667,0.117866666666667,0.0586,0.0658666666666667
|
||||||
|
"693",0.0670666666666666,0.069,0.1162,0.0702666666666667,0.1274,0.0829333333333333,0.0589333333333333,0.123733333333333,0.0609333333333333,0.0612666666666667,0.106933333333333,0.1218,0.0636666666666667,0.0802,0.138133333333333,0.1616,0.0762,0.130666666666667,0.0609333333333333,0.0614,0.12,0.0614666666666667,0.0680666666666667
|
||||||
|
"694",0.0724,0.075,0.1214,0.0762,0.1322,0.0909333333333333,0.0626,0.127266666666667,0.0646666666666667,0.0655333333333333,0.1136,0.125333333333333,0.0686666666666667,0.0872,0.144266666666667,0.168533333333333,0.0823333333333333,0.1344,0.0659333333333333,0.0649333333333333,0.122733333333333,0.0652,0.071
|
||||||
|
"695",0.0788,0.0815333333333333,0.1274,0.083,0.137466666666667,0.1002,0.0671333333333333,0.1312,0.0692666666666667,0.0706666666666667,0.1212,0.129933333333333,0.0747333333333333,0.0954666666666667,0.151333333333333,0.176333333333333,0.0896666666666667,0.138933333333333,0.0715333333333333,0.0694,0.1262,0.0695333333333333,0.0749333333333333
|
||||||
|
"696",0.0862,0.0892666666666667,0.1342,0.0906666666666667,0.1436,0.110133333333333,0.0725333333333333,0.135866666666667,0.0746,0.0766,0.129266666666667,0.1346,0.0816666666666667,0.104466666666667,0.1592,0.184466666666667,0.0980666666666667,0.144266666666667,0.0780666666666667,0.0746666666666667,0.130133333333333,0.0747333333333333,0.0794
|
||||||
|
"697",0.0942666666666667,0.0977333333333334,0.1418,0.0992,0.1502,0.1208,0.0788666666666667,0.1412,0.0808,0.0833333333333333,0.137533333333333,0.140333333333333,0.0896,0.114333333333333,0.167333333333333,0.193066666666667,0.107,0.150333333333333,0.0852,0.0808,0.1348,0.0804666666666667,0.0848
|
||||||
|
"698",0.1028,0.106666666666667,0.149933333333333,0.1084,0.157466666666667,0.132333333333333,0.0856,0.147466666666667,0.0879333333333333,0.0907333333333333,0.1464,0.146933333333333,0.098,0.124666666666667,0.176466666666667,0.202,0.116666666666667,0.157066666666667,0.0932666666666667,0.0876666666666667,0.139933333333333,0.0870666666666667,0.0908
|
||||||
|
"699",0.112466666666667,0.116066666666667,0.158933333333333,0.118266666666667,0.165333333333333,0.144066666666667,0.0932666666666667,0.153933333333333,0.0957333333333334,0.0988,0.1556,0.154,0.107466666666667,0.136066666666667,0.185933333333333,0.211333333333333,0.127133333333333,0.164466666666667,0.1018,0.0954,0.146066666666667,0.0943333333333333,0.0974
|
||||||
|
"700",0.122466666666667,0.126066666666667,0.168133333333333,0.128733333333333,0.173533333333333,0.156333333333333,0.1014,0.160933333333333,0.1042,0.1074,0.165133333333333,0.161733333333333,0.117133333333333,0.147866666666667,0.195466666666667,0.220733333333333,0.138,0.1726,0.110666666666667,0.103666666666667,0.152533333333333,0.102066666666667,0.104866666666667
|
||||||
|
"701",0.132866666666667,0.136533333333333,0.178,0.139266666666667,0.182066666666667,0.1686,0.109866666666667,0.168666666666667,0.113066666666667,0.116533333333333,0.174933333333333,0.169666666666667,0.127266666666667,0.1596,0.205133333333333,0.230266666666667,0.1492,0.181,0.119866666666667,0.112933333333333,0.159266666666667,0.110266666666667,0.112666666666667
|
||||||
|
"702",0.143466666666667,0.1468,0.187866666666667,0.149866666666667,0.1908,0.180933333333333,0.118933333333333,0.176333333333333,0.122466666666667,0.125733333333333,0.184533333333333,0.178133333333333,0.137533333333333,0.171533333333333,0.214866666666667,0.2396,0.160666666666667,0.189933333333333,0.1294,0.122133333333333,0.166466666666667,0.1188,0.120933333333333
|
||||||
|
"703",0.154133333333333,0.157133333333333,0.197866666666667,0.1608,0.199866666666667,0.193066666666667,0.128133333333333,0.184466666666667,0.1324,0.1352,0.194266666666667,0.1868,0.148133333333333,0.183333333333333,0.224533333333333,0.249,0.172133333333333,0.198866666666667,0.139133333333333,0.131866666666667,0.174066666666667,0.1278,0.129866666666667
|
||||||
|
"704",0.164933333333333,0.1678,0.208,0.171666666666667,0.208666666666667,0.204933333333333,0.137666666666667,0.192933333333333,0.1424,0.145133333333333,0.204133333333333,0.1958,0.158666666666667,0.1952,0.234266666666667,0.258133333333333,0.183533333333333,0.207933333333333,0.149,0.141666666666667,0.182066666666667,0.136733333333333,0.139
|
||||||
|
"705",0.1758,0.178133333333333,0.2178,0.182533333333333,0.217533333333333,0.2166,0.147266666666667,0.2014,0.152866666666667,0.155133333333333,0.213666666666667,0.204933333333333,0.1694,0.206933333333333,0.2436,0.266933333333333,0.195,0.2174,0.158866666666667,0.1518,0.189733333333333,0.145866666666667,0.148333333333333
|
||||||
|
"706",0.186333333333333,0.1884,0.2278,0.193133333333333,0.226466666666667,0.228,0.157,0.209866666666667,0.163066666666667,0.164933333333333,0.223266666666667,0.214,0.18,0.2182,0.252866666666667,0.2756,0.206266666666667,0.2268,0.1686,0.162,0.197666666666667,0.155333333333333,0.1576
|
||||||
|
"707",0.196933333333333,0.198333333333333,0.237533333333333,0.2036,0.2352,0.239,0.166866666666667,0.2184,0.173533333333333,0.1748,0.232666666666667,0.223266666666667,0.190266666666667,0.229266666666667,0.262133333333333,0.284266666666667,0.217266666666667,0.2362,0.178066666666667,0.172333333333333,0.205866666666667,0.164533333333333,0.167266666666667
|
||||||
|
"708",0.207,0.208333333333333,0.247133333333333,0.213933333333333,0.243933333333333,0.2496,0.176666666666667,0.2268,0.184133333333333,0.184733333333333,0.242133333333333,0.232533333333333,0.200466666666667,0.2402,0.271133333333333,0.292733333333333,0.2282,0.245733333333333,0.187466666666667,0.182666666666667,0.2138,0.173866666666667,0.177133333333333
|
||||||
|
"709",0.217133333333333,0.218133333333333,0.256866666666667,0.224066666666667,0.252666666666667,0.26,0.186333333333333,0.2354,0.194866666666667,0.194533333333333,0.2514,0.2418,0.210733333333333,0.250933333333333,0.28,0.300866666666667,0.238733333333333,0.255133333333333,0.196933333333333,0.192866666666667,0.2222,0.1832,0.186866666666667
|
||||||
|
"710",0.227,0.227733333333333,0.266,0.234266666666667,0.2614,0.270133333333333,0.1962,0.243733333333333,0.205666666666667,0.204066666666667,0.260466666666667,0.2512,0.2208,0.2614,0.288666666666667,0.3088,0.249466666666667,0.2646,0.206333333333333,0.203,0.230466666666667,0.192533333333333,0.1968
|
||||||
|
"711",0.236666666666667,0.237333333333333,0.275266666666667,0.244,0.269866666666667,0.279666666666667,0.205866666666667,0.252333333333333,0.216066666666667,0.213866666666667,0.269333333333333,0.260533333333333,0.230733333333333,0.271533333333333,0.296933333333333,0.316666666666667,0.259866666666667,0.274266666666667,0.215533333333333,0.2132,0.2388,0.201933333333333,0.206733333333333
|
||||||
|
"712",0.246333333333333,0.2466,0.2844,0.253733333333333,0.278133333333333,0.289333333333333,0.2156,0.260866666666667,0.2268,0.2234,0.278333333333333,0.269666666666667,0.2406,0.2814,0.305266666666667,0.3244,0.2702,0.2836,0.2248,0.223266666666667,0.246933333333333,0.211266666666667,0.2168
|
||||||
|
"713",0.255666666666667,0.255933333333333,0.293333333333333,0.263066666666667,0.286866666666667,0.298666666666667,0.2252,0.2694,0.2376,0.233066666666667,0.287266666666667,0.278866666666667,0.250066666666667,0.290933333333333,0.313533333333333,0.331866666666667,0.280266666666667,0.293,0.233733333333333,0.2334,0.255266666666667,0.2206,0.226733333333333
|
||||||
|
"714",0.265133333333333,0.264933333333333,0.302066666666667,0.272466666666667,0.295133333333333,0.307533333333333,0.235133333333333,0.2776,0.2486,0.242466666666667,0.2958,0.288333333333333,0.259666666666667,0.300466666666667,0.321533333333333,0.339333333333333,0.2902,0.302533333333333,0.2426,0.243466666666667,0.263666666666667,0.230133333333333,0.236933333333333
|
||||||
|
"715",0.274266666666667,0.273933333333333,0.3106,0.281666666666667,0.303133333333333,0.3162,0.2446,0.286066666666667,0.259466666666667,0.251866666666667,0.304333333333333,0.2976,0.268933333333333,0.309666666666667,0.329466666666667,0.346666666666667,0.3,0.311866666666667,0.251533333333333,0.253266666666667,0.271933333333333,0.2396,0.246866666666667
|
||||||
|
"716",0.283333333333333,0.282466666666667,0.319133333333333,0.2908,0.311533333333333,0.324866666666667,0.254,0.2946,0.269866666666667,0.261133333333333,0.3128,0.3066,0.278066666666667,0.318466666666667,0.337466666666667,0.3538,0.309533333333333,0.3212,0.260266666666667,0.263133333333333,0.280266666666667,0.248866666666667,0.256866666666667
|
||||||
|
"717",0.292133333333333,0.291133333333333,0.327266666666667,0.299666666666667,0.3194,0.333,0.263533333333333,0.3028,0.280733333333333,0.27,0.321133333333333,0.315533333333333,0.287,0.3272,0.345,0.360933333333333,0.3188,0.330333333333333,0.2688,0.2728,0.288533333333333,0.258266666666667,0.266866666666667
|
||||||
|
"718",0.300866666666667,0.299466666666667,0.3352,0.308266666666667,0.3272,0.341,0.272933333333333,0.310866666666667,0.291133333333333,0.279,0.3294,0.324533333333333,0.295866666666667,0.335666666666667,0.352333333333333,0.367733333333333,0.327933333333333,0.339533333333333,0.2772,0.282266666666667,0.296733333333333,0.267333333333333,0.276733333333333
|
||||||
|
"719",0.309266666666667,0.307333333333333,0.343133333333333,0.3166,0.334933333333333,0.348666666666667,0.282133333333333,0.319,0.3016,0.287733333333333,0.3374,0.333533333333333,0.3042,0.343866666666667,0.359333333333333,0.3744,0.336733333333333,0.348666666666667,0.285133333333333,0.291866666666667,0.304933333333333,0.276666666666667,0.2866
|
||||||
|
"720",0.3176,0.315533333333333,0.3506,0.324733333333333,0.342466666666667,0.356066666666667,0.291266666666667,0.326866666666667,0.311733333333333,0.2964,0.3454,0.342066666666667,0.3126,0.351466666666667,0.366533333333333,0.380733333333333,0.345533333333333,0.357466666666667,0.2934,0.300933333333333,0.312933333333333,0.2858,0.296333333333333
|
||||||
|
"721",0.3256,0.323333333333333,0.358333333333333,0.333066666666667,0.349866666666667,0.363,0.3002,0.3346,0.3218,0.3048,0.353066666666667,0.350533333333333,0.3208,0.359066666666667,0.3734,0.387133333333333,0.353933333333333,0.366533333333333,0.3014,0.309866666666667,0.3208,0.2946,0.305866666666667
|
||||||
|
"722",0.333333333333333,0.330733333333333,0.365533333333333,0.340933333333333,0.3574,0.370066666666667,0.309066666666667,0.342533333333333,0.3316,0.313266666666667,0.3608,0.358933333333333,0.328733333333333,0.366266666666667,0.379866666666667,0.393,0.362133333333333,0.375,0.309133333333333,0.318733333333333,0.328466666666667,0.303533333333333,0.315466666666667
|
||||||
|
"723",0.340666666666667,0.338,0.372333333333333,0.348533333333333,0.3644,0.376533333333333,0.317533333333333,0.349866666666667,0.341266666666667,0.321266666666667,0.368066666666667,0.3672,0.336466666666667,0.373266666666667,0.386333333333333,0.398866666666667,0.370133333333333,0.383533333333333,0.3164,0.3272,0.336066666666667,0.311866666666667,0.324733333333333
|
||||||
|
"724",0.347533333333333,0.345,0.379,0.356,0.371266666666667,0.383133333333333,0.325733333333333,0.357,0.350866666666667,0.329066666666667,0.3754,0.3752,0.3438,0.38,0.3924,0.404666666666667,0.377866666666667,0.391933333333333,0.323533333333333,0.335333333333333,0.343466666666667,0.3202,0.334
|
||||||
|
"725",0.354266666666667,0.351533333333333,0.385533333333333,0.363133333333333,0.378,0.388866666666667,0.3338,0.364266666666667,0.360066666666667,0.3364,0.382266666666667,0.382733333333333,0.350933333333333,0.386266666666667,0.398466666666667,0.4102,0.385133333333333,0.399866666666667,0.330333333333333,0.343266666666667,0.350733333333333,0.328466666666667,0.3426
|
||||||
|
"726",0.360466666666667,0.358,0.391733333333333,0.369866666666667,0.384466666666667,0.394666666666667,0.341666666666667,0.371066666666667,0.369,0.343666666666667,0.388933333333333,0.390133333333333,0.3578,0.3924,0.404133333333333,0.4154,0.3922,0.4076,0.337,0.351133333333333,0.3576,0.336133333333333,0.351266666666667
|
||||||
|
"727",0.366466666666667,0.364266666666667,0.3976,0.376266666666667,0.3906,0.399933333333333,0.349066666666667,0.377466666666667,0.377666666666667,0.3506,0.3954,0.397466666666667,0.3644,0.398266666666667,0.409533333333333,0.4204,0.399,0.414866666666667,0.3432,0.3586,0.364533333333333,0.343733333333333,0.359466666666667
|
||||||
|
"728",0.3724,0.37,0.403066666666667,0.382666666666667,0.396733333333333,0.405133333333333,0.356466666666667,0.3838,0.385733333333333,0.357066666666667,0.4016,0.4042,0.370466666666667,0.403866666666667,0.4148,0.425066666666667,0.405466666666667,0.422,0.3492,0.3658,0.371133333333333,0.351133333333333,0.3674
|
||||||
|
"729",0.378066666666667,0.375333333333333,0.408266666666667,0.388666666666667,0.402466666666667,0.410133333333333,0.363266666666667,0.389866666666667,0.393533333333333,0.363466666666667,0.4076,0.4108,0.3764,0.409133333333333,0.4196,0.4296,0.4116,0.429133333333333,0.355,0.372466666666667,0.377333333333333,0.358066666666667,0.375066666666667
|
||||||
|
"730",0.383333333333333,0.380866666666667,0.4136,0.3944,0.407666666666667,0.414666666666667,0.370133333333333,0.395666666666667,0.4012,0.3694,0.4132,0.417133333333333,0.382133333333333,0.413866666666667,0.4242,0.434,0.4176,0.435733333333333,0.360466666666667,0.3792,0.3834,0.364866666666667,0.382333333333333
|
||||||
|
"731",0.3886,0.3856,0.418533333333333,0.399866666666667,0.412866666666667,0.419066666666667,0.376333333333333,0.401333333333333,0.4086,0.375266666666667,0.418333333333333,0.423133333333333,0.387533333333333,0.418733333333333,0.4284,0.437933333333333,0.4232,0.441933333333333,0.365666666666667,0.3854,0.389,0.3714,0.389333333333333
|
||||||
|
"732",0.3934,0.390333333333333,0.423133333333333,0.404866666666667,0.4178,0.4232,0.3826,0.406666666666667,0.415666666666667,0.380533333333333,0.423466666666667,0.428866666666667,0.3928,0.423,0.4326,0.442,0.428533333333333,0.447866666666667,0.371,0.391333333333333,0.394466666666667,0.377733333333333,0.396
|
||||||
|
"733",0.397933333333333,0.3948,0.427466666666667,0.409666666666667,0.422333333333333,0.427066666666667,0.388066666666667,0.411666666666667,0.4222,0.3856,0.4282,0.434266666666667,0.3976,0.427266666666667,0.4368,0.445666666666667,0.433533333333333,0.453266666666667,0.375666666666667,0.397066666666667,0.3998,0.383466666666667,0.402466666666667
|
||||||
|
"734",0.402266666666667,0.399,0.431466666666667,0.414266666666667,0.426666666666667,0.4308,0.393533333333333,0.416466666666667,0.428266666666667,0.390533333333333,0.4328,0.439466666666667,0.4022,0.431066666666667,0.4404,0.4492,0.438266666666667,0.458533333333333,0.380266666666667,0.402333333333333,0.4044,0.3892,0.408466666666667
|
||||||
|
"735",0.406466666666667,0.403133333333333,0.435,0.418333333333333,0.430666666666667,0.434,0.3986,0.421133333333333,0.434133333333333,0.395,0.436933333333333,0.4442,0.406333333333333,0.4346,0.443466666666667,0.452333333333333,0.4428,0.463466666666667,0.384466666666667,0.4072,0.409133333333333,0.394533333333333,0.414066666666667
|
||||||
|
"736",0.4104,0.406666666666667,0.438666666666667,0.422266666666667,0.434666666666667,0.437333333333333,0.403266666666667,0.425133333333333,0.4398,0.399466666666667,0.440666666666667,0.448933333333333,0.4104,0.438066666666667,0.446733333333333,0.455133333333333,0.4472,0.4682,0.388466666666667,0.411866666666667,0.413533333333333,0.399466666666667,0.419466666666667
|
||||||
|
"737",0.413733333333333,0.410133333333333,0.4424,0.426,0.438066666666667,0.4402,0.4078,0.429133333333333,0.444866666666667,0.403466666666667,0.4444,0.453266666666667,0.414066666666667,0.441266666666667,0.449666666666667,0.458,0.451133333333333,0.472533333333333,0.392333333333333,0.416,0.4176,0.404,0.424466666666667
|
||||||
|
"738",0.417066666666667,0.4132,0.445533333333333,0.429333333333333,0.441466666666667,0.443066666666667,0.412266666666667,0.4328,0.449933333333333,0.4072,0.447866666666667,0.4574,0.417333333333333,0.444333333333333,0.452533333333333,0.460466666666667,0.455,0.476466666666667,0.395733333333333,0.420333333333333,0.421533333333333,0.4084,0.4294
|
||||||
|
"739",0.419933333333333,0.4162,0.448333333333333,0.432666666666667,0.444333333333333,0.445333333333333,0.416266666666667,0.4362,0.454266666666667,0.410866666666667,0.4512,0.461066666666667,0.4208,0.446933333333333,0.455066666666667,0.463,0.458466666666667,0.480266666666667,0.399066666666667,0.424,0.425,0.4126,0.4338
|
||||||
|
"740",0.4228,0.419,0.450933333333333,0.435666666666667,0.4474,0.4476,0.420066666666667,0.439466666666667,0.458666666666667,0.414066666666667,0.454266666666667,0.464333333333333,0.423533333333333,0.449533333333333,0.457333333333333,0.465266666666667,0.461466666666667,0.483533333333333,0.402066666666667,0.427466666666667,0.428466666666667,0.416266666666667,0.438066666666667
|
||||||
|
"741",0.425066666666667,0.421666666666667,0.453466666666667,0.438266666666667,0.450066666666667,0.449933333333333,0.423533333333333,0.4426,0.462533333333333,0.417266666666667,0.456933333333333,0.467533333333333,0.426466666666667,0.451666666666667,0.459666666666667,0.467533333333333,0.464333333333333,0.487,0.404866666666667,0.430533333333333,0.4316,0.419933333333333,0.442
|
||||||
|
"742",0.427133333333333,0.424,0.4556,0.440933333333333,0.452466666666667,0.451933333333333,0.426933333333333,0.4454,0.466066666666667,0.4204,0.4596,0.470466666666667,0.429266666666667,0.4538,0.461733333333333,0.469266666666667,0.467266666666667,0.49,0.407333333333333,0.433533333333333,0.434466666666667,0.423266666666667,0.4456
|
||||||
|
"743",0.429266666666667,0.4264,0.458066666666667,0.443466666666667,0.454733333333333,0.453666666666667,0.429933333333333,0.447933333333333,0.469533333333333,0.423266666666667,0.462,0.473333333333333,0.431666666666667,0.4558,0.463733333333333,0.470933333333333,0.4696,0.492733333333333,0.409733333333333,0.4362,0.437066666666667,0.425866666666667,0.4486
|
||||||
|
"744",0.431266666666667,0.428266666666667,0.459933333333333,0.445666666666667,0.456866666666667,0.455466666666667,0.432733333333333,0.450466666666667,0.472866666666667,0.425733333333333,0.464066666666667,0.4758,0.434066666666667,0.457666666666667,0.465266666666667,0.4726,0.472,0.495466666666667,0.411866666666667,0.4388,0.439533333333333,0.428666666666667,0.4516
|
||||||
|
"745",0.433,0.43,0.461533333333333,0.447733333333333,0.458866666666667,0.457066666666667,0.435266666666667,0.452666666666667,0.475733333333333,0.428066666666667,0.466333333333333,0.478266666666667,0.436266666666667,0.4592,0.466866666666667,0.473933333333333,0.474266666666667,0.4978,0.413866666666667,0.441066666666667,0.441933333333333,0.431266666666667,0.454066666666667
|
||||||
|
"746",0.434733333333333,0.4318,0.463266666666667,0.4494,0.460666666666667,0.458533333333333,0.4376,0.454666666666667,0.478333333333333,0.43,0.467933333333333,0.480266666666667,0.4382,0.460866666666667,0.4682,0.475133333333333,0.476266666666667,0.499866666666667,0.415533333333333,0.4432,0.443933333333333,0.4336,0.456733333333333
|
||||||
|
"747",0.4364,0.433466666666667,0.4646,0.451,0.4624,0.459866666666667,0.4396,0.456333333333333,0.480733333333333,0.431866666666667,0.4694,0.482266666666667,0.440133333333333,0.462333333333333,0.469333333333333,0.476066666666667,0.478066666666667,0.502066666666667,0.4172,0.445266666666667,0.445866666666667,0.435666666666667,0.4592
|
||||||
|
"748",0.437933333333333,0.434733333333333,0.466,0.452666666666667,0.464,0.460733333333333,0.4416,0.458066666666667,0.483066666666667,0.433666666666667,0.471133333333333,0.483933333333333,0.4416,0.463666666666667,0.4704,0.477266666666667,0.479866666666667,0.504133333333333,0.4188,0.4472,0.447733333333333,0.437666666666667,0.4612
|
||||||
|
"749",0.4394,0.435866666666667,0.4674,0.454266666666667,0.465333333333333,0.4622,0.443466666666667,0.459533333333333,0.485066666666667,0.435266666666667,0.4724,0.4856,0.443133333333333,0.4648,0.4714,0.478133333333333,0.481733333333333,0.505933333333333,0.420133333333333,0.449066666666667,0.449266666666667,0.439533333333333,0.4632
|
||||||
|
"750",0.440733333333333,0.437066666666667,0.468666666666667,0.4556,0.466733333333333,0.4632,0.444933333333333,0.461066666666667,0.4868,0.436666666666667,0.473733333333333,0.487266666666667,0.444266666666667,0.4658,0.472533333333333,0.479,0.483,0.507533333333333,0.421133333333333,0.4508,0.450733333333333,0.441066666666667,0.464666666666667
|
||||||
|
"751",0.441866666666667,0.437933333333333,0.4692,0.456733333333333,0.467933333333333,0.464133333333333,0.446466666666667,0.462333333333333,0.4884,0.437933333333333,0.474733333333333,0.488533333333333,0.445333333333333,0.466733333333333,0.473333333333333,0.4798,0.484266666666667,0.509066666666667,0.4224,0.452,0.451933333333333,0.4424,0.465933333333333
|
||||||
|
"752",0.442866666666667,0.438733333333333,0.470133333333333,0.458133333333333,0.469133333333333,0.464733333333333,0.447733333333333,0.4636,0.490066666666667,0.439133333333333,0.4758,0.489533333333333,0.446533333333333,0.4676,0.474133333333333,0.480466666666667,0.4856,0.510466666666667,0.423333333333333,0.453,0.453133333333333,0.443666666666667,0.467333333333333
|
||||||
|
"753",0.443666666666667,0.439533333333333,0.470866666666667,0.459066666666667,0.470466666666667,0.465466666666667,0.4492,0.464466666666667,0.491133333333333,0.4402,0.476666666666667,0.490666666666667,0.447266666666667,0.468266666666667,0.4744,0.480866666666667,0.4864,0.511733333333333,0.424266666666667,0.454066666666667,0.454266666666667,0.444866666666667,0.468466666666667
|
||||||
|
"754",0.4444,0.440133333333333,0.471866666666667,0.460066666666667,0.471333333333333,0.4662,0.4502,0.465533333333333,0.492533333333333,0.4412,0.477266666666667,0.491466666666667,0.4482,0.469066666666667,0.474866666666667,0.481466666666667,0.487466666666667,0.512933333333333,0.425,0.455066666666667,0.455333333333333,0.445866666666667,0.469533333333333
|
||||||
|
"755",0.445,0.4408,0.472533333333333,0.460866666666667,0.472333333333333,0.466733333333333,0.451066666666667,0.466466666666667,0.493666666666667,0.442066666666667,0.477933333333333,0.492066666666667,0.449,0.469666666666667,0.4754,0.481866666666667,0.488133333333333,0.514066666666667,0.4256,0.456133333333333,0.4562,0.446533333333333,0.470533333333333
|
||||||
|
"756",0.445266666666667,0.4412,0.4732,0.461533333333333,0.473333333333333,0.4674,0.452,0.467,0.494666666666667,0.4428,0.4786,0.492866666666667,0.4498,0.4702,0.4758,0.4822,0.4892,0.514866666666667,0.4262,0.457133333333333,0.4568,0.447333333333333,0.471333333333333
|
||||||
|
"757",0.445933333333333,0.441933333333333,0.4736,0.462466666666667,0.473933333333333,0.467666666666667,0.452866666666667,0.467733333333333,0.495666666666667,0.443266666666667,0.479266666666667,0.4936,0.4504,0.470733333333333,0.476266666666667,0.482466666666667,0.489933333333333,0.516,0.4268,0.457933333333333,0.457533333333333,0.4482,0.472
|
||||||
|
"758",0.446333333333333,0.442266666666667,0.474066666666667,0.462933333333333,0.4746,0.467933333333333,0.4536,0.468333333333333,0.496466666666667,0.443866666666667,0.479533333333333,0.494266666666667,0.450933333333333,0.471333333333333,0.4766,0.482733333333333,0.4904,0.517133333333333,0.427466666666667,0.458333333333333,0.458266666666667,0.4486,0.4726
|
||||||
|
"759",0.4468,0.442533333333333,0.474333333333333,0.463466666666667,0.474933333333333,0.468466666666667,0.454133333333333,0.468866666666667,0.497266666666667,0.444533333333333,0.479866666666667,0.494933333333333,0.4516,0.471666666666667,0.476933333333333,0.483133333333333,0.4912,0.517533333333333,0.427866666666667,0.459133333333333,0.458666666666667,0.449266666666667,0.473
|
||||||
|
"760",0.447266666666667,0.442866666666667,0.4748,0.4638,0.475133333333333,0.468866666666667,0.454733333333333,0.4692,0.4976,0.445066666666667,0.480133333333333,0.4954,0.451866666666667,0.472,0.4774,0.483333333333333,0.491866666666667,0.518066666666667,0.428266666666667,0.459933333333333,0.459266666666667,0.449933333333333,0.4734
|
||||||
|
"761",0.4474,0.4432,0.475133333333333,0.464266666666667,0.475066666666667,0.468933333333333,0.4554,0.469866666666667,0.498133333333333,0.445466666666667,0.480466666666667,0.495733333333333,0.452466666666667,0.4722,0.477466666666667,0.483466666666667,0.492333333333333,0.518466666666667,0.4288,0.4602,0.4598,0.4502,0.4738
|
||||||
|
"762",0.447733333333333,0.4434,0.4752,0.464733333333333,0.4754,0.4692,0.455866666666667,0.470133333333333,0.498666666666667,0.445866666666667,0.4806,0.496333333333333,0.452733333333333,0.472666666666667,0.477733333333333,0.483533333333333,0.492666666666667,0.5188,0.428933333333333,0.4604,0.460133333333333,0.4506,0.474133333333333
|
||||||
|
"763",0.447866666666667,0.4438,0.475533333333333,0.464933333333333,0.475666666666667,0.469533333333333,0.456333333333333,0.4704,0.498866666666667,0.446133333333333,0.480866666666667,0.496533333333333,0.453066666666667,0.472933333333333,0.478,0.483733333333333,0.493133333333333,0.519333333333333,0.4294,0.460666666666667,0.460533333333333,0.451,0.474666666666667
|
||||||
|
"764",0.448333333333333,0.443933333333333,0.4756,0.465333333333333,0.4762,0.469866666666667,0.4568,0.470933333333333,0.4992,0.446466666666667,0.480933333333333,0.496533333333333,0.4534,0.473066666666667,0.478066666666667,0.483666666666667,0.4936,0.519866666666667,0.429666666666667,0.4608,0.4608,0.451133333333333,0.474666666666667
|
||||||
|
"765",0.4486,0.444066666666667,0.475933333333333,0.465533333333333,0.476266666666667,0.469933333333333,0.457066666666667,0.471133333333333,0.4996,0.447,0.481333333333333,0.497,0.4538,0.473066666666667,0.478333333333333,0.4836,0.493733333333333,0.520066666666667,0.4298,0.461266666666667,0.461066666666667,0.451333333333333,0.4748
|
||||||
|
"766",0.448666666666667,0.4444,0.476066666666667,0.4658,0.4764,0.47,0.457333333333333,0.471333333333333,0.499933333333333,0.4472,0.481666666666667,0.497133333333333,0.454066666666667,0.473133333333333,0.478333333333333,0.4836,0.493866666666667,0.5202,0.43,0.461266666666667,0.461266666666667,0.4514,0.4748
|
||||||
|
"767",0.449133333333333,0.4444,0.476066666666667,0.465866666666667,0.4764,0.470066666666667,0.457666666666667,0.471733333333333,0.500133333333333,0.447466666666667,0.481933333333333,0.4974,0.454466666666667,0.473466666666667,0.478466666666667,0.483733333333333,0.494066666666667,0.520533333333333,0.430133333333333,0.461466666666667,0.4614,0.4518,0.475
|
||||||
|
"768",0.449333333333333,0.4444,0.476133333333333,0.4658,0.476533333333333,0.470133333333333,0.458,0.471933333333333,0.5002,0.447733333333333,0.482,0.497333333333333,0.454666666666667,0.473533333333333,0.4786,0.483866666666667,0.494266666666667,0.520666666666667,0.4302,0.461466666666667,0.461666666666667,0.452,0.475
|
||||||
|
"769",0.449466666666667,0.4446,0.476466666666667,0.4658,0.476466666666667,0.470133333333333,0.4582,0.472,0.500066666666667,0.447866666666667,0.482,0.497133333333333,0.454866666666667,0.4736,0.478666666666667,0.483933333333333,0.4944,0.520733333333333,0.4304,0.4614,0.4618,0.452066666666667,0.475266666666667
|
||||||
|
"770",0.449533333333333,0.444533333333333,0.476533333333333,0.465866666666667,0.476466666666667,0.470133333333333,0.458266666666667,0.472333333333333,0.500266666666667,0.448333333333333,0.481866666666667,0.497133333333333,0.455,0.4736,0.4788,0.483733333333333,0.4946,0.520866666666667,0.4306,0.4614,0.461933333333333,0.452266666666667,0.4754
|
||||||
|
"771",0.449466666666667,0.444666666666667,0.476533333333333,0.465933333333333,0.476333333333333,0.4702,0.458266666666667,0.472266666666667,0.500466666666667,0.4484,0.4818,0.497066666666667,0.455333333333333,0.4736,0.478866666666667,0.4838,0.4946,0.521133333333333,0.430733333333333,0.461466666666667,0.462,0.452266666666667,0.4754
|
||||||
|
"772",0.449466666666667,0.444933333333333,0.476533333333333,0.465866666666667,0.476333333333333,0.4702,0.4584,0.472266666666667,0.5006,0.448333333333333,0.482066666666667,0.497266666666667,0.455466666666667,0.4736,0.4788,0.483733333333333,0.494733333333333,0.5212,0.430866666666667,0.461666666666667,0.462066666666667,0.4522,0.475333333333333
|
||||||
|
"773",0.449533333333333,0.444933333333333,0.4766,0.4658,0.476066666666667,0.4702,0.458466666666667,0.472266666666667,0.5006,0.448466666666667,0.482066666666667,0.497466666666667,0.4556,0.473666666666667,0.478933333333333,0.4838,0.494933333333333,0.521133333333333,0.431066666666667,0.461666666666667,0.462066666666667,0.452133333333333,0.475333333333333
|
||||||
|
"774",0.449533333333333,0.444866666666667,0.476866666666667,0.465666666666667,0.4756,0.470733333333333,0.458533333333333,0.472333333333333,0.500733333333333,0.448733333333333,0.482,0.497466666666667,0.4556,0.473733333333333,0.479133333333333,0.483866666666667,0.495066666666667,0.521133333333333,0.431133333333333,0.4616,0.462,0.452266666666667,0.475266666666667
|
||||||
|
"775",0.449533333333333,0.444933333333333,0.476866666666667,0.465533333333333,0.475666666666667,0.470866666666667,0.4586,0.472666666666667,0.500933333333333,0.448733333333333,0.481866666666667,0.497266666666667,0.455666666666667,0.473733333333333,0.479266666666667,0.483733333333333,0.495066666666667,0.520933333333333,0.431266666666667,0.4616,0.462,0.452466666666667,0.4752
|
||||||
|
"776",0.449533333333333,0.445,0.476933333333333,0.4652,0.4756,0.4708,0.458666666666667,0.472733333333333,0.500933333333333,0.4488,0.4818,0.497333333333333,0.4556,0.473933333333333,0.479266666666667,0.483733333333333,0.495266666666667,0.520933333333333,0.431266666666667,0.4616,0.4622,0.452466666666667,0.4748
|
||||||
|
"777",0.449533333333333,0.444933333333333,0.4768,0.465133333333333,0.475533333333333,0.4706,0.4588,0.472933333333333,0.5008,0.448733333333333,0.481666666666667,0.497666666666667,0.455666666666667,0.474,0.479333333333333,0.483666666666667,0.495666666666667,0.521,0.431266666666667,0.461733333333333,0.4622,0.452333333333333,0.474666666666667
|
||||||
|
"778",0.449533333333333,0.445,0.476933333333333,0.465133333333333,0.4756,0.470933333333333,0.458933333333333,0.473133333333333,0.501,0.448733333333333,0.481666666666667,0.497733333333333,0.4558,0.474133333333333,0.479466666666667,0.483666666666667,0.495866666666667,0.521,0.4312,0.4618,0.462133333333333,0.4524,0.4746
|
||||||
|
"779",0.449533333333333,0.4452,0.4772,0.465133333333333,0.475666666666667,0.471066666666667,0.459066666666667,0.473066666666667,0.5012,0.448866666666667,0.481666666666667,0.497733333333333,0.455866666666667,0.4742,0.479733333333333,0.483733333333333,0.495933333333333,0.520866666666667,0.4312,0.4618,0.462133333333333,0.452333333333333,0.4746
|
||||||
|
"780",0.4496,0.444933333333333,0.477333333333333,0.465133333333333,0.475666666666667,0.471,0.459133333333333,0.473133333333333,0.501133333333333,0.448933333333333,0.481666666666667,0.497666666666667,0.455866666666667,0.474466666666667,0.479733333333333,0.4838,0.495866666666667,0.520933333333333,0.4314,0.461733333333333,0.462133333333333,0.4524,0.4746
|
||||||
|
"781",0.449733333333333,0.444933333333333,0.477266666666667,0.465066666666667,0.475666666666667,0.471,0.459133333333333,0.473133333333333,0.501133333333333,0.449,0.481666666666667,0.4976,0.455866666666667,0.474666666666667,0.4798,0.483733333333333,0.496,0.521066666666667,0.431533333333333,0.461933333333333,0.462066666666667,0.452533333333333,0.4746
|
||||||
|
"782",0.449666666666667,0.444933333333333,0.477133333333333,0.465266666666667,0.475866666666667,0.470933333333333,0.459266666666667,0.473133333333333,0.501333333333333,0.449,0.4816,0.497666666666667,0.455933333333333,0.474466666666667,0.479933333333333,0.483666666666667,0.496066666666667,0.521333333333333,0.431533333333333,0.462066666666667,0.462266666666667,0.452533333333333,0.4746
|
||||||
|
"783",0.45,0.444933333333333,0.477,0.465333333333333,0.476066666666667,0.471,0.459333333333333,0.473133333333333,0.5014,0.449,0.481733333333333,0.497666666666667,0.456133333333333,0.474733333333333,0.479933333333333,0.483666666666667,0.496333333333333,0.5214,0.431533333333333,0.462133333333333,0.462266666666667,0.452533333333333,0.474666666666667
|
||||||
|
"784",0.450133333333333,0.4452,0.477066666666667,0.465466666666667,0.476133333333333,0.471066666666667,0.459266666666667,0.473133333333333,0.501333333333333,0.448933333333333,0.481666666666667,0.497666666666667,0.456133333333333,0.474733333333333,0.479933333333333,0.4836,0.4964,0.5214,0.431466666666667,0.462066666666667,0.462266666666667,0.452666666666667,0.474666666666667
|
||||||
|
"785",0.450266666666667,0.445066666666667,0.477266666666667,0.465533333333333,0.4764,0.471333333333333,0.4594,0.473266666666667,0.5014,0.449066666666667,0.481733333333333,0.497666666666667,0.456333333333333,0.4746,0.48,0.4836,0.496466666666667,0.521466666666667,0.431466666666667,0.462,0.4622,0.452533333333333,0.4746
|
||||||
|
"786",0.450333333333333,0.445066666666667,0.477333333333333,0.465733333333333,0.476466666666667,0.471333333333333,0.459533333333333,0.473266666666667,0.501466666666667,0.449066666666667,0.481866666666667,0.497666666666667,0.456466666666667,0.4748,0.480066666666667,0.4836,0.4964,0.521533333333333,0.431466666666667,0.462,0.462266666666667,0.452733333333333,0.474666666666667
|
||||||
|
"787",0.4504,0.445066666666667,0.477266666666667,0.465933333333333,0.4768,0.471133333333333,0.459733333333333,0.4732,0.501333333333334,0.449133333333333,0.4818,0.4976,0.456533333333333,0.474933333333333,0.4802,0.4836,0.496333333333333,0.521666666666667,0.431466666666667,0.462,0.462266666666667,0.452733333333333,0.474666666666667
|
||||||
|
"788",0.450466666666667,0.445066666666667,0.477333333333333,0.466333333333333,0.477066666666667,0.471066666666667,0.459733333333333,0.4732,0.5014,0.449266666666667,0.481866666666667,0.4976,0.456533333333333,0.474866666666667,0.480466666666667,0.483666666666667,0.496533333333333,0.522,0.431533333333333,0.462,0.462266666666667,0.452733333333333,0.474733333333334
|
||||||
|
"789",0.4504,0.4452,0.477333333333333,0.466466666666667,0.4772,0.4712,0.4598,0.473266666666667,0.501333333333334,0.4492,0.482,0.497666666666667,0.4566,0.474866666666667,0.4806,0.483733333333333,0.4966,0.5222,0.431533333333333,0.462066666666667,0.4622,0.4528,0.474733333333334
|
||||||
|
"790",0.4504,0.445133333333333,0.4772,0.4668,0.477533333333333,0.4712,0.459733333333333,0.473266666666667,0.501333333333334,0.4494,0.482066666666667,0.497733333333333,0.4568,0.475,0.480666666666667,0.4838,0.496733333333333,0.5224,0.4316,0.462066666666667,0.462133333333333,0.4528,0.474533333333333
|
||||||
|
"791",0.450533333333333,0.445066666666667,0.477266666666667,0.4672,0.477666666666667,0.4714,0.4598,0.4734,0.5014,0.449333333333333,0.4822,0.497733333333333,0.456866666666667,0.475,0.480666666666667,0.4838,0.496666666666667,0.522666666666667,0.431533333333333,0.462133333333333,0.4622,0.452933333333333,0.4744
|
||||||
|
"792",0.4506,0.445133333333333,0.477266666666667,0.467333333333333,0.478,0.471333333333333,0.459733333333333,0.4734,0.501333333333333,0.4492,0.482266666666667,0.497733333333333,0.4568,0.475,0.480666666666667,0.4838,0.4968,0.522866666666667,0.431466666666667,0.462066666666667,0.462266666666667,0.452933333333333,0.474333333333333
|
||||||
|
"793",0.4506,0.4452,0.4772,0.4676,0.4782,0.471333333333333,0.4598,0.4734,0.501333333333333,0.4492,0.482133333333333,0.497733333333333,0.456933333333333,0.475066666666667,0.480866666666667,0.483933333333333,0.496733333333333,0.523066666666667,0.431666666666667,0.462066666666667,0.462066666666667,0.452933333333333,0.474266666666667
|
||||||
|
"794",0.450466666666667,0.4454,0.4772,0.467733333333333,0.478533333333333,0.4714,0.4598,0.4734,0.5014,0.449533333333333,0.482066666666667,0.497733333333333,0.457,0.475,0.481,0.483933333333333,0.4968,0.523266666666667,0.431733333333333,0.461866666666667,0.462,0.453066666666667,0.474266666666667
|
||||||
|
"795",0.4504,0.445466666666667,0.4772,0.468,0.478866666666667,0.4714,0.459866666666667,0.473466666666667,0.5014,0.449666666666667,0.481933333333333,0.497733333333333,0.457,0.475066666666667,0.481,0.483866666666667,0.496866666666667,0.523266666666667,0.431866666666667,0.461866666666667,0.461933333333333,0.4532,0.474466666666667
|
||||||
|
"796",0.450333333333333,0.4454,0.477066666666667,0.468266666666667,0.4792,0.471333333333333,0.46,0.473666666666667,0.501266666666667,0.449733333333333,0.481933333333333,0.497733333333333,0.457133333333333,0.475133333333333,0.481066666666667,0.483733333333333,0.496933333333333,0.523333333333333,0.432,0.462066666666667,0.462066666666667,0.4532,0.474266666666667
|
||||||
|
"797",0.450266666666667,0.445333333333333,0.477133333333333,0.4686,0.479533333333333,0.471333333333333,0.460133333333333,0.473733333333333,0.501266666666667,0.449733333333333,0.482,0.497666666666667,0.457133333333333,0.475066666666667,0.481133333333333,0.483666666666667,0.497066666666667,0.523333333333333,0.431933333333333,0.462066666666667,0.462133333333333,0.453066666666667,0.474266666666667
|
||||||
|
"798",0.4502,0.4454,0.4772,0.468866666666667,0.4794,0.4712,0.460066666666667,0.473866666666667,0.501266666666667,0.449733333333333,0.4822,0.4976,0.457066666666667,0.475,0.481133333333333,0.483733333333333,0.497,0.523266666666667,0.431866666666667,0.462,0.462133333333333,0.453,0.4742
|
||||||
|
"799",0.450333333333333,0.445466666666667,0.477266666666667,0.469,0.4794,0.471466666666667,0.460266666666667,0.473933333333333,0.501266666666667,0.449866666666667,0.4822,0.497733333333333,0.457133333333333,0.475133333333333,0.481266666666667,0.483866666666667,0.497066666666667,0.523333333333333,0.4318,0.461733333333333,0.4622,0.453066666666667,0.4742
|
||||||
|
"800",0.4504,0.445533333333333,0.4772,0.469266666666667,0.479333333333333,0.471533333333333,0.460266666666667,0.473866666666667,0.501266666666667,0.449933333333333,0.4822,0.497733333333333,0.457333333333333,0.4752,0.4814,0.483866666666667,0.497066666666667,0.523333333333333,0.431733333333333,0.461533333333333,0.462266666666667,0.453133333333333,0.4742
|
||||||
|
"801",0.450533333333333,0.445533333333333,0.476866666666667,0.4696,0.4796,0.4714,0.4604,0.473666666666667,0.501133333333333,0.449866666666667,0.482266666666667,0.497533333333333,0.457266666666667,0.475266666666667,0.4814,0.483866666666667,0.4972,0.5234,0.4318,0.461333333333333,0.462266666666667,0.453,0.4742
|
||||||
|
"802",0.450666666666667,0.445533333333333,0.477,0.469866666666667,0.479866666666667,0.4714,0.4604,0.473733333333333,0.501133333333333,0.450133333333333,0.482333333333333,0.497333333333333,0.457266666666667,0.475266666666667,0.481333333333333,0.483866666666667,0.497266666666667,0.523466666666667,0.432066666666667,0.4612,0.4624,0.453,0.4742
|
||||||
|
"803",0.451,0.4456,0.477,0.470066666666667,0.479933333333333,0.471333333333333,0.4604,0.473933333333333,0.501133333333333,0.450133333333333,0.482266666666667,0.4972,0.457333333333333,0.475133333333333,0.481466666666667,0.483866666666667,0.497,0.523466666666667,0.432066666666667,0.461,0.462666666666667,0.453133333333333,0.4742
|
||||||
|
"804",0.450933333333333,0.445533333333333,0.477066666666667,0.47,0.479933333333333,0.471533333333333,0.460466666666667,0.473933333333333,0.501066666666667,0.450133333333333,0.482133333333333,0.4972,0.457333333333333,0.475266666666667,0.481466666666667,0.4838,0.496933333333333,0.5234,0.432266666666667,0.461266666666667,0.4626,0.4532,0.4742
|
||||||
|
"805",0.451,0.445666666666667,0.4772,0.469933333333333,0.48,0.471533333333333,0.460533333333333,0.474066666666667,0.501066666666667,0.450133333333333,0.482133333333333,0.497133333333333,0.457266666666667,0.475266666666667,0.481466666666667,0.4838,0.497133333333333,0.523266666666667,0.432133333333333,0.461333333333333,0.462666666666667,0.453333333333333,0.474133333333333
|
||||||
|
"806",0.451,0.4456,0.477266666666667,0.47,0.479933333333333,0.471666666666667,0.460666666666667,0.474333333333333,0.5012,0.450066666666667,0.482133333333333,0.497666666666667,0.457466666666667,0.475333333333333,0.4814,0.483666666666667,0.4976,0.523266666666667,0.432133333333333,0.4614,0.462733333333333,0.453333333333333,0.474
|
||||||
|
"807",0.450866666666667,0.445733333333333,0.477333333333333,0.469933333333333,0.479866666666667,0.471466666666667,0.460733333333333,0.4746,0.5012,0.450133333333333,0.4822,0.4976,0.457533333333333,0.475266666666667,0.481466666666667,0.483666666666667,0.4976,0.523466666666667,0.4322,0.461333333333333,0.462866666666667,0.453133333333333,0.473933333333333
|
||||||
|
"808",0.4508,0.4458,0.477266666666667,0.469733333333333,0.4798,0.471466666666667,0.4608,0.474666666666667,0.501066666666667,0.4502,0.4822,0.497533333333333,0.457466666666667,0.4754,0.481533333333333,0.4838,0.497533333333333,0.523466666666667,0.432133333333333,0.461333333333333,0.462866666666667,0.453,0.473933333333333
|
||||||
|
"809",0.450933333333333,0.445666666666667,0.477266666666667,0.469666666666667,0.4794,0.471533333333333,0.4608,0.4746,0.501066666666667,0.4502,0.482133333333333,0.497466666666667,0.4576,0.4754,0.481666666666667,0.483733333333333,0.4976,0.523333333333333,0.432133333333333,0.461333333333333,0.462933333333333,0.4532,0.4738
|
||||||
|
"810",0.450866666666667,0.445533333333333,0.4772,0.469666666666667,0.4794,0.4716,0.460866666666667,0.474666666666667,0.501066666666667,0.450066666666667,0.482133333333333,0.4974,0.4578,0.4754,0.4816,0.483666666666667,0.497666666666667,0.523066666666667,0.432066666666667,0.4614,0.463266666666667,0.453266666666667,0.473733333333333
|
||||||
|
"811",0.450866666666667,0.445533333333333,0.477066666666667,0.4698,0.479533333333333,0.471733333333333,0.461066666666667,0.474533333333333,0.501066666666667,0.449933333333333,0.482,0.4974,0.457866666666667,0.4754,0.481666666666667,0.4836,0.497666666666667,0.522866666666667,0.432066666666667,0.461466666666667,0.463266666666667,0.453266666666667,0.4738
|
||||||
|
"812",0.450866666666667,0.445533333333333,0.477,0.469666666666667,0.479333333333333,0.471666666666667,0.461133333333333,0.474533333333333,0.501133333333333,0.450066666666667,0.482133333333333,0.497266666666667,0.457866666666667,0.4754,0.481533333333333,0.4836,0.497733333333333,0.522866666666667,0.432,0.461466666666667,0.463533333333333,0.4532,0.4738
|
||||||
|
"813",0.450733333333333,0.445533333333333,0.476933333333333,0.4696,0.479066666666667,0.471666666666667,0.461133333333333,0.474533333333333,0.501133333333333,0.449933333333333,0.481933333333333,0.497266666666667,0.458133333333333,0.475466666666667,0.481266666666667,0.483533333333333,0.497866666666667,0.5228,0.4318,0.461533333333333,0.463733333333333,0.4532,0.473933333333333
|
||||||
|
"814",0.450666666666667,0.445466666666667,0.477066666666667,0.469666666666667,0.479,0.471866666666667,0.461133333333333,0.4744,0.5012,0.4498,0.481866666666667,0.4974,0.458066666666667,0.4756,0.4812,0.483533333333333,0.497933333333333,0.522733333333333,0.431866666666667,0.462,0.463866666666667,0.4532,0.473866666666667
|
||||||
|
"815",0.450733333333333,0.445466666666667,0.4772,0.469666666666667,0.478866666666667,0.471866666666667,0.461,0.4744,0.501266666666667,0.449933333333333,0.481933333333333,0.497533333333333,0.458133333333333,0.475866666666667,0.481133333333333,0.483533333333333,0.498266666666667,0.522533333333333,0.431933333333333,0.462266666666667,0.464,0.453266666666667,0.473733333333333
|
||||||
|
"816",0.4508,0.445533333333333,0.477266666666667,0.469733333333333,0.478733333333333,0.472,0.461,0.474466666666667,0.501333333333333,0.45,0.482133333333333,0.497666666666667,0.4584,0.476,0.481133333333333,0.483666666666667,0.4984,0.5226,0.432066666666667,0.462266666666667,0.464066666666667,0.453466666666667,0.473733333333333
|
||||||
|
"817",0.450733333333333,0.445533333333333,0.4772,0.469733333333333,0.478533333333333,0.471933333333333,0.460866666666667,0.4744,0.5012,0.45,0.482133333333333,0.497666666666667,0.458466666666667,0.475866666666667,0.481066666666667,0.483666666666667,0.4984,0.522666666666667,0.432266666666667,0.462266666666667,0.464066666666667,0.453466666666667,0.4736
|
||||||
|
"818",0.450666666666667,0.445666666666667,0.4772,0.469533333333333,0.4784,0.472,0.460866666666667,0.4744,0.501133333333333,0.45,0.4824,0.497733333333333,0.458466666666667,0.4758,0.481133333333333,0.483733333333333,0.4984,0.5228,0.4322,0.462,0.464133333333333,0.4534,0.4736
|
||||||
|
"819",0.450733333333333,0.445666666666667,0.477266666666667,0.4696,0.4784,0.471866666666667,0.461,0.474466666666667,0.501133333333333,0.4502,0.482466666666667,0.497733333333333,0.4584,0.475933333333333,0.481133333333333,0.483733333333333,0.498266666666667,0.523066666666667,0.432333333333333,0.4618,0.464266666666667,0.453466666666667,0.4736
|
||||||
|
"820",0.4508,0.445733333333333,0.4774,0.469266666666667,0.4782,0.471866666666667,0.461066666666667,0.474466666666667,0.501133333333333,0.450333333333333,0.482466666666667,0.497533333333333,0.4584,0.475866666666667,0.481333333333333,0.483866666666667,0.498466666666667,0.523333333333333,0.4322,0.4618,0.4642,0.453466666666667,0.473466666666667
|
||||||
|
"821",0.450933333333333,0.445666666666667,0.477333333333333,0.4688,0.478,0.472,0.461133333333333,0.4744,0.501133333333333,0.4504,0.482466666666667,0.497666666666667,0.4584,0.475933333333333,0.4814,0.4838,0.498533333333333,0.5234,0.432333333333333,0.462066666666667,0.4642,0.453466666666667,0.4734
|
||||||
|
"822",0.451133333333333,0.445666666666667,0.4774,0.468666666666667,0.477933333333333,0.4722,0.461266666666667,0.474533333333333,0.5012,0.450333333333333,0.482466666666667,0.497733333333333,0.458266666666667,0.4762,0.481333333333333,0.483733333333333,0.498666666666667,0.523733333333333,0.432533333333333,0.462266666666667,0.464266666666667,0.4536,0.473533333333333
|
||||||
|
"823",0.451066666666667,0.445533333333333,0.4774,0.4684,0.478133333333333,0.472133333333333,0.461266666666667,0.474666666666667,0.5012,0.450266666666667,0.482466666666667,0.497666666666667,0.458266666666667,0.476333333333333,0.481133333333333,0.483666666666667,0.4986,0.523733333333333,0.432466666666667,0.462266666666667,0.4642,0.453533333333333,0.473533333333333
|
||||||
|
"824",0.4512,0.445666666666667,0.477466666666667,0.468333333333333,0.4784,0.472133333333333,0.461333333333333,0.4748,0.501066666666667,0.4502,0.482466666666667,0.4976,0.458266666666667,0.476266666666667,0.481,0.483533333333333,0.4986,0.5238,0.432333333333333,0.462333333333333,0.464066666666667,0.453466666666667,0.4734
|
||||||
|
"825",0.451266666666667,0.445666666666667,0.477666666666667,0.468333333333333,0.478533333333333,0.472333333333333,0.461466666666667,0.474933333333333,0.501133333333333,0.450133333333333,0.482333333333333,0.497533333333333,0.458266666666667,0.476133333333333,0.480866666666667,0.483466666666667,0.498533333333333,0.5242,0.432466666666667,0.4624,0.463933333333333,0.4536,0.4734
|
||||||
|
"826",0.4514,0.4456,0.477666666666667,0.4682,0.478933333333333,0.472466666666667,0.4616,0.474866666666667,0.5012,0.4502,0.4822,0.497533333333333,0.4584,0.476066666666667,0.480866666666667,0.483533333333333,0.4986,0.5242,0.432466666666667,0.4626,0.463866666666667,0.453666666666667,0.473466666666667
|
||||||
|
"827",0.4514,0.445533333333333,0.477533333333333,0.4682,0.478933333333333,0.472533333333333,0.4616,0.474733333333333,0.5012,0.4502,0.482066666666667,0.4976,0.4584,0.476133333333333,0.480933333333333,0.4836,0.498733333333333,0.524,0.432533333333333,0.462466666666667,0.4638,0.4538,0.473466666666667
|
||||||
|
"828",0.4514,0.445533333333333,0.477533333333333,0.4682,0.478866666666667,0.472466666666667,0.4616,0.474933333333333,0.501133333333333,0.4502,0.482133333333333,0.497533333333333,0.458466666666667,0.476133333333333,0.481,0.483533333333333,0.498866666666667,0.523666666666667,0.432533333333333,0.462333333333333,0.463733333333333,0.453733333333333,0.4734
|
||||||
|
"829",0.451333333333333,0.445666666666667,0.477466666666667,0.4682,0.478933333333333,0.472333333333333,0.461533333333333,0.475,0.501066666666667,0.450266666666667,0.482133333333333,0.4974,0.458466666666667,0.476,0.480933333333333,0.4836,0.498666666666667,0.523733333333333,0.432733333333333,0.462,0.463733333333333,0.4538,0.4734
|
||||||
|
"830",0.4514,0.445866666666667,0.477333333333333,0.468266666666667,0.479133333333333,0.472333333333333,0.461533333333333,0.475133333333333,0.501,0.450733333333333,0.4822,0.497133333333333,0.4584,0.4756,0.481,0.4838,0.498266666666667,0.5236,0.432466666666667,0.461666666666667,0.463733333333333,0.4538,0.473266666666667
|
||||||
|
"831",0.4512,0.446,0.4772,0.468533333333333,0.479266666666667,0.4722,0.461666666666667,0.475133333333333,0.500866666666667,0.451,0.482266666666667,0.497066666666667,0.458466666666667,0.4756,0.481066666666667,0.484,0.4984,0.524,0.432333333333333,0.461266666666667,0.463666666666667,0.453866666666667,0.473266666666667
|
||||||
|
"832",0.451,0.4462,0.4772,0.468666666666667,0.479266666666667,0.472133333333333,0.461733333333333,0.475266666666667,0.5008,0.4514,0.482466666666667,0.497066666666667,0.458466666666667,0.4758,0.481133333333333,0.483933333333333,0.498533333333333,0.524266666666667,0.432466666666667,0.460866666666667,0.463466666666667,0.4538,0.4732
|
||||||
|
"833",0.450733333333333,0.4462,0.477333333333333,0.468666666666667,0.479266666666667,0.472066666666667,0.461933333333333,0.475533333333333,0.500733333333333,0.4514,0.482733333333333,0.497133333333333,0.458533333333333,0.476,0.481133333333333,0.483866666666667,0.498533333333333,0.524466666666667,0.4324,0.4612,0.4634,0.4538,0.473
|
||||||
|
"834",0.450666666666667,0.446133333333333,0.4776,0.468866666666667,0.479133333333333,0.472066666666667,0.462066666666667,0.4756,0.5008,0.451133333333333,0.482933333333333,0.4972,0.4588,0.476066666666667,0.481066666666667,0.483733333333333,0.4986,0.5246,0.432333333333333,0.461333333333333,0.4634,0.4538,0.472933333333333
|
||||||
|
"835",0.450666666666667,0.446,0.477733333333333,0.468866666666667,0.479333333333333,0.4722,0.462133333333333,0.475666666666667,0.500866666666667,0.451133333333333,0.483133333333333,0.497466666666667,0.458866666666667,0.4762,0.481066666666667,0.4836,0.498866666666667,0.524933333333333,0.432266666666667,0.461666666666667,0.463333333333333,0.4536,0.472866666666667
|
||||||
|
"836",0.450733333333333,0.4458,0.478,0.469066666666667,0.4792,0.4724,0.462133333333333,0.4758,0.501,0.450933333333333,0.483266666666667,0.497533333333333,0.458933333333333,0.4762,0.481,0.483533333333333,0.499133333333333,0.525,0.432266666666667,0.4622,0.463133333333333,0.453666666666667,0.472733333333333
|
||||||
|
"837",0.451,0.445466666666667,0.478,0.4692,0.4792,0.472666666666667,0.462333333333333,0.4756,0.501,0.450466666666667,0.483266666666667,0.497533333333333,0.458866666666667,0.4762,0.480933333333333,0.483666666666667,0.4994,0.525133333333333,0.432266666666667,0.462333333333333,0.463266666666667,0.453733333333333,0.4728
|
||||||
|
"838",0.451133333333333,0.4454,0.477933333333333,0.4692,0.4792,0.472666666666667,0.462333333333333,0.4756,0.501133333333333,0.4504,0.4832,0.4976,0.458866666666667,0.476266666666667,0.480866666666667,0.483666666666667,0.499533333333333,0.5252,0.432266666666667,0.462466666666667,0.4634,0.453866666666667,0.472866666666667
|
||||||
|
"839",0.451333333333333,0.4454,0.4778,0.469266666666667,0.479333333333333,0.472733333333333,0.462466666666667,0.475466666666667,0.501133333333333,0.450466666666667,0.483066666666667,0.497666666666667,0.458933333333333,0.4762,0.481,0.4838,0.499533333333333,0.525066666666667,0.432333333333333,0.462466666666667,0.463533333333333,0.454,0.472733333333333
|
||||||
|
"840",0.451466666666667,0.445533333333333,0.477666666666667,0.4696,0.4796,0.472733333333333,0.462533333333333,0.475266666666667,0.5012,0.450466666666667,0.482866666666667,0.4976,0.458933333333333,0.476133333333333,0.481,0.483733333333333,0.499466666666667,0.5248,0.432266666666667,0.4626,0.463666666666667,0.454,0.4726
|
||||||
|
"841",0.4516,0.445666666666667,0.477733333333333,0.4698,0.479733333333333,0.472866666666667,0.462533333333333,0.475266666666667,0.501,0.450533333333333,0.482866666666667,0.4976,0.4592,0.476133333333333,0.481066666666667,0.483866666666667,0.499533333333333,0.524533333333333,0.432466666666667,0.4626,0.4636,0.4538,0.472533333333333
|
||||||
|
"842",0.451866666666667,0.445733333333333,0.477933333333333,0.470066666666667,0.48,0.4726,0.462533333333333,0.475133333333333,0.501,0.450733333333333,0.482666666666667,0.497733333333333,0.4594,0.476133333333333,0.481,0.484066666666667,0.499466666666667,0.5246,0.432666666666667,0.462666666666667,0.4636,0.454,0.472666666666667
|
||||||
|
"843",0.452133333333333,0.4458,0.478,0.47,0.479866666666667,0.472533333333333,0.4626,0.475133333333333,0.5012,0.450666666666667,0.482666666666667,0.497733333333333,0.459333333333333,0.476066666666667,0.481,0.484,0.499533333333333,0.524666666666667,0.433066666666667,0.4626,0.4638,0.454333333333333,0.472666666666667
|
||||||
|
"844",0.452066666666667,0.445933333333333,0.477933333333333,0.4702,0.4802,0.472466666666667,0.462533333333333,0.4752,0.500933333333333,0.4508,0.482666666666667,0.497533333333333,0.4594,0.476133333333333,0.481066666666667,0.484066666666667,0.4996,0.524533333333333,0.433066666666667,0.462466666666667,0.463866666666667,0.4544,0.4726
|
||||||
|
"845",0.452066666666667,0.445933333333333,0.477866666666667,0.4706,0.480266666666667,0.4726,0.4626,0.4752,0.5006,0.451,0.482866666666667,0.497266666666667,0.459533333333333,0.476133333333333,0.4812,0.484066666666667,0.499533333333333,0.524466666666667,0.4332,0.462333333333333,0.463933333333333,0.454333333333333,0.472666666666667
|
||||||
|
"846",0.452,0.446,0.4778,0.470866666666667,0.480266666666667,0.472533333333333,0.4628,0.475266666666667,0.500666666666667,0.4514,0.482933333333333,0.497266666666667,0.459866666666667,0.475933333333333,0.481266666666667,0.483866666666667,0.4994,0.524466666666667,0.433133333333333,0.461933333333333,0.464133333333333,0.454266666666667,0.472866666666667
|
||||||
|
"847",0.451866666666667,0.446066666666667,0.477866666666667,0.471133333333333,0.480266666666667,0.472466666666667,0.462933333333333,0.4754,0.500666666666667,0.451533333333333,0.483,0.497066666666667,0.460133333333333,0.475866666666667,0.481533333333333,0.4838,0.499266666666667,0.524533333333333,0.4332,0.4618,0.4642,0.4542,0.4728
|
||||||
|
"848",0.4516,0.4462,0.477866666666667,0.471266666666667,0.480333333333333,0.472466666666667,0.462933333333333,0.4756,0.500666666666667,0.451733333333333,0.483066666666667,0.497,0.460133333333333,0.4758,0.481666666666667,0.4838,0.499333333333333,0.524733333333333,0.433266666666667,0.461666666666667,0.464266666666667,0.454133333333333,0.472466666666667
|
||||||
|
"849",0.4516,0.446266666666667,0.478,0.471533333333333,0.480466666666667,0.472733333333333,0.462866666666667,0.475466666666667,0.5006,0.4518,0.483066666666667,0.497066666666667,0.460266666666667,0.4756,0.481733333333333,0.483666666666667,0.4994,0.5248,0.433266666666667,0.461733333333333,0.464266666666667,0.454133333333333,0.472333333333333
|
||||||
|
"850",0.4514,0.446133333333333,0.477866666666667,0.471733333333333,0.480466666666667,0.4728,0.463,0.475533333333333,0.500666666666667,0.451666666666667,0.482933333333333,0.497066666666667,0.460333333333333,0.475733333333333,0.481866666666667,0.483733333333333,0.499333333333333,0.525,0.4334,0.4616,0.4646,0.4542,0.472266666666667
|
||||||
|
"851",0.451333333333333,0.446133333333333,0.4778,0.471666666666667,0.4806,0.472933333333333,0.463,0.475666666666667,0.500466666666667,0.4516,0.4826,0.497266666666667,0.460266666666667,0.475933333333333,0.481933333333333,0.483733333333333,0.4994,0.525266666666667,0.433533333333333,0.461733333333333,0.4646,0.454066666666667,0.472333333333333
|
||||||
|
"852",0.4514,0.446066666666667,0.477666666666667,0.4718,0.480733333333333,0.472866666666667,0.462933333333333,0.475666666666667,0.5008,0.451533333333333,0.482666666666667,0.497133333333333,0.4602,0.475866666666667,0.481933333333333,0.4838,0.499466666666667,0.525133333333333,0.433533333333333,0.462,0.4646,0.454,0.4724
|
||||||
|
"853",0.451466666666667,0.446066666666667,0.4776,0.471866666666667,0.481066666666667,0.472866666666667,0.463,0.475733333333333,0.5008,0.451533333333333,0.482533333333333,0.497133333333333,0.460133333333333,0.4758,0.482266666666667,0.4838,0.4998,0.525066666666667,0.4334,0.462333333333333,0.4648,0.454,0.4724
|
||||||
|
"854",0.451466666666667,0.446,0.4778,0.471866666666667,0.4812,0.473066666666667,0.463,0.475733333333333,0.500733333333333,0.4514,0.482533333333333,0.497333333333333,0.4602,0.476066666666667,0.482466666666667,0.4838,0.499933333333333,0.5248,0.433333333333333,0.462466666666667,0.464866666666667,0.454066666666667,0.472466666666667
|
||||||
|
"855",0.4514,0.445933333333333,0.4782,0.471666666666667,0.481333333333333,0.473133333333333,0.463,0.4758,0.5008,0.4514,0.4824,0.497466666666667,0.460066666666667,0.476066666666667,0.4824,0.483866666666667,0.500066666666667,0.5248,0.4336,0.462466666666667,0.465,0.454066666666667,0.472466666666667
|
||||||
|
"856",0.451266666666667,0.445733333333333,0.478333333333333,0.471533333333333,0.481466666666667,0.473266666666667,0.463133333333333,0.476133333333333,0.5012,0.451266666666667,0.482066666666667,0.4974,0.460066666666667,0.476066666666667,0.482533333333333,0.484,0.5002,0.5248,0.433666666666667,0.4624,0.465133333333333,0.454133333333333,0.4724
|
||||||
|
"857",0.4514,0.445666666666667,0.478333333333333,0.471666666666667,0.481533333333333,0.4734,0.463333333333333,0.476466666666667,0.5012,0.451266666666667,0.481933333333333,0.4976,0.4602,0.476466666666667,0.482466666666667,0.483866666666667,0.5002,0.524933333333333,0.433666666666667,0.4624,0.465133333333333,0.454333333333333,0.4724
|
||||||
|
"858",0.4516,0.445733333333333,0.478333333333333,0.471733333333333,0.481666666666667,0.473466666666667,0.463466666666667,0.476666666666667,0.501066666666667,0.451466666666667,0.481866666666667,0.497533333333333,0.460266666666667,0.4764,0.4824,0.483866666666667,0.500333333333333,0.525,0.433666666666667,0.4624,0.465266666666667,0.454333333333333,0.472266666666667
|
||||||
|
"859",0.451866666666667,0.445866666666667,0.4784,0.471933333333333,0.481733333333333,0.4734,0.463666666666667,0.4768,0.500933333333333,0.4516,0.481933333333333,0.497266666666667,0.4604,0.475933333333333,0.482333333333333,0.483733333333333,0.500266666666667,0.525266666666667,0.4336,0.4624,0.465333333333333,0.4542,0.472333333333333
|
||||||
|
"860",0.452,0.446066666666667,0.478133333333333,0.4722,0.4818,0.4732,0.464,0.476933333333333,0.500866666666667,0.451733333333333,0.482,0.497266666666667,0.4606,0.476133333333333,0.482533333333333,0.4836,0.5004,0.525266666666667,0.433733333333333,0.4622,0.465466666666667,0.4544,0.4724
|
||||||
|
"861",0.452266666666667,0.446066666666667,0.478,0.472466666666667,0.482066666666667,0.473066666666667,0.464066666666667,0.476866666666667,0.500733333333333,0.4518,0.482333333333333,0.497333333333333,0.4608,0.476066666666667,0.482733333333333,0.483666666666667,0.500466666666667,0.525266666666667,0.433866666666667,0.462,0.465666666666667,0.4544,0.472333333333333
|
||||||
|
"862",0.452133333333333,0.446133333333333,0.478,0.472933333333333,0.482,0.473066666666667,0.464266666666667,0.476733333333333,0.500733333333333,0.452,0.482466666666667,0.497533333333333,0.4608,0.476,0.482733333333333,0.483666666666667,0.5002,0.5254,0.433933333333333,0.462066666666667,0.465666666666667,0.4544,0.4722
|
||||||
|
"863",0.452133333333333,0.4462,0.477933333333333,0.473466666666667,0.482066666666667,0.473066666666667,0.464333333333333,0.4766,0.5008,0.4522,0.482666666666667,0.4974,0.460666666666667,0.475933333333333,0.482866666666667,0.4836,0.5002,0.525533333333333,0.434066666666667,0.461866666666667,0.4656,0.4544,0.472133333333333
|
||||||
|
"864",0.452133333333333,0.446133333333333,0.477933333333333,0.473933333333333,0.482133333333333,0.473133333333333,0.464333333333333,0.476266666666667,0.500666666666667,0.452133333333333,0.4832,0.4972,0.460733333333333,0.475933333333333,0.483,0.483533333333333,0.5002,0.526,0.433933333333333,0.461666666666667,0.4656,0.454333333333333,0.472333333333333
|
||||||
|
"865",0.452266666666667,0.4462,0.477866666666667,0.474066666666667,0.482266666666667,0.473133333333333,0.464266666666667,0.476133333333333,0.500466666666667,0.452266666666667,0.483533333333333,0.497066666666667,0.460733333333333,0.4756,0.4832,0.483533333333333,0.500266666666667,0.526066666666667,0.4336,0.4616,0.465733333333333,0.454466666666667,0.472133333333333
|
||||||
|
"866",0.452266666666667,0.446333333333333,0.477733333333333,0.474266666666667,0.482266666666667,0.472933333333333,0.464066666666667,0.476066666666667,0.500466666666667,0.4526,0.483933333333333,0.497,0.460733333333333,0.4754,0.4834,0.483866666666667,0.5002,0.5264,0.433533333333333,0.461333333333333,0.465666666666667,0.454533333333333,0.472133333333333
|
||||||
|
"867",0.452066666666667,0.446533333333333,0.477533333333333,0.4742,0.482266666666667,0.472866666666667,0.464066666666667,0.476066666666667,0.5004,0.4528,0.4842,0.497066666666667,0.4608,0.4754,0.483666666666667,0.484133333333333,0.4998,0.5266,0.433133333333333,0.461133333333333,0.4656,0.454466666666667,0.472133333333333
|
||||||
|
"868",0.4522,0.446666666666667,0.477466666666667,0.474133333333333,0.482533333333333,0.473133333333333,0.463933333333333,0.476266666666667,0.500066666666667,0.452933333333333,0.484466666666667,0.4968,0.4606,0.475333333333333,0.483733333333333,0.483866666666667,0.4996,0.5268,0.433066666666667,0.461,0.4656,0.454466666666667,0.472
|
||||||
|
"869",0.452333333333333,0.446733333333333,0.477466666666667,0.474066666666667,0.482933333333333,0.473266666666667,0.4638,0.476333333333333,0.5,0.453,0.4844,0.496533333333333,0.460333333333333,0.475333333333333,0.483666666666667,0.483866666666667,0.499733333333333,0.526866666666667,0.433,0.461133333333333,0.4656,0.454466666666667,0.471866666666667
|
||||||
|
"870",0.452066666666667,0.4466,0.4776,0.473866666666667,0.483,0.473133333333333,0.463866666666667,0.476466666666667,0.500266666666667,0.452933333333333,0.484266666666667,0.496733333333333,0.4604,0.475666666666667,0.483666666666667,0.4838,0.500133333333333,0.526666666666667,0.432933333333333,0.4616,0.465666666666667,0.4544,0.472
|
||||||
|
"871",0.451933333333333,0.4466,0.477866666666667,0.4736,0.4832,0.473066666666667,0.463866666666667,0.476466666666667,0.5004,0.452666666666667,0.484,0.497066666666667,0.4604,0.4758,0.4834,0.4838,0.5004,0.526666666666667,0.432933333333333,0.462133333333333,0.465666666666667,0.454333333333333,0.472
|
||||||
|
"872",0.451733333333333,0.4464,0.478333333333333,0.4732,0.483133333333333,0.473266666666667,0.4638,0.4766,0.500466666666667,0.4524,0.483733333333333,0.4972,0.4606,0.475933333333333,0.483133333333333,0.483866666666667,0.500666666666667,0.526733333333333,0.433,0.462733333333333,0.4658,0.454266666666667,0.472066666666667
|
||||||
|
"873",0.4516,0.445933333333333,0.478266666666667,0.473066666666667,0.4832,0.473266666666667,0.463933333333333,0.476533333333333,0.500466666666667,0.451866666666667,0.483666666666667,0.497333333333333,0.460733333333333,0.476133333333333,0.4828,0.483866666666667,0.5008,0.526733333333333,0.433,0.463133333333333,0.465666666666667,0.4544,0.472
|
||||||
|
"874",0.451466666666667,0.4458,0.478266666666667,0.473133333333333,0.483,0.473266666666667,0.464,0.4764,0.500533333333333,0.451533333333333,0.483666666666667,0.497466666666667,0.4608,0.476333333333333,0.482733333333333,0.4838,0.501,0.526266666666667,0.433066666666667,0.463533333333333,0.465666666666667,0.4542,0.471733333333333
|
||||||
|
"875",0.4514,0.445866666666667,0.478333333333333,0.473266666666667,0.4828,0.473333333333333,0.464,0.476333333333333,0.500733333333333,0.451333333333333,0.4838,0.497466666666667,0.460933333333333,0.476466666666667,0.482666666666667,0.483933333333333,0.501266666666667,0.526,0.433,0.4636,0.465733333333333,0.454266666666667,0.471266666666667
|
||||||
|
"876",0.4514,0.445666666666667,0.4784,0.473466666666667,0.482866666666667,0.4734,0.464266666666667,0.476333333333333,0.500866666666667,0.4512,0.483666666666667,0.497466666666667,0.461066666666667,0.476266666666667,0.4826,0.4838,0.5016,0.525866666666667,0.433,0.463533333333333,0.465666666666667,0.454333333333333,0.471733333333333
|
||||||
|
"877",0.451533333333333,0.4456,0.478333333333333,0.473266666666667,0.482533333333333,0.4734,0.464266666666667,0.476533333333333,0.500933333333333,0.4514,0.483866666666667,0.4976,0.461,0.4764,0.482466666666667,0.483866666666667,0.5016,0.5258,0.433,0.463533333333333,0.4656,0.454266666666667,0.4718
|
||||||
|
"878",0.451666666666667,0.4456,0.478466666666667,0.473466666666667,0.482466666666667,0.4734,0.4644,0.476333333333333,0.5008,0.4514,0.484133333333333,0.497733333333333,0.461066666666667,0.4764,0.482466666666667,0.484066666666667,0.5012,0.5258,0.433133333333333,0.463533333333333,0.465466666666667,0.4542,0.4716
|
||||||
|
"879",0.451933333333333,0.445733333333333,0.478333333333333,0.473466666666667,0.482066666666667,0.473466666666667,0.464466666666667,0.476333333333333,0.500866666666667,0.4516,0.4842,0.497866666666667,0.461133333333333,0.476266666666667,0.482466666666667,0.484,0.501333333333333,0.525866666666667,0.433133333333333,0.463466666666667,0.465666666666667,0.4544,0.471666666666667
|
||||||
|
"880",0.452133333333333,0.445933333333333,0.4784,0.473133333333333,0.481866666666667,0.473466666666667,0.464333333333333,0.476333333333333,0.500866666666667,0.4516,0.484333333333333,0.497866666666667,0.461066666666667,0.476266666666667,0.482466666666667,0.484,0.5014,0.526066666666667,0.433066666666667,0.463266666666667,0.465466666666667,0.4546,0.471666666666667
|
||||||
|
"881",0.4522,0.446,0.4786,0.472533333333333,0.481466666666667,0.473466666666667,0.4644,0.476466666666667,0.5006,0.451533333333333,0.484,0.497733333333333,0.461,0.476333333333333,0.482666666666667,0.484,0.501266666666667,0.5258,0.433266666666667,0.463133333333333,0.465466666666667,0.454466666666667,0.4718
|
||||||
|
"882",0.4524,0.446,0.478466666666667,0.4718,0.481333333333333,0.4736,0.464466666666667,0.4764,0.500533333333333,0.4516,0.4838,0.4976,0.4608,0.476133333333333,0.482666666666667,0.484,0.501266666666667,0.525866666666667,0.4332,0.463066666666667,0.4654,0.454466666666667,0.4718
|
||||||
|
"883",0.452733333333333,0.446,0.4784,0.4712,0.481133333333333,0.4736,0.464466666666667,0.476333333333333,0.500533333333333,0.451866666666667,0.4834,0.4974,0.460733333333333,0.476066666666667,0.4826,0.484,0.5014,0.5256,0.433333333333333,0.4628,0.465666666666667,0.4546,0.471666666666667
|
||||||
|
"884",0.452733333333333,0.446066666666667,0.478466666666667,0.470933333333333,0.481133333333333,0.4736,0.4644,0.4762,0.500333333333333,0.452,0.483,0.497533333333333,0.460733333333333,0.4762,0.482733333333333,0.484066666666667,0.5012,0.525666666666667,0.433466666666667,0.463066666666667,0.465533333333333,0.454666666666667,0.4714
|
||||||
|
"885",0.4528,0.445933333333333,0.478466666666667,0.471,0.481133333333333,0.473466666666667,0.4644,0.476,0.500333333333333,0.452,0.482866666666667,0.497533333333333,0.460933333333333,0.476133333333333,0.483,0.483866666666667,0.501133333333333,0.5256,0.433533333333333,0.463266666666667,0.465466666666667,0.454733333333333,0.471333333333333
|
||||||
|
"886",0.452733333333333,0.446,0.4784,0.471,0.480933333333333,0.4734,0.464333333333333,0.476133333333333,0.500533333333333,0.452133333333333,0.482933333333333,0.497466666666667,0.461,0.476333333333333,0.4828,0.483933333333333,0.501466666666667,0.525466666666667,0.433533333333333,0.4634,0.4658,0.455066666666667,0.4712
|
||||||
|
"887",0.4526,0.445933333333333,0.478466666666667,0.471066666666667,0.4808,0.473333333333333,0.464266666666667,0.476,0.5004,0.451733333333333,0.483133333333333,0.4976,0.4612,0.476333333333333,0.482666666666667,0.483866666666667,0.501733333333333,0.525266666666667,0.4336,0.4634,0.4656,0.455066666666667,0.4712
|
||||||
|
"888",0.452266666666667,0.4458,0.478466666666667,0.471133333333333,0.480666666666667,0.473266666666667,0.464266666666667,0.475933333333333,0.500066666666667,0.4516,0.4832,0.497666666666667,0.461466666666667,0.4762,0.482666666666667,0.484,0.501733333333333,0.525466666666667,0.433666666666667,0.463133333333333,0.465533333333333,0.454933333333333,0.4712
|
||||||
|
"889",0.452133333333333,0.4458,0.478466666666667,0.471533333333333,0.480666666666667,0.4732,0.4644,0.4762,0.5,0.451866666666667,0.483466666666667,0.497133333333333,0.4614,0.475866666666667,0.4828,0.483933333333333,0.5012,0.5258,0.4338,0.4624,0.4654,0.454733333333333,0.471266666666667
|
||||||
|
"890",0.451933333333333,0.4458,0.4784,0.4716,0.480733333333333,0.473133333333333,0.464333333333333,0.4762,0.4998,0.452133333333333,0.483733333333333,0.497066666666667,0.461466666666667,0.4756,0.4828,0.483933333333333,0.501133333333333,0.526133333333333,0.4338,0.462,0.4654,0.4546,0.471333333333333
|
||||||
|
"891",0.451866666666667,0.446,0.4782,0.471733333333333,0.4806,0.473,0.464333333333333,0.4764,0.499666666666667,0.4524,0.483866666666667,0.497066666666667,0.461533333333333,0.475466666666667,0.482666666666667,0.4838,0.501,0.526733333333333,0.433666666666667,0.4616,0.465466666666667,0.454533333333333,0.4714
|
||||||
|
"892",0.451866666666667,0.446,0.478066666666667,0.471533333333333,0.480666666666667,0.473,0.4644,0.476533333333333,0.499933333333333,0.452466666666667,0.483933333333333,0.4966,0.461666666666667,0.475533333333333,0.4826,0.483933333333333,0.501066666666667,0.5272,0.433533333333333,0.461733333333333,0.465466666666667,0.454533333333333,0.471333333333333
|
||||||
|
"893",0.451866666666667,0.445866666666667,0.4778,0.471266666666667,0.4806,0.473133333333333,0.464466666666667,0.4764,0.499933333333333,0.4524,0.483733333333333,0.4966,0.461666666666667,0.475466666666667,0.482733333333333,0.4838,0.501,0.527533333333333,0.433533333333333,0.4622,0.4654,0.454533333333333,0.471066666666667
|
||||||
|
"894",0.451866666666667,0.445733333333333,0.477666666666667,0.4712,0.480733333333333,0.473066666666667,0.464533333333333,0.476333333333333,0.499866666666667,0.452333333333333,0.483466666666667,0.496733333333333,0.461666666666667,0.4752,0.4826,0.483666666666667,0.501133333333333,0.5276,0.433666666666667,0.462266666666667,0.4654,0.454466666666667,0.471133333333333
|
||||||
|
"895",0.452,0.4458,0.478,0.471,0.480866666666667,0.4734,0.4646,0.4762,0.5,0.452066666666667,0.482933333333333,0.496933333333333,0.461533333333333,0.4752,0.4824,0.4836,0.501066666666667,0.5276,0.4336,0.462333333333333,0.4654,0.454533333333333,0.4712
|
||||||
|
"896",0.452,0.4458,0.478,0.470933333333333,0.481133333333333,0.4734,0.464666666666667,0.476133333333333,0.499933333333333,0.452,0.4828,0.497066666666667,0.4614,0.4754,0.482133333333333,0.483533333333333,0.500866666666667,0.527266666666667,0.433533333333333,0.462333333333333,0.465533333333333,0.454533333333333,0.471133333333333
|
||||||
|
"897",0.452,0.4458,0.477933333333333,0.4712,0.481133333333333,0.473533333333333,0.464666666666667,0.476133333333333,0.4998,0.452066666666667,0.482333333333333,0.496733333333333,0.461533333333333,0.475533333333333,0.482266666666667,0.4834,0.500933333333333,0.5268,0.433533333333333,0.462266666666667,0.465666666666667,0.4546,0.471066666666667
|
||||||
|
"898",0.4518,0.445866666666667,0.477866666666667,0.4712,0.481133333333333,0.4732,0.464533333333333,0.476133333333333,0.499866666666667,0.452,0.482266666666667,0.496733333333333,0.461533333333333,0.475466666666667,0.4822,0.483266666666667,0.500866666666667,0.526733333333333,0.433666666666667,0.462066666666667,0.4656,0.454533333333333,0.471066666666667
|
||||||
|
"899",0.4516,0.445866666666667,0.477866666666667,0.471266666666667,0.481066666666667,0.473066666666667,0.464533333333333,0.4762,0.4998,0.4522,0.482333333333333,0.497,0.461666666666667,0.475266666666667,0.482066666666667,0.4834,0.500866666666667,0.5264,0.433866666666667,0.4618,0.465466666666667,0.4544,0.470866666666667
|
||||||
|
"900",0.4514,0.445866666666667,0.4778,0.471466666666667,0.480866666666667,0.473133333333333,0.4644,0.4762,0.4994,0.4524,0.482333333333333,0.4968,0.461466666666667,0.475,0.482,0.483333333333333,0.500733333333333,0.526266666666667,0.434,0.4618,0.465466666666667,0.4544,0.470866666666667
|
||||||
|
"901",0.451333333333333,0.446,0.4776,0.4716,0.480866666666667,0.473,0.464333333333333,0.476133333333333,0.499333333333333,0.452466666666667,0.482266666666667,0.4966,0.4612,0.474733333333333,0.482066666666667,0.4834,0.5006,0.526066666666667,0.434133333333333,0.461533333333333,0.4654,0.4544,0.470866666666667
|
||||||
|
"902",0.451533333333333,0.446066666666667,0.477266666666667,0.471733333333333,0.481,0.472933333333333,0.4646,0.476266666666667,0.499133333333333,0.4522,0.482266666666667,0.496333333333333,0.461066666666667,0.474666666666667,0.482266666666667,0.483466666666667,0.500466666666667,0.526266666666667,0.434066666666667,0.461266666666667,0.465333333333333,0.454333333333333,0.470866666666667
|
||||||
|
"903",0.4514,0.446066666666667,0.477133333333333,0.471933333333333,0.481066666666667,0.472933333333333,0.464533333333333,0.4766,0.499333333333333,0.452666666666667,0.482333333333333,0.4962,0.460933333333333,0.4746,0.482066666666667,0.4836,0.500266666666667,0.526266666666667,0.434133333333333,0.461066666666667,0.465466666666667,0.454266666666667,0.470933333333333
|
||||||
|
"904",0.4516,0.446133333333333,0.477266666666667,0.472133333333333,0.481066666666667,0.472666666666667,0.464333333333333,0.4766,0.499333333333333,0.452866666666667,0.482533333333333,0.496133333333333,0.460866666666667,0.4746,0.482333333333333,0.4836,0.500133333333333,0.526333333333333,0.434133333333333,0.460866666666667,0.465533333333333,0.454333333333333,0.4708
|
||||||
|
"905",0.451933333333333,0.4462,0.477466666666667,0.472266666666667,0.481133333333333,0.472533333333333,0.464333333333333,0.476733333333333,0.498866666666667,0.452933333333333,0.4826,0.496333333333333,0.460866666666667,0.474666666666667,0.4826,0.483533333333333,0.5004,0.526533333333333,0.434066666666667,0.460866666666667,0.4656,0.454666666666667,0.4706
|
||||||
|
"906",0.452,0.446266666666667,0.477533333333333,0.4722,0.481333333333333,0.472533333333333,0.464266666666667,0.476866666666667,0.498733333333333,0.452866666666667,0.4824,0.496466666666667,0.4608,0.474666666666667,0.482666666666667,0.483466666666667,0.500466666666667,0.526733333333333,0.434266666666667,0.460933333333333,0.465733333333333,0.454666666666667,0.470666666666667
|
||||||
|
"907",0.451933333333333,0.4462,0.477666666666667,0.472066666666667,0.481466666666667,0.472533333333333,0.464266666666667,0.476933333333333,0.4988,0.452733333333333,0.482333333333333,0.4964,0.460733333333333,0.474866666666667,0.4828,0.4834,0.500533333333333,0.5268,0.4342,0.461066666666667,0.465933333333333,0.454733333333333,0.4706
|
||||||
|
"908",0.452,0.446,0.477733333333333,0.4722,0.481666666666667,0.4726,0.4644,0.476933333333333,0.498933333333333,0.452533333333333,0.4822,0.4964,0.460866666666667,0.474866666666667,0.482733333333333,0.483266666666667,0.5006,0.5266,0.434066666666667,0.461266666666667,0.465933333333333,0.454733333333333,0.470533333333333
|
||||||
|
"909",0.452133333333333,0.4462,0.477666666666667,0.472466666666667,0.481933333333333,0.472666666666667,0.464533333333333,0.4768,0.498933333333333,0.452666666666667,0.482133333333333,0.496333333333333,0.460933333333333,0.4748,0.4826,0.483266666666667,0.5006,0.5264,0.433733333333333,0.4614,0.4658,0.4546,0.470533333333333
|
||||||
|
"910",0.4522,0.446333333333333,0.477666666666667,0.472733333333333,0.4822,0.4726,0.464533333333333,0.4768,0.499066666666667,0.452733333333333,0.482133333333333,0.496266666666667,0.461066666666667,0.474733333333333,0.4826,0.4832,0.5004,0.526133333333333,0.4336,0.4614,0.4658,0.454666666666667,0.4706
|
||||||
|
"911",0.451933333333333,0.4464,0.4772,0.473333333333333,0.482466666666667,0.4728,0.464666666666667,0.476533333333333,0.498866666666667,0.452866666666667,0.482266666666667,0.495933333333333,0.461066666666667,0.474666666666667,0.482533333333333,0.483133333333333,0.5004,0.526266666666667,0.4336,0.4612,0.4658,0.454466666666667,0.4706
|
||||||
|
"912",0.451666666666667,0.446266666666667,0.477133333333333,0.473466666666667,0.482533333333333,0.472733333333333,0.464466666666667,0.476333333333333,0.4988,0.4528,0.482333333333333,0.496066666666667,0.461066666666667,0.474533333333333,0.482533333333333,0.4832,0.500466666666667,0.5264,0.4334,0.4612,0.4658,0.454333333333333,0.4706
|
||||||
|
"913",0.451466666666667,0.446133333333333,0.477066666666667,0.474133333333333,0.482733333333333,0.4726,0.464333333333333,0.4764,0.4988,0.4528,0.482466666666667,0.496266666666667,0.461066666666667,0.474533333333333,0.482466666666667,0.483066666666667,0.5004,0.526733333333333,0.433533333333333,0.461133333333333,0.465866666666667,0.4544,0.470466666666667
|
||||||
|
"914",0.4514,0.445733333333333,0.477066666666667,0.474266666666667,0.482933333333333,0.472666666666667,0.464533333333333,0.476466666666667,0.498666666666667,0.452466666666667,0.482466666666667,0.496533333333333,0.461133333333333,0.4748,0.482466666666667,0.483066666666667,0.5006,0.526666666666667,0.433666666666667,0.461466666666667,0.466,0.4544,0.4706
|
||||||
|
"915",0.451266666666667,0.445333333333333,0.477533333333333,0.474533333333333,0.4828,0.4728,0.464533333333333,0.476666666666667,0.498866666666667,0.452066666666667,0.482533333333333,0.496533333333333,0.4612,0.4752,0.482333333333333,0.483,0.500733333333333,0.526466666666667,0.433666666666667,0.462133333333333,0.4662,0.4542,0.470666666666667
|
||||||
|
"916",0.4514,0.4452,0.4776,0.4746,0.4828,0.472933333333333,0.464333333333333,0.476666666666667,0.499266666666667,0.451866666666667,0.482866666666667,0.496466666666667,0.461133333333333,0.4752,0.482133333333333,0.483066666666667,0.5008,0.5264,0.4338,0.462266666666667,0.466333333333333,0.454266666666667,0.470466666666667
|
||||||
|
"917",0.451533333333333,0.4452,0.4778,0.474666666666667,0.4826,0.473066666666667,0.464,0.476533333333333,0.499266666666667,0.4516,0.4828,0.496666666666667,0.4612,0.475066666666667,0.482066666666667,0.4832,0.501266666666667,0.5262,0.433733333333333,0.462333333333333,0.466333333333333,0.4544,0.470466666666667
|
||||||
|
"918",0.451733333333333,0.4452,0.478,0.4748,0.482666666666667,0.473133333333333,0.464066666666667,0.4766,0.498933333333333,0.451533333333333,0.482666666666667,0.497,0.461066666666667,0.474933333333333,0.482133333333333,0.4832,0.501466666666667,0.525866666666667,0.433666666666667,0.462,0.4664,0.454666666666667,0.4704
|
||||||
|
"919",0.451866666666667,0.4454,0.4776,0.474533333333333,0.4826,0.473066666666667,0.463933333333333,0.476733333333333,0.498866666666667,0.4516,0.4826,0.496733333333333,0.461066666666667,0.474733333333333,0.482333333333333,0.4832,0.5014,0.525666666666667,0.433533333333333,0.461933333333333,0.466266666666667,0.4546,0.4702
|
||||||
|
"920",0.4518,0.4456,0.477533333333333,0.4744,0.4828,0.4728,0.464066666666667,0.4768,0.498733333333333,0.451866666666667,0.482466666666667,0.496533333333333,0.460933333333333,0.474733333333333,0.4824,0.483133333333333,0.5012,0.525533333333333,0.433733333333333,0.461933333333333,0.4664,0.4544,0.470266666666667
|
||||||
|
"921",0.451666666666667,0.445733333333333,0.477466666666667,0.474333333333333,0.4832,0.4726,0.464133333333333,0.4768,0.498533333333333,0.452133333333333,0.4824,0.496466666666667,0.461,0.475,0.4822,0.483066666666667,0.500733333333333,0.5256,0.433733333333333,0.4618,0.4664,0.454466666666667,0.470333333333333
|
||||||
|
"922",0.451333333333333,0.4458,0.4776,0.4742,0.483333333333333,0.4726,0.463933333333333,0.476733333333333,0.498533333333333,0.452133333333333,0.482266666666667,0.4962,0.460933333333333,0.474866666666667,0.482333333333333,0.482866666666667,0.5006,0.5256,0.4336,0.461733333333333,0.4664,0.454466666666667,0.4702
|
||||||
|
"923",0.450933333333333,0.4456,0.477466666666667,0.4744,0.483333333333333,0.472466666666667,0.463866666666667,0.476733333333333,0.498466666666667,0.451933333333333,0.4822,0.496,0.460866666666667,0.474733333333333,0.482266666666667,0.482866666666667,0.5006,0.525333333333333,0.433266666666667,0.461466666666667,0.466533333333333,0.454333333333333,0.47
|
||||||
|
"924",0.450933333333333,0.4456,0.4774,0.4746,0.483666666666667,0.472533333333333,0.464066666666667,0.476866666666667,0.498133333333333,0.452066666666667,0.482133333333333,0.496266666666667,0.460933333333333,0.474466666666667,0.482333333333333,0.483066666666667,0.500733333333333,0.525733333333333,0.433266666666667,0.461066666666667,0.466466666666667,0.4542,0.470066666666667
|
||||||
|
"925",0.450866666666667,0.445466666666667,0.477,0.474933333333333,0.484,0.472333333333333,0.464133333333333,0.4768,0.497866666666667,0.452066666666667,0.482266666666667,0.4962,0.460866666666667,0.474533333333333,0.482266666666667,0.482933333333333,0.5006,0.525866666666667,0.432866666666667,0.461066666666667,0.466533333333333,0.4542,0.469733333333333
|
||||||
|
"926",0.450933333333333,0.445466666666667,0.477,0.4752,0.484333333333333,0.472066666666667,0.464066666666667,0.476733333333333,0.497933333333333,0.451933333333333,0.482466666666667,0.496066666666667,0.460733333333333,0.474533333333333,0.4824,0.482733333333333,0.500466666666667,0.526066666666667,0.432733333333333,0.461266666666667,0.466466666666667,0.454133333333333,0.469333333333333
|
||||||
|
"927",0.451,0.445066666666667,0.476866666666667,0.475133333333333,0.484066666666667,0.472066666666667,0.4642,0.4766,0.498066666666667,0.451933333333333,0.482666666666667,0.496266666666667,0.4608,0.474733333333333,0.4824,0.483,0.500666666666667,0.526133333333333,0.432733333333333,0.461533333333333,0.466666666666667,0.4542,0.469733333333333
|
||||||
|
"928",0.450733333333333,0.444866666666667,0.477066666666667,0.475066666666667,0.483666666666667,0.4722,0.464266666666667,0.476533333333333,0.498133333333333,0.451533333333333,0.4826,0.496066666666667,0.460733333333333,0.474666666666667,0.482266666666667,0.482933333333333,0.500733333333333,0.526133333333333,0.4326,0.462,0.466666666666667,0.454066666666667,0.469933333333333
|
||||||
|
"929",0.450666666666667,0.444733333333333,0.476866666666667,0.474866666666667,0.483466666666667,0.4722,0.464133333333333,0.476666666666667,0.497933333333333,0.451,0.4826,0.4958,0.460533333333333,0.474466666666667,0.482133333333333,0.4828,0.5006,0.525933333333333,0.432533333333333,0.462133333333333,0.466533333333333,0.454066666666667,0.469533333333333
|
||||||
|
"930",0.450666666666667,0.444466666666667,0.477066666666667,0.474733333333333,0.4834,0.472066666666667,0.464066666666667,0.4766,0.498133333333333,0.450733333333333,0.4822,0.496,0.460533333333333,0.474733333333334,0.482066666666667,0.482933333333333,0.5008,0.525666666666667,0.432266666666667,0.4622,0.4668,0.4542,0.469533333333333
|
||||||
|
"931",0.450933333333333,0.444333333333333,0.477133333333333,0.474333333333333,0.483266666666667,0.472066666666667,0.464066666666667,0.476533333333333,0.497933333333333,0.4508,0.482,0.496,0.4606,0.474733333333334,0.482133333333333,0.482866666666667,0.500933333333333,0.5254,0.432333333333333,0.4622,0.4668,0.454066666666667,0.4696
|
||||||
|
"932",0.451,0.444066666666667,0.4772,0.474066666666667,0.4832,0.472066666666667,0.463933333333333,0.476533333333333,0.497533333333333,0.450333333333333,0.481866666666667,0.496266666666667,0.460666666666667,0.4744,0.481666666666667,0.4826,0.5008,0.525,0.4326,0.462133333333333,0.466666666666667,0.454133333333333,0.469266666666667
|
||||||
|
"933",0.450933333333333,0.444,0.4772,0.473866666666667,0.4826,0.472133333333333,0.463866666666667,0.4764,0.497466666666667,0.4502,0.481466666666667,0.496066666666667,0.4606,0.474333333333333,0.481466666666667,0.4824,0.500666666666667,0.5248,0.432733333333333,0.462066666666667,0.466733333333333,0.454066666666667,0.469066666666667
|
||||||
|
"934",0.4508,0.444,0.477,0.473733333333333,0.482466666666667,0.472066666666667,0.463666666666667,0.4762,0.497266666666667,0.450333333333333,0.4812,0.495666666666667,0.4606,0.474133333333333,0.481333333333333,0.482266666666667,0.500266666666667,0.524533333333333,0.4328,0.462066666666667,0.4668,0.453866666666667,0.468866666666666
|
||||||
|
"935",0.4508,0.444066666666667,0.476733333333333,0.4736,0.481933333333333,0.471666666666667,0.463466666666667,0.476,0.497266666666667,0.450533333333333,0.4812,0.4956,0.460266666666667,0.4736,0.4814,0.4824,0.499933333333333,0.5244,0.433,0.461333333333333,0.466533333333333,0.4536,0.4686
|
||||||
|
"936",0.450733333333333,0.4442,0.4764,0.473533333333333,0.482066666666667,0.471666666666667,0.463466666666667,0.475933333333333,0.497066666666667,0.4506,0.4814,0.495333333333333,0.460266666666667,0.473133333333333,0.481466666666667,0.482266666666667,0.4996,0.5244,0.433066666666667,0.460866666666667,0.466533333333333,0.453666666666667,0.4686
|
||||||
|
"937",0.450733333333333,0.444,0.476266666666667,0.4736,0.482066666666667,0.471533333333333,0.463333333333333,0.475866666666667,0.4968,0.450733333333333,0.481533333333333,0.495266666666667,0.4604,0.4728,0.481466666666667,0.482066666666667,0.499533333333333,0.524733333333333,0.433133333333333,0.460333333333333,0.4666,0.453466666666667,0.468533333333333
|
||||||
|
"938",0.450666666666667,0.444466666666667,0.4758,0.473666666666667,0.482266666666667,0.471466666666667,0.462933333333333,0.475666666666667,0.496133333333333,0.450533333333333,0.481666666666667,0.4948,0.459733333333333,0.4728,0.481533333333333,0.481933333333333,0.499333333333333,0.524933333333333,0.432666666666667,0.459933333333333,0.4664,0.453466666666667,0.468333333333333
|
||||||
|
"939",0.450666666666667,0.4446,0.4758,0.473666666666667,0.482133333333333,0.471,0.462733333333333,0.475333333333333,0.495866666666667,0.4508,0.4818,0.494533333333333,0.459666666666667,0.472466666666667,0.481466666666667,0.481866666666667,0.498866666666667,0.5254,0.432466666666667,0.459466666666667,0.4664,0.453266666666667,0.468133333333333
|
||||||
|
"940",0.4502,0.4444,0.475666666666667,0.473466666666667,0.481933333333333,0.470666666666667,0.4628,0.4752,0.495466666666667,0.451,0.481933333333333,0.494333333333333,0.459666666666667,0.472133333333333,0.481333333333333,0.4818,0.498733333333333,0.525666666666667,0.432133333333333,0.4594,0.466466666666667,0.4532,0.468066666666667
|
||||||
|
"941",0.449933333333333,0.444133333333333,0.475533333333333,0.4732,0.482066666666667,0.4706,0.4628,0.474933333333333,0.495266666666667,0.451133333333333,0.481933333333333,0.494333333333333,0.459533333333333,0.472133333333333,0.481333333333333,0.4816,0.498333333333333,0.525933333333333,0.431933333333333,0.459333333333333,0.466333333333333,0.453066666666667,0.467933333333333
|
||||||
|
"942",0.449733333333333,0.444066666666667,0.475333333333333,0.4728,0.482333333333333,0.4706,0.4628,0.474733333333333,0.495133333333333,0.450866666666667,0.481866666666667,0.494266666666667,0.459,0.472066666666667,0.4812,0.4816,0.498266666666667,0.526066666666667,0.431733333333333,0.4594,0.466133333333333,0.452933333333333,0.467866666666667
|
||||||
|
"943",0.449666666666667,0.443866666666667,0.475466666666667,0.4726,0.482266666666667,0.470666666666667,0.462466666666667,0.474466666666667,0.495266666666667,0.450733333333333,0.481733333333333,0.494066666666667,0.458866666666667,0.4718,0.481066666666667,0.481666666666667,0.498333333333333,0.526066666666667,0.431266666666667,0.459466666666667,0.465866666666667,0.452733333333333,0.4678
|
||||||
|
"944",0.449333333333333,0.443533333333333,0.475533333333333,0.472666666666667,0.482266666666667,0.4708,0.4622,0.4744,0.495266666666667,0.450333333333333,0.481466666666667,0.4942,0.4588,0.4716,0.480866666666667,0.4814,0.498333333333333,0.525866666666667,0.430866666666667,0.459733333333333,0.465466666666667,0.452533333333333,0.4676
|
||||||
|
"945",0.448866666666667,0.443533333333333,0.475333333333333,0.4726,0.482,0.470533333333333,0.4622,0.4742,0.495066666666667,0.449933333333333,0.481066666666667,0.494133333333333,0.458866666666667,0.471666666666667,0.4804,0.4812,0.498,0.525466666666667,0.430733333333333,0.4598,0.465266666666667,0.452466666666667,0.4672
|
||||||
|
"946",0.449,0.443533333333333,0.475,0.4722,0.481466666666667,0.4704,0.462066666666667,0.474066666666667,0.494933333333333,0.449533333333333,0.480733333333333,0.493866666666667,0.459,0.471733333333333,0.480266666666667,0.481,0.497933333333333,0.525133333333333,0.430533333333333,0.459733333333333,0.465,0.4522,0.467
|
||||||
|
"947",0.448733333333333,0.443,0.474733333333333,0.4718,0.481,0.470066666666667,0.461866666666667,0.473866666666667,0.494866666666667,0.449533333333333,0.480533333333333,0.493466666666667,0.458933333333333,0.4716,0.48,0.480933333333333,0.4976,0.524733333333333,0.4306,0.4596,0.464866666666667,0.451866666666667,0.466933333333333
|
||||||
|
"948",0.448466666666667,0.442533333333333,0.474466666666667,0.471533333333333,0.4806,0.469533333333333,0.461466666666667,0.4738,0.494333333333333,0.449333333333333,0.4804,0.493333333333333,0.458733333333333,0.471533333333333,0.48,0.480933333333333,0.497466666666667,0.524266666666667,0.430733333333333,0.4594,0.464666666666667,0.4518,0.466866666666667
|
||||||
|
"949",0.448333333333333,0.442533333333333,0.474266666666667,0.4712,0.480066666666667,0.469533333333333,0.461333333333333,0.473666666666667,0.493866666666667,0.448733333333333,0.480266666666667,0.493266666666667,0.458266666666667,0.470733333333333,0.479666666666667,0.480733333333333,0.4976,0.523733333333333,0.4306,0.459066666666667,0.464533333333333,0.4516,0.466733333333333
|
||||||
|
"950",0.447933333333333,0.442466666666667,0.474133333333333,0.470933333333333,0.479733333333333,0.469533333333333,0.461133333333333,0.473466666666667,0.493466666666667,0.4486,0.4802,0.493333333333333,0.458266666666667,0.470466666666667,0.479266666666667,0.4804,0.497533333333333,0.523133333333333,0.430533333333333,0.4588,0.464266666666667,0.4514,0.4662
|
||||||
|
"951",0.4478,0.442066666666667,0.4742,0.4706,0.479333333333333,0.4692,0.461,0.473266666666667,0.4934,0.448533333333333,0.479933333333333,0.493,0.4582,0.470466666666667,0.478933333333333,0.4802,0.497333333333333,0.522866666666667,0.4304,0.458733333333333,0.464,0.450666666666667,0.4662
|
||||||
|
"952",0.447533333333333,0.4418,0.473866666666667,0.4704,0.479066666666667,0.468933333333333,0.460533333333333,0.473,0.492666666666667,0.4484,0.479333333333333,0.492733333333333,0.458066666666667,0.470333333333333,0.478733333333333,0.479866666666667,0.497,0.522866666666667,0.430466666666667,0.458333333333333,0.463666666666667,0.450666666666667,0.465933333333333
|
||||||
|
"953",0.4476,0.441666666666667,0.4736,0.470133333333333,0.478933333333333,0.469,0.460266666666667,0.472733333333333,0.492266666666667,0.448,0.479333333333333,0.492466666666667,0.458066666666667,0.469933333333333,0.4786,0.479733333333333,0.4964,0.523066666666667,0.430466666666667,0.458066666666667,0.463533333333333,0.450733333333333,0.4658
|
||||||
|
"954",0.447666666666667,0.441866666666667,0.473466666666667,0.469733333333333,0.478666666666667,0.4686,0.459933333333333,0.472533333333333,0.4922,0.4478,0.4792,0.4918,0.457533333333333,0.469466666666667,0.478466666666667,0.479466666666667,0.496133333333333,0.523066666666667,0.4304,0.458066666666667,0.463066666666667,0.450533333333333,0.465666666666667
|
||||||
|
"955",0.447533333333333,0.441866666666667,0.472866666666667,0.4696,0.478666666666667,0.4684,0.460066666666667,0.472266666666667,0.492066666666667,0.447533333333333,0.4792,0.491866666666667,0.457133333333333,0.469133333333333,0.477933333333333,0.4794,0.4958,0.523,0.430066666666667,0.457666666666667,0.463066666666667,0.450466666666667,0.465333333333333
|
||||||
|
"956",0.4474,0.441333333333333,0.4726,0.469266666666667,0.4786,0.468333333333333,0.46,0.472066666666667,0.491533333333333,0.4474,0.4786,0.4918,0.456866666666667,0.468933333333333,0.477666666666667,0.4792,0.495533333333333,0.522933333333333,0.429933333333333,0.4574,0.463133333333333,0.450533333333333,0.464866666666667
|
||||||
|
"957",0.447466666666667,0.441066666666667,0.472533333333333,0.468866666666667,0.478466666666667,0.468066666666667,0.4596,0.472,0.491266666666667,0.447333333333333,0.478266666666667,0.4916,0.456533333333333,0.469,0.477933333333333,0.4792,0.4952,0.522666666666667,0.4296,0.457266666666667,0.462666666666667,0.450133333333333,0.464733333333333
|
||||||
|
"958",0.447333333333333,0.440933333333333,0.472466666666667,0.468533333333333,0.478066666666667,0.468,0.459266666666667,0.471466666666667,0.491066666666667,0.4468,0.478,0.4912,0.4564,0.468866666666667,0.478,0.4792,0.495,0.5224,0.429333333333333,0.456866666666667,0.462666666666667,0.449933333333333,0.464466666666667
|
||||||
|
"959",0.447,0.4408,0.472466666666667,0.4682,0.477866666666667,0.4678,0.4592,0.471533333333333,0.490666666666667,0.4468,0.477866666666667,0.4906,0.456133333333333,0.468533333333333,0.477866666666667,0.479,0.494866666666667,0.521933333333333,0.4292,0.456466666666667,0.462533333333333,0.449733333333333,0.4646
|
||||||
|
"960",0.4468,0.4408,0.4718,0.467866666666667,0.477466666666667,0.4674,0.458866666666667,0.4712,0.490533333333333,0.446866666666667,0.4776,0.4904,0.455866666666667,0.468333333333333,0.477533333333333,0.478866666666667,0.494333333333333,0.5218,0.428933333333333,0.456133333333333,0.462266666666667,0.4494,0.464533333333333
|
||||||
|
"961",0.446533333333333,0.4408,0.471666666666667,0.467666666666667,0.477,0.467133333333333,0.4586,0.470866666666667,0.490133333333333,0.446866666666667,0.477333333333333,0.4902,0.455666666666667,0.467933333333333,0.477466666666667,0.478666666666667,0.493866666666667,0.521666666666667,0.428733333333333,0.455733333333333,0.461866666666667,0.449466666666667,0.4642
|
||||||
|
"962",0.446533333333333,0.4406,0.4716,0.4676,0.476466666666667,0.467133333333333,0.458533333333333,0.4706,0.489466666666667,0.4466,0.4772,0.4902,0.4558,0.467666666666667,0.4776,0.478666666666667,0.4938,0.521133333333333,0.428466666666667,0.455533333333333,0.4618,0.449466666666667,0.464
|
||||||
|
"963",0.4462,0.440466666666667,0.471666666666667,0.4678,0.476666666666667,0.466933333333333,0.4584,0.470266666666667,0.489266666666667,0.446733333333333,0.476733333333333,0.490066666666667,0.455866666666667,0.467266666666667,0.4774,0.4782,0.493533333333333,0.520733333333333,0.4284,0.455466666666667,0.461733333333333,0.449266666666667,0.463666666666667
|
||||||
|
"964",0.4458,0.440333333333333,0.4716,0.468066666666667,0.4768,0.466733333333333,0.458066666666667,0.4704,0.4892,0.447133333333333,0.476866666666667,0.489666666666667,0.4558,0.4672,0.477266666666667,0.477866666666667,0.4934,0.520466666666667,0.428333333333333,0.455466666666667,0.4616,0.448666666666667,0.463533333333333
|
||||||
|
"965",0.445466666666667,0.440133333333333,0.471066666666667,0.4682,0.477,0.4666,0.458133333333333,0.470333333333333,0.489066666666667,0.446333333333333,0.476866666666667,0.489733333333333,0.456066666666667,0.466933333333333,0.476733333333333,0.4778,0.493266666666667,0.5202,0.4282,0.455666666666667,0.461533333333333,0.448666666666667,0.4636
|
||||||
|
"966",0.445466666666667,0.439933333333333,0.471266666666667,0.468266666666667,0.476733333333333,0.466866666666667,0.458133333333333,0.470333333333333,0.4888,0.446,0.4768,0.489866666666667,0.456066666666667,0.466666666666667,0.476533333333333,0.477666666666667,0.4932,0.520066666666667,0.428266666666667,0.455666666666667,0.461466666666667,0.4486,0.463466666666667
|
||||||
|
"967",0.445733333333333,0.439533333333333,0.471466666666667,0.468266666666667,0.476466666666667,0.4668,0.4582,0.470466666666667,0.4892,0.445866666666667,0.4766,0.489933333333333,0.455733333333333,0.4666,0.476133333333333,0.4776,0.493333333333333,0.5198,0.428333333333333,0.4556,0.461466666666667,0.4484,0.463133333333333
|
||||||
|
"968",0.445466666666667,0.4394,0.4712,0.4682,0.4766,0.466333333333333,0.4582,0.470466666666667,0.4888,0.446,0.476266666666667,0.489666666666667,0.455533333333333,0.466866666666667,0.475933333333333,0.4774,0.493466666666667,0.5196,0.428466666666667,0.4556,0.461666666666667,0.448533333333333,0.463133333333333
|
||||||
|
"969",0.4452,0.439533333333333,0.4712,0.468066666666667,0.4766,0.466133333333333,0.4582,0.4704,0.488533333333333,0.446,0.476333333333333,0.489533333333333,0.455266666666667,0.466866666666667,0.476066666666667,0.4774,0.493333333333333,0.5196,0.428466666666667,0.455466666666667,0.461666666666667,0.448333333333333,0.463066666666667
|
||||||
|
"970",0.445133333333333,0.439666666666667,0.471666666666667,0.4686,0.476533333333333,0.466066666666667,0.457933333333333,0.470133333333333,0.488133333333333,0.445866666666667,0.476733333333333,0.489533333333333,0.455333333333333,0.466333333333333,0.476133333333333,0.477533333333333,0.493066666666667,0.5196,0.4284,0.455133333333333,0.461333333333333,0.4484,0.462933333333333
|
||||||
|
"971",0.445133333333333,0.4396,0.471533333333333,0.468533333333333,0.476933333333333,0.466266666666667,0.457866666666667,0.4702,0.488066666666667,0.446066666666667,0.476733333333333,0.489533333333333,0.455533333333333,0.4664,0.476133333333333,0.477533333333333,0.4928,0.5196,0.428133333333333,0.454866666666667,0.461733333333333,0.448466666666667,0.463133333333333
|
||||||
|
"972",0.445266666666667,0.439733333333333,0.471333333333333,0.468666666666667,0.476933333333333,0.466266666666667,0.4578,0.470333333333333,0.488066666666667,0.446,0.476533333333333,0.489266666666667,0.455133333333333,0.466866666666667,0.476266666666667,0.477533333333333,0.492866666666667,0.519533333333333,0.4278,0.454733333333333,0.4618,0.448733333333333,0.4632
|
||||||
|
"973",0.445266666666667,0.4398,0.471333333333333,0.468466666666667,0.476866666666667,0.466,0.457866666666667,0.4702,0.488,0.445666666666667,0.476533333333333,0.489133333333333,0.454733333333333,0.467,0.4764,0.477666666666667,0.4928,0.519666666666667,0.4278,0.454733333333333,0.461533333333333,0.448333333333333,0.462666666666667
|
||||||
|
"974",0.4454,0.439733333333333,0.471066666666667,0.468333333333333,0.476933333333333,0.466,0.4578,0.470133333333333,0.488,0.4458,0.4764,0.488933333333333,0.454733333333333,0.466466666666667,0.4766,0.477666666666667,0.492533333333333,0.5198,0.427666666666667,0.454866666666667,0.461466666666667,0.4482,0.462866666666667
|
||||||
|
"975",0.4454,0.439666666666667,0.470933333333333,0.468466666666667,0.477266666666667,0.4658,0.457933333333333,0.470333333333333,0.488133333333333,0.445866666666667,0.476466666666667,0.488933333333333,0.454866666666667,0.466133333333333,0.476533333333333,0.4776,0.4924,0.520133333333333,0.427733333333333,0.4548,0.461733333333333,0.448133333333333,0.4632
|
||||||
|
"976",0.445,0.4396,0.471133333333333,0.4688,0.477333333333333,0.4658,0.457866666666667,0.47,0.487666666666667,0.446266666666667,0.476466666666667,0.489,0.455,0.466333333333333,0.4766,0.4776,0.492866666666667,0.52,0.4274,0.4548,0.461533333333333,0.448133333333333,0.462866666666667
|
||||||
|
"977",0.444933333333333,0.439466666666667,0.471333333333333,0.469066666666667,0.477533333333333,0.465866666666667,0.4578,0.469733333333333,0.4878,0.446533333333333,0.4766,0.489066666666667,0.455066666666667,0.4664,0.476533333333333,0.477466666666667,0.492733333333333,0.52,0.427,0.454733333333333,0.4618,0.448133333333333,0.4628
|
||||||
|
"978",0.4452,0.4394,0.471133333333333,0.4692,0.4774,0.465933333333333,0.457666666666667,0.469866666666667,0.488266666666667,0.446266666666667,0.476533333333333,0.489,0.454866666666667,0.4662,0.476666666666667,0.4772,0.4928,0.519733333333333,0.426733333333333,0.455066666666667,0.462133333333333,0.448466666666667,0.463
|
||||||
|
"979",0.444666666666667,0.4396,0.471066666666667,0.4694,0.477333333333333,0.466066666666667,0.457733333333333,0.47,0.488533333333333,0.446133333333333,0.4764,0.4892,0.455066666666667,0.466533333333333,0.4762,0.477,0.492866666666667,0.519466666666667,0.4272,0.4556,0.462066666666667,0.448066666666667,0.463
|
||||||
|
"980",0.444333333333333,0.4394,0.4712,0.4694,0.4772,0.466133333333333,0.4578,0.470266666666667,0.4884,0.446,0.4762,0.489133333333333,0.4552,0.4666,0.476333333333333,0.476933333333333,0.493066666666667,0.5192,0.427266666666667,0.456,0.462133333333333,0.447933333333333,0.462933333333333
|
||||||
|
"981",0.4444,0.439133333333333,0.471266666666667,0.468933333333333,0.477133333333333,0.466133333333333,0.4576,0.470266666666667,0.4884,0.445733333333333,0.476133333333333,0.489466666666667,0.4554,0.4668,0.476266666666667,0.476866666666667,0.493133333333333,0.518733333333333,0.427266666666667,0.4564,0.462266666666667,0.447866666666667,0.462933333333333
|
||||||
|
"982",0.444533333333333,0.438866666666667,0.4714,0.469333333333333,0.477866666666667,0.466133333333333,0.4574,0.470333333333333,0.488333333333333,0.445333333333333,0.475866666666667,0.489466666666667,0.455,0.466933333333333,0.476133333333333,0.4772,0.493333333333333,0.518933333333333,0.4276,0.456266666666667,0.462533333333333,0.447866666666667,0.4634
|
||||||
|
"983",0.444733333333333,0.439333333333333,0.4714,0.469866666666667,0.478266666666667,0.466266666666667,0.457666666666667,0.470666666666667,0.4882,0.4454,0.475733333333333,0.489533333333333,0.455133333333333,0.466933333333333,0.4762,0.4772,0.4934,0.519,0.427866666666667,0.4562,0.462666666666667,0.448,0.463533333333333
|
||||||
|
"984",0.445,0.439533333333333,0.4716,0.469666666666667,0.478333333333333,0.466333333333333,0.458266666666667,0.471066666666667,0.487866666666667,0.445866666666667,0.475533333333333,0.489066666666667,0.455533333333333,0.466466666666667,0.4758,0.477,0.493133333333333,0.518733333333333,0.427733333333333,0.456266666666667,0.4628,0.448133333333333,0.463
|
||||||
|
"985",0.444933333333333,0.4394,0.471466666666667,0.469866666666667,0.478666666666667,0.466,0.458266666666667,0.471,0.487866666666667,0.445733333333333,0.475666666666667,0.489133333333333,0.4556,0.4664,0.475733333333333,0.476933333333333,0.493266666666667,0.518933333333333,0.428066666666667,0.4562,0.463066666666667,0.448266666666667,0.4628
|
||||||
|
"986",0.444733333333333,0.4392,0.4712,0.470333333333333,0.479133333333333,0.465733333333333,0.4582,0.471066666666667,0.488266666666667,0.445666666666667,0.475533333333333,0.489333333333333,0.4554,0.466533333333333,0.476,0.476933333333333,0.493333333333333,0.519466666666667,0.428533333333333,0.456,0.4632,0.448533333333333,0.463
|
||||||
|
"987",0.444666666666667,0.439533333333333,0.4716,0.470466666666667,0.479466666666667,0.465733333333333,0.458333333333333,0.471066666666667,0.488466666666667,0.445933333333333,0.475666666666667,0.489066666666667,0.455666666666667,0.466266666666667,0.4766,0.477133333333333,0.493266666666667,0.519866666666667,0.428866666666667,0.4556,0.463266666666667,0.448533333333333,0.463133333333333
|
||||||
|
"988",0.444933333333333,0.4398,0.471666666666667,0.4706,0.479866666666667,0.465933333333333,0.458533333333333,0.4714,0.4882,0.446466666666667,0.475733333333333,0.4892,0.455533333333333,0.4662,0.476866666666667,0.477533333333333,0.493,0.5204,0.428933333333333,0.455533333333333,0.463466666666667,0.4486,0.463066666666667
|
||||||
|
"989",0.4454,0.439933333333333,0.471933333333333,0.470533333333333,0.480333333333333,0.466,0.458533333333333,0.4718,0.487933333333333,0.446733333333333,0.476066666666667,0.489666666666667,0.455533333333333,0.466466666666667,0.476933333333333,0.477466666666667,0.492666666666667,0.520733333333333,0.428733333333333,0.4556,0.463666666666667,0.4486,0.463066666666667
|
||||||
|
"990",0.445533333333333,0.440333333333333,0.472333333333333,0.470533333333333,0.480333333333333,0.4664,0.458866666666667,0.4718,0.488066666666667,0.446733333333333,0.4762,0.4894,0.455533333333333,0.466866666666667,0.476933333333333,0.477533333333333,0.4936,0.521,0.428733333333333,0.4556,0.463733333333333,0.4488,0.463
|
||||||
|
"991",0.445666666666667,0.4404,0.472533333333333,0.470666666666667,0.480333333333333,0.4662,0.4588,0.471933333333333,0.488266666666667,0.446933333333333,0.4762,0.489466666666667,0.455533333333333,0.4668,0.477,0.477666666666667,0.493866666666667,0.5212,0.428733333333333,0.4556,0.463733333333333,0.448733333333333,0.463066666666667
|
||||||
|
"992",0.445933333333333,0.440333333333333,0.472333333333333,0.4706,0.4812,0.465933333333333,0.458866666666667,0.472066666666667,0.488733333333333,0.4474,0.476466666666667,0.490066666666667,0.455666666666667,0.466333333333333,0.477533333333333,0.477733333333333,0.493533333333333,0.521733333333333,0.4286,0.4558,0.463866666666667,0.448933333333333,0.4634
|
||||||
|
"993",0.445933333333333,0.440666666666667,0.472266666666667,0.470933333333333,0.481533333333333,0.466266666666667,0.459066666666667,0.472333333333333,0.488733333333333,0.447266666666667,0.476533333333333,0.4898,0.455866666666667,0.4668,0.477733333333333,0.477866666666667,0.493466666666667,0.521866666666667,0.428666666666667,0.455466666666667,0.464266666666667,0.449,0.463533333333333
|
||||||
|
"994",0.445866666666667,0.440533333333333,0.472133333333333,0.4708,0.4816,0.466533333333333,0.459333333333333,0.4724,0.488466666666667,0.4472,0.4766,0.4896,0.456266666666667,0.467333333333333,0.477933333333333,0.477866666666667,0.4938,0.521866666666667,0.4282,0.4554,0.464333333333333,0.4492,0.463866666666667
|
||||||
|
"995",0.445666666666667,0.440133333333333,0.4724,0.4708,0.481533333333333,0.466533333333333,0.4594,0.472466666666667,0.488533333333333,0.4478,0.476933333333333,0.4898,0.4566,0.466866666666667,0.478066666666667,0.477733333333333,0.493933333333333,0.522133333333333,0.428533333333333,0.4554,0.464466666666667,0.449266666666667,0.463866666666667
|
||||||
|
"996",0.445733333333333,0.4402,0.472333333333333,0.470933333333333,0.4814,0.466733333333333,0.459533333333333,0.4726,0.489066666666667,0.4478,0.476866666666667,0.490066666666667,0.456866666666667,0.466866666666667,0.478,0.477533333333333,0.4938,0.522133333333333,0.428333333333333,0.455933333333333,0.464666666666667,0.449266666666667,0.463733333333333
|
||||||
|
"997",0.445666666666667,0.440066666666667,0.471866666666667,0.4712,0.4816,0.466866666666667,0.459733333333333,0.473,0.4894,0.447333333333333,0.476666666666667,0.49,0.456466666666667,0.467333333333333,0.477733333333333,0.4774,0.493666666666667,0.522266666666667,0.428333333333333,0.456533333333333,0.4648,0.449133333333333,0.4634
|
||||||
|
"998",0.445333333333333,0.44,0.4722,0.471466666666667,0.4818,0.4666,0.4596,0.473066666666667,0.489333333333333,0.446933333333333,0.476733333333333,0.490333333333333,0.456733333333333,0.4672,0.477533333333333,0.4778,0.494266666666667,0.522333333333333,0.4286,0.456733333333333,0.4644,0.449,0.4634
|
||||||
|
"999",0.445266666666667,0.439733333333333,0.472533333333333,0.471666666666667,0.482,0.4668,0.4596,0.473133333333333,0.4894,0.446666666666667,0.476733333333333,0.490333333333333,0.457066666666667,0.467066666666667,0.477266666666667,0.4778,0.494533333333333,0.522466666666667,0.428866666666667,0.456866666666667,0.4646,0.4488,0.463533333333333
|
||||||
|
"1000",0.445466666666667,0.439533333333333,0.472933333333333,0.471733333333333,0.4818,0.467266666666667,0.4598,0.473066666666667,0.4896,0.446333333333333,0.4768,0.490266666666667,0.457066666666667,0.467066666666667,0.477133333333333,0.477466666666667,0.4946,0.522266666666667,0.4288,0.456866666666667,0.464933333333333,0.448933333333333,0.463666666666667
|
||||||
|
"1001",0.446133333333333,0.4402,0.4724,0.471866666666667,0.481933333333333,0.466933333333333,0.460266666666667,0.473266666666667,0.489866666666667,0.446733333333333,0.4772,0.4902,0.456533333333333,0.467133333333333,0.4772,0.477466666666667,0.494666666666667,0.521733333333333,0.428866666666667,0.456866666666667,0.464933333333333,0.449066666666667,0.463866666666667
|
||||||
|
"1002",0.446533333333333,0.4408,0.472533333333333,0.471666666666667,0.4816,0.466733333333333,0.460733333333333,0.473533333333333,0.489533333333333,0.446933333333333,0.477266666666667,0.490066666666667,0.456666666666667,0.467466666666667,0.4774,0.4778,0.494533333333333,0.5216,0.429066666666667,0.4568,0.464866666666667,0.449533333333333,0.4638
|
||||||
|
"1003",0.446666666666667,0.441,0.473066666666667,0.471466666666667,0.481333333333333,0.466666666666667,0.4608,0.473866666666667,0.488933333333333,0.4474,0.477133333333333,0.490333333333333,0.457466666666667,0.4672,0.477666666666667,0.478133333333333,0.494666666666667,0.521733333333333,0.429533333333333,0.456666666666667,0.465,0.449866666666667,0.4638
|
||||||
|
"1004",0.446466666666667,0.440733333333333,0.473,0.471333333333333,0.481733333333333,0.466666666666667,0.460733333333333,0.474,0.4888,0.4476,0.477333333333333,0.4902,0.457333333333333,0.467266666666667,0.4782,0.4786,0.4946,0.521933333333333,0.429333333333333,0.456466666666667,0.465266666666667,0.449933333333333,0.4634
|
||||||
|
"1005",0.446733333333333,0.440466666666667,0.473,0.471466666666667,0.482066666666667,0.466533333333333,0.460733333333333,0.474,0.4892,0.447533333333333,0.477533333333333,0.4902,0.456866666666667,0.4672,0.478333333333333,0.478933333333333,0.494733333333333,0.521933333333333,0.4288,0.456666666666667,0.465533333333333,0.450133333333333,0.463133333333333
|
||||||
|
"1006",0.4468,0.440533333333333,0.473333333333333,0.4712,0.482133333333333,0.4668,0.461066666666667,0.474333333333333,0.490066666666667,0.447466666666667,0.477333333333333,0.490866666666667,0.457066666666667,0.467733333333333,0.478533333333333,0.4786,0.494733333333333,0.522,0.428933333333333,0.456466666666667,0.465266666666667,0.450333333333333,0.4636
|
||||||
|
"1007",0.446533333333333,0.440866666666667,0.4734,0.471133333333333,0.481866666666667,0.467066666666667,0.461266666666667,0.474466666666667,0.4904,0.4474,0.4774,0.4914,0.457133333333333,0.4678,0.478733333333333,0.478533333333333,0.4952,0.5222,0.429066666666667,0.4568,0.465533333333333,0.450266666666667,0.464
|
||||||
|
"1008",0.446533333333333,0.441133333333333,0.473,0.471333333333333,0.481733333333333,0.467,0.461333333333333,0.474533333333333,0.4902,0.447466666666667,0.477533333333333,0.4914,0.457333333333333,0.467933333333333,0.479266666666667,0.478866666666667,0.495333333333333,0.5224,0.429333333333333,0.457333333333333,0.465866666666667,0.4502,0.464333333333333
|
||||||
|
"1009",0.4468,0.440866666666667,0.473666666666667,0.4714,0.481666666666667,0.4672,0.461266666666667,0.474533333333333,0.4902,0.447866666666667,0.477733333333333,0.491133333333333,0.457866666666667,0.467933333333333,0.479333333333333,0.478866666666667,0.495533333333333,0.523,0.4294,0.457866666666667,0.4658,0.450466666666667,0.465066666666667
|
||||||
|
"1010",0.4466,0.441,0.4742,0.471,0.4818,0.467066666666667,0.4614,0.474533333333333,0.490533333333333,0.448066666666667,0.4776,0.491333333333333,0.4578,0.467866666666667,0.479333333333333,0.478866666666667,0.495933333333333,0.5234,0.4296,0.4582,0.465666666666667,0.450533333333333,0.464733333333333
|
||||||
|
"1011",0.446466666666667,0.441266666666667,0.473933333333333,0.470866666666667,0.482266666666667,0.466933333333333,0.461266666666667,0.474666666666667,0.490733333333333,0.4478,0.4772,0.4916,0.457266666666667,0.467533333333333,0.479533333333333,0.479,0.496066666666667,0.523733333333333,0.4298,0.458266666666667,0.465466666666667,0.4502,0.464066666666667
|
||||||
|
"1012",0.446733333333333,0.4404,0.473733333333333,0.471066666666667,0.481733333333333,0.4674,0.461666666666667,0.475,0.4904,0.4478,0.477466666666667,0.491733333333333,0.458133333333333,0.468333333333333,0.479466666666667,0.479066666666667,0.4962,0.5238,0.43,0.458066666666667,0.465666666666667,0.4506,0.464066666666667
|
||||||
|
"1013",0.4464,0.440266666666667,0.473866666666667,0.471133333333333,0.480866666666667,0.467933333333333,0.461933333333333,0.474933333333333,0.490533333333333,0.4478,0.478066666666667,0.491933333333333,0.458133333333333,0.468666666666667,0.479533333333333,0.478933333333333,0.496533333333333,0.523866666666667,0.429866666666667,0.457933333333333,0.4658,0.450733333333333,0.464466666666667
|
||||||
|
"1014",0.4462,0.440933333333333,0.474,0.471266666666667,0.4808,0.467933333333333,0.462266666666667,0.474933333333333,0.491,0.447666666666667,0.478266666666667,0.491133333333333,0.457733333333333,0.4684,0.479666666666667,0.478866666666667,0.496666666666667,0.5234,0.4296,0.457933333333333,0.465466666666667,0.450333333333333,0.465
|
||||||
|
"1015",0.4464,0.441066666666667,0.473933333333333,0.471533333333333,0.480466666666667,0.467333333333333,0.462266666666667,0.475266666666667,0.491066666666667,0.447866666666667,0.4784,0.491133333333333,0.457866666666667,0.468333333333333,0.4794,0.478666666666667,0.496533333333333,0.5234,0.4296,0.457733333333333,0.4654,0.450533333333333,0.465066666666667
|
||||||
|
"1016",0.4468,0.441066666666667,0.474266666666667,0.4716,0.480533333333333,0.4672,0.4622,0.475533333333333,0.490866666666667,0.4486,0.478533333333333,0.491066666666667,0.458133333333333,0.468133333333333,0.479533333333333,0.478666666666667,0.496,0.5232,0.429666666666667,0.4574,0.465266666666667,0.450666666666667,0.464666666666667
|
||||||
|
"1017",0.4468,0.441733333333333,0.474333333333333,0.472066666666667,0.4806,0.468066666666667,0.462533333333333,0.475666666666667,0.4898,0.449266666666667,0.4788,0.4908,0.458733333333333,0.468066666666667,0.479933333333333,0.479133333333333,0.495533333333333,0.523133333333333,0.429666666666667,0.457266666666667,0.4654,0.4506,0.464466666666667
|
||||||
|
"1018",0.446666666666667,0.441533333333333,0.4744,0.472,0.480533333333333,0.468733333333333,0.4628,0.475866666666667,0.490266666666667,0.449466666666667,0.478866666666667,0.490933333333333,0.4588,0.468333333333333,0.480266666666667,0.4792,0.495866666666667,0.523333333333333,0.43,0.457666666666667,0.465733333333333,0.450733333333333,0.464933333333333
|
||||||
|
"1019",0.4466,0.4414,0.474333333333333,0.471866666666667,0.480733333333333,0.469,0.463,0.475666666666667,0.491333333333333,0.4492,0.4786,0.491333333333333,0.458733333333333,0.468466666666667,0.480466666666667,0.479266666666667,0.4966,0.523533333333333,0.430466666666667,0.4582,0.466,0.451,0.465333333333333
|
||||||
|
"1020",0.4476,0.441466666666667,0.474866666666667,0.472,0.4806,0.4686,0.463333333333333,0.475733333333333,0.4916,0.448866666666667,0.478466666666667,0.491733333333333,0.459133333333333,0.468533333333333,0.480666666666667,0.479266666666667,0.496333333333333,0.5226,0.4308,0.4586,0.465933333333333,0.451333333333333,0.464933333333333
|
||||||
|
"1021",0.4478,0.441533333333333,0.474733333333333,0.471866666666667,0.4804,0.468466666666667,0.4636,0.4758,0.491333333333333,0.448533333333333,0.478733333333333,0.492066666666667,0.4592,0.468733333333333,0.4804,0.479466666666667,0.4964,0.5224,0.4312,0.459,0.465933333333333,0.451533333333333,0.4648
|
||||||
|
"1022",0.4478,0.4412,0.4736,0.471533333333333,0.480466666666667,0.4686,0.4634,0.476,0.491533333333333,0.448333333333333,0.4786,0.492133333333333,0.459266666666667,0.469,0.480266666666667,0.479866666666667,0.497266666666667,0.5226,0.431666666666667,0.459466666666667,0.465733333333333,0.451266666666667,0.464933333333333
|
||||||
|
"1023",0.448266666666667,0.4416,0.474466666666667,0.471866666666667,0.480666666666667,0.468466666666667,0.463133333333333,0.476,0.492133333333333,0.4488,0.4792,0.4924,0.459266666666667,0.4694,0.48,0.479933333333333,0.497333333333333,0.522466666666667,0.4312,0.459666666666667,0.465533333333333,0.451466666666667,0.4652
|
||||||
|
"1024",0.448133333333333,0.4414,0.475066666666667,0.472266666666667,0.480866666666667,0.468466666666667,0.463533333333333,0.476066666666667,0.492466666666667,0.448733333333333,0.479333333333333,0.492333333333333,0.4592,0.469933333333333,0.48,0.48,0.497066666666667,0.5224,0.4308,0.4596,0.465666666666667,0.451533333333333,0.464933333333333
|
||||||
|
"1025",0.447866666666667,0.441266666666667,0.474733333333333,0.472466666666667,0.480733333333333,0.4678,0.4644,0.476066666666667,0.491733333333333,0.448666666666667,0.478866666666667,0.491733333333333,0.4592,0.470133333333333,0.480466666666667,0.479733333333333,0.497,0.522466666666667,0.431,0.459266666666667,0.4662,0.4518,0.4644
|
||||||
|
"1026",0.447866666666667,0.4418,0.474666666666667,0.472,0.479866666666667,0.4678,0.4642,0.475933333333333,0.491266666666667,0.449,0.4792,0.491866666666667,0.459066666666667,0.469533333333333,0.4806,0.4802,0.497,0.522066666666667,0.4312,0.458866666666667,0.4662,0.451933333333333,0.464933333333333
|
||||||
|
"1027",0.448133333333333,0.442333333333333,0.475,0.472,0.479333333333333,0.468133333333333,0.464066666666667,0.476133333333333,0.491466666666667,0.4496,0.479533333333333,0.492266666666667,0.4592,0.469,0.4806,0.480133333333333,0.496733333333333,0.5222,0.431266666666667,0.4586,0.465933333333333,0.451933333333333,0.465733333333333
|
||||||
|
"1028",0.448733333333333,0.441666666666667,0.475066666666667,0.472333333333333,0.4796,0.468666666666667,0.4646,0.476466666666667,0.492533333333333,0.449333333333333,0.479666666666667,0.492733333333333,0.46,0.468866666666667,0.480866666666667,0.479933333333333,0.4966,0.523333333333333,0.431266666666667,0.458866666666667,0.465533333333333,0.451933333333333,0.466
|
||||||
|
"1029",0.448866666666667,0.441733333333333,0.474666666666667,0.4722,0.480066666666667,0.468533333333333,0.464466666666667,0.4764,0.4926,0.449066666666667,0.479533333333333,0.492466666666667,0.460133333333333,0.469066666666667,0.481,0.479933333333333,0.497266666666667,0.523,0.430533333333333,0.459066666666667,0.465933333333333,0.4522,0.466133333333333
|
||||||
|
"1030",0.448466666666667,0.441733333333333,0.474333333333333,0.471933333333333,0.480333333333333,0.4682,0.463866666666667,0.475933333333333,0.491466666666667,0.449,0.479333333333333,0.4924,0.4602,0.469133333333333,0.4806,0.479733333333333,0.497933333333333,0.5226,0.430266666666667,0.4596,0.4664,0.452666666666667,0.465466666666667
|
||||||
|
"1031",0.448933333333333,0.441866666666667,0.4752,0.4726,0.4804,0.468533333333333,0.463866666666667,0.476,0.490933333333333,0.449466666666667,0.479866666666667,0.492066666666667,0.460333333333333,0.469133333333333,0.4804,0.479733333333333,0.498333333333333,0.5236,0.431133333333333,0.459333333333333,0.466666666666667,0.452733333333333,0.4652
|
||||||
|
"1032",0.448866666666667,0.4414,0.475466666666667,0.4726,0.480666666666667,0.468466666666667,0.464,0.4764,0.491333333333333,0.4498,0.479933333333333,0.491933333333333,0.460133333333333,0.469533333333333,0.480466666666667,0.48,0.4984,0.523866666666667,0.431266666666667,0.4598,0.466533333333333,0.4526,0.465733333333333
|
||||||
|
"1033",0.448266666666667,0.4412,0.475333333333333,0.4724,0.4808,0.468466666666667,0.464466666666667,0.4764,0.4922,0.449133333333333,0.480066666666667,0.4922,0.459733333333333,0.469466666666667,0.4804,0.4802,0.4982,0.523533333333333,0.431133333333333,0.460333333333333,0.4662,0.452133333333333,0.466333333333333
|
||||||
|
"1034",0.447866666666667,0.441466666666667,0.474333333333333,0.472866666666667,0.480533333333333,0.468466666666667,0.464,0.4766,0.492666666666667,0.449266666666667,0.480066666666667,0.492866666666667,0.459933333333333,0.468666666666667,0.480466666666667,0.479866666666667,0.498466666666667,0.523533333333333,0.430666666666667,0.460466666666667,0.4662,0.4524,0.4656
|
||||||
|
"1035",0.447533333333333,0.441666666666667,0.474466666666667,0.472466666666667,0.479933333333333,0.468333333333333,0.464,0.476533333333333,0.492933333333333,0.449066666666667,0.479533333333333,0.4934,0.4602,0.469866666666667,0.480333333333333,0.479733333333333,0.498133333333333,0.5236,0.431,0.460266666666667,0.466266666666667,0.452466666666667,0.4652
|
||||||
|
"1036",0.4472,0.441466666666667,0.475933333333333,0.472066666666667,0.479333333333333,0.4686,0.464333333333333,0.4764,0.4926,0.448666666666667,0.479,0.493466666666667,0.460133333333333,0.471666666666667,0.4806,0.479666666666667,0.497533333333333,0.523333333333333,0.431333333333333,0.460066666666667,0.466466666666667,0.4522,0.4654
|
||||||
|
"1037",0.447666666666667,0.441533333333333,0.476066666666667,0.472466666666667,0.479733333333333,0.469533333333333,0.4646,0.476733333333333,0.491733333333333,0.449266666666667,0.479666666666667,0.493533333333333,0.460466666666667,0.470866666666667,0.479733333333333,0.479266666666667,0.498333333333333,0.5232,0.430666666666667,0.460533333333333,0.4666,0.451933333333333,0.466133333333333
|
||||||
|
"1038",0.448466666666667,0.4416,0.475466666666667,0.472533333333333,0.480266666666667,0.469133333333333,0.464666666666667,0.4768,0.491,0.449466666666667,0.4796,0.493066666666667,0.460333333333333,0.470133333333333,0.4798,0.478933333333333,0.4986,0.5234,0.430533333333333,0.460933333333333,0.466666666666667,0.4518,0.4666
|
||||||
|
"1039",0.448533333333333,0.441733333333333,0.4748,0.472266666666667,0.4808,0.467666666666667,0.464333333333333,0.477066666666667,0.492,0.4488,0.478533333333333,0.492466666666667,0.459333333333333,0.4706,0.480666666666667,0.479266666666667,0.497933333333333,0.523866666666667,0.4314,0.461333333333333,0.466866666666667,0.452266666666667,0.466466666666667
|
||||||
|
"1040",0.448133333333333,0.4414,0.4756,0.472466666666667,0.480733333333333,0.4678,0.464133333333333,0.477133333333333,0.492133333333333,0.449133333333333,0.4784,0.493666666666667,0.459333333333333,0.469533333333333,0.480866666666667,0.4796,0.4984,0.523333333333333,0.431333333333333,0.4608,0.467133333333333,0.4526,0.466266666666667
|
||||||
|
"1041",0.447933333333333,0.441333333333333,0.4762,0.472866666666667,0.481133333333333,0.4684,0.4644,0.4776,0.491933333333333,0.449466666666667,0.479266666666667,0.494266666666667,0.459466666666667,0.4692,0.4808,0.480333333333333,0.498733333333333,0.523066666666667,0.431,0.460266666666667,0.467333333333333,0.452733333333333,0.466066666666667
|
||||||
|
"1042",0.447866666666667,0.442533333333333,0.476333333333333,0.472933333333333,0.4816,0.4688,0.4656,0.477466666666667,0.491933333333333,0.448733333333333,0.479666666666667,0.493266666666667,0.4598,0.470066666666667,0.481333333333333,0.480733333333333,0.498133333333333,0.523866666666667,0.431,0.4598,0.466666666666667,0.4526,0.465866666666667
|
||||||
|
"1043",0.448066666666667,0.443,0.475733333333333,0.472933333333333,0.481933333333333,0.4684,0.465266666666667,0.477333333333333,0.4928,0.449466666666667,0.4794,0.492266666666667,0.4598,0.470333333333333,0.481,0.4806,0.497933333333333,0.523933333333333,0.431066666666667,0.459333333333333,0.466466666666667,0.452066666666667,0.466466666666667
|
||||||
|
"1044",0.4484,0.443066666666667,0.474866666666667,0.4732,0.481933333333333,0.467933333333333,0.4648,0.477466666666667,0.493266666666667,0.4506,0.479066666666667,0.491933333333333,0.459733333333333,0.469866666666667,0.4808,0.480333333333333,0.498466666666667,0.523733333333333,0.431266666666667,0.4596,0.467,0.451533333333333,0.467133333333333
|
||||||
|
"1045",0.448133333333333,0.443133333333333,0.474066666666667,0.4736,0.4818,0.468466666666667,0.4654,0.477466666666667,0.491733333333333,0.4512,0.4796,0.4922,0.4596,0.47,0.4808,0.480133333333333,0.4982,0.5236,0.431333333333333,0.459466666666667,0.466533333333333,0.452,0.465866666666667
|
||||||
|
"1046",0.4478,0.442533333333333,0.474666666666667,0.4736,0.481866666666667,0.468666666666667,0.4654,0.477333333333333,0.491266666666667,0.450866666666667,0.480133333333333,0.492133333333333,0.460266666666667,0.4702,0.481066666666667,0.48,0.4982,0.524266666666667,0.431466666666667,0.460066666666667,0.466666666666667,0.4522,0.466
|
||||||
|
"1047",0.448,0.442066666666667,0.475933333333333,0.4742,0.482266666666667,0.468333333333333,0.464933333333333,0.4778,0.492133333333333,0.450066666666667,0.480066666666667,0.491533333333333,0.460666666666667,0.471,0.480533333333333,0.479733333333333,0.498266666666667,0.525133333333333,0.431666666666667,0.460133333333333,0.467466666666667,0.452666666666667,0.467
|
||||||
|
"1048",0.448066666666667,0.442066666666667,0.475333333333333,0.4744,0.482866666666667,0.4678,0.4652,0.477933333333333,0.493266666666667,0.450533333333333,0.480066666666667,0.4934,0.4604,0.469066666666667,0.480733333333333,0.480066666666667,0.498333333333333,0.524666666666667,0.431266666666667,0.4594,0.467133333333333,0.4532,0.4652
|
||||||
|
"1049",0.4482,0.442,0.475,0.474333333333333,0.482933333333333,0.467066666666667,0.465266666666667,0.478333333333333,0.492466666666667,0.4508,0.4794,0.494333333333333,0.460066666666667,0.469133333333333,0.480533333333333,0.479666666666667,0.4984,0.524466666666667,0.431133333333333,0.459466666666667,0.4672,0.452866666666667,0.4638
|
||||||
|
"1050",0.448266666666667,0.4422,0.475333333333333,0.4744,0.483,0.467,0.465333333333333,0.4784,0.491,0.450533333333333,0.4788,0.494066666666667,0.460133333333333,0.471133333333333,0.480266666666667,0.478866666666667,0.498,0.525266666666667,0.431,0.4604,0.467266666666667,0.451733333333333,0.464133333333333
|
||||||
|
"1051",0.4486,0.4426,0.474933333333333,0.474866666666667,0.4838,0.467133333333333,0.465,0.477866666666667,0.491133333333333,0.449266666666667,0.4794,0.492733333333333,0.460866666666667,0.470333333333333,0.479866666666667,0.4792,0.4978,0.525266666666667,0.4314,0.460733333333333,0.4672,0.452666666666667,0.4658
|
||||||
|
"1052",0.4492,0.442933333333333,0.474866666666667,0.474866666666667,0.484533333333333,0.4672,0.464733333333333,0.4778,0.491666666666667,0.4488,0.4798,0.4924,0.4612,0.4696,0.4796,0.4794,0.4982,0.525333333333333,0.432,0.460733333333333,0.467266666666667,0.453066666666667,0.467066666666667
|
||||||
|
"1053",0.45,0.442733333333333,0.475333333333333,0.474466666666667,0.4844,0.467333333333333,0.464866666666667,0.477733333333333,0.491533333333333,0.449,0.479733333333333,0.493333333333333,0.461133333333333,0.470266666666667,0.48,0.4794,0.499466666666667,0.525066666666667,0.432266666666667,0.460333333333333,0.467,0.4526,0.466533333333333
|
||||||
|
"1054",0.448733333333333,0.441666666666667,0.4762,0.4744,0.483333333333333,0.467533333333333,0.465933333333333,0.477533333333333,0.492133333333333,0.449666666666667,0.479333333333333,0.493533333333333,0.461266666666667,0.470266666666667,0.480066666666667,0.479133333333333,0.498666666666667,0.524666666666667,0.431266666666667,0.460866666666667,0.4672,0.453133333333333,0.466333333333333
|
||||||
|
"1055",0.447933333333333,0.441466666666667,0.476933333333333,0.4744,0.482533333333333,0.467866666666667,0.466,0.4776,0.4928,0.450066666666667,0.478933333333333,0.492866666666667,0.460466666666667,0.4698,0.480066666666667,0.479266666666667,0.498066666666667,0.524066666666667,0.430933333333333,0.461266666666667,0.467,0.453133333333333,0.466266666666667
|
||||||
|
"1056",0.4488,0.4422,0.476466666666667,0.474133333333333,0.483333333333333,0.4682,0.4652,0.477266666666667,0.493466666666667,0.450266666666667,0.479533333333333,0.492066666666667,0.4602,0.4696,0.480333333333333,0.480133333333333,0.498666666666667,0.5244,0.4316,0.461266666666667,0.4664,0.451666666666667,0.465666666666667
|
||||||
|
"1057",0.449933333333333,0.442466666666667,0.476266666666667,0.4744,0.4842,0.468533333333333,0.4646,0.477466666666667,0.4936,0.449733333333333,0.479133333333333,0.492133333333333,0.459933333333333,0.470066666666667,0.479866666666667,0.4802,0.498333333333333,0.525066666666667,0.431066666666667,0.4616,0.467,0.452133333333333,0.4652
|
||||||
|
"1058",0.449933333333333,0.441666666666667,0.475933333333333,0.474333333333333,0.485266666666667,0.469333333333333,0.465133333333333,0.477933333333333,0.493666666666667,0.4488,0.478533333333333,0.492933333333333,0.459866666666667,0.470533333333333,0.479733333333333,0.480066666666667,0.498,0.525133333333333,0.4296,0.462,0.468133333333333,0.453466666666667,0.466133333333333
|
||||||
|
"1059",0.449066666666667,0.442466666666667,0.475666666666667,0.472933333333333,0.484466666666667,0.469666666666667,0.4652,0.478133333333333,0.492733333333333,0.448266666666667,0.4784,0.493733333333333,0.4596,0.470666666666667,0.482266666666667,0.4798,0.4986,0.525466666666667,0.429533333333333,0.461933333333333,0.468666666666667,0.4534,0.4686
|
||||||
|
"1060",0.4492,0.442466666666667,0.476466666666667,0.473466666666667,0.484333333333333,0.468733333333333,0.465333333333333,0.478733333333333,0.4924,0.448,0.478466666666667,0.493333333333333,0.4596,0.4708,0.4812,0.478866666666667,0.4984,0.5256,0.43,0.4614,0.468133333333333,0.452533333333333,0.467533333333333
|
||||||
|
"1061",0.449733333333333,0.441466666666667,0.4768,0.475466666666667,0.484733333333333,0.4672,0.4656,0.479266666666667,0.492866666666667,0.448266666666667,0.478266666666667,0.492333333333333,0.46,0.4698,0.4778,0.477466666666667,0.497133333333333,0.5254,0.431066666666667,0.461666666666667,0.4668,0.4516,0.463733333333333
|
||||||
|
"1062",0.449333333333333,0.442266666666667,0.475933333333333,0.476,0.484333333333333,0.467866666666667,0.4652,0.477866666666667,0.4922,0.4478,0.4792,0.493333333333333,0.4606,0.470133333333333,0.479266666666667,0.479466666666667,0.4986,0.524133333333333,0.431133333333333,0.461066666666667,0.466,0.451066666666667,0.465866666666667
|
||||||
|
"1063",0.449066666666667,0.442133333333333,0.475466666666667,0.475466666666667,0.485133333333333,0.468133333333333,0.4654,0.477666666666667,0.492866666666667,0.447866666666667,0.479933333333333,0.4936,0.460266666666667,0.469466666666667,0.479733333333333,0.480466666666667,0.499333333333333,0.5246,0.431066666666667,0.4612,0.466066666666667,0.4512,0.466133333333333
|
||||||
|
"1064",0.449533333333333,0.441,0.4756,0.474533333333333,0.486533333333333,0.468066666666667,0.466,0.478733333333333,0.494533333333333,0.448266666666667,0.4798,0.4928,0.458666666666667,0.468133333333333,0.478266666666667,0.479733333333333,0.499066666666667,0.526666666666667,0.4306,0.4624,0.467666666666667,0.452533333333333,0.463666666666667
|
||||||
|
"1065",0.449733333333333,0.440866666666667,0.475533333333333,0.474,0.4848,0.467733333333333,0.465666666666667,0.478466666666667,0.493733333333333,0.448,0.4796,0.492333333333333,0.459533333333333,0.4706,0.479066666666667,0.479666666666667,0.499666666666667,0.526,0.430533333333333,0.463,0.468333333333333,0.4528,0.464933333333333
|
||||||
|
"1066",0.450133333333333,0.442066666666667,0.4746,0.473733333333333,0.4836,0.467466666666667,0.465333333333333,0.478133333333333,0.492266666666667,0.447066666666667,0.4794,0.493466666666667,0.459933333333333,0.4716,0.479533333333333,0.478866666666667,0.499333333333333,0.5248,0.430733333333333,0.463333333333333,0.4678,0.451666666666667,0.466466666666667
|
||||||
|
"1067",0.450866666666667,0.443733333333333,0.472733333333333,0.473666666666667,0.484866666666667,0.468,0.465,0.478533333333333,0.4906,0.446466666666667,0.478733333333333,0.495333333333333,0.458866666666667,0.469866666666667,0.478533333333333,0.477466666666667,0.498866666666667,0.524333333333333,0.430733333333333,0.463533333333333,0.467,0.450133333333333,0.466533333333333
|
||||||
|
"1068",0.450466666666667,0.442266666666667,0.472933333333333,0.4756,0.486266666666667,0.467333333333333,0.465866666666667,0.478133333333333,0.491133333333333,0.446933333333333,0.478933333333333,0.493933333333333,0.458533333333333,0.469533333333333,0.477866666666667,0.477733333333333,0.498866666666667,0.5244,0.431266666666667,0.462533333333333,0.466,0.451666666666667,0.466133333333333
|
||||||
|
"1069",0.449733333333333,0.440866666666667,0.475133333333333,0.476466666666667,0.487066666666667,0.4678,0.465866666666667,0.4774,0.4918,0.447,0.478466666666667,0.492,0.4588,0.4706,0.4788,0.479,0.4988,0.5252,0.430666666666667,0.461266666666667,0.466266666666667,0.453333333333333,0.466066666666667
|
||||||
|
"1070",0.4486,0.44,0.478533333333333,0.4734,0.486933333333333,0.470266666666667,0.4636,0.478066666666667,0.4912,0.447333333333333,0.4762,0.490866666666667,0.459333333333333,0.4716,0.479866666666667,0.4782,0.495866666666667,0.525933333333333,0.428133333333333,0.4608,0.467533333333333,0.453466666666667,0.466333333333333
|
||||||
|
"1071",0.448066666666667,0.4398,0.479733333333333,0.473333333333333,0.486533333333333,0.468866666666667,0.463933333333333,0.478666666666667,0.489133333333333,0.448133333333333,0.477,0.491066666666667,0.4602,0.471333333333333,0.4776,0.477533333333333,0.496466666666667,0.525333333333333,0.429266666666667,0.461333333333333,0.467266666666667,0.452533333333333,0.466
|
||||||
|
"1072",0.4478,0.44,0.478266666666667,0.474733333333333,0.486066666666667,0.465866666666667,0.465133333333333,0.4786,0.4878,0.448666666666667,0.478733333333333,0.4918,0.4606,0.471,0.475,0.477133333333333,0.4986,0.5244,0.431,0.461666666666667,0.466533333333333,0.4518,0.465733333333333
|
||||||
|
"1073",0.447266666666667,0.439533333333333,0.475333333333333,0.473933333333333,0.484933333333333,0.466533333333333,0.464333333333333,0.478933333333333,0.49,0.447733333333333,0.478333333333333,0.492333333333333,0.458866666666667,0.471133333333333,0.4766,0.477466666666667,0.496466666666667,0.5242,0.429666666666667,0.460466666666667,0.466933333333333,0.4512,0.464066666666667
|
||||||
|
"1074",0.447,0.4402,0.4744,0.4736,0.484133333333333,0.4664,0.464266666666667,0.4784,0.492333333333333,0.447333333333333,0.477133333333333,0.492266666666667,0.458866666666667,0.471533333333333,0.478533333333333,0.476733333333333,0.4966,0.523333333333333,0.429533333333333,0.459533333333333,0.466866666666667,0.450533333333333,0.464066666666667
|
||||||
|
"1075",0.447666666666667,0.4412,0.4748,0.473666666666667,0.483733333333333,0.465866666666667,0.4652,0.4776,0.491666666666667,0.4476,0.476866666666667,0.4928,0.4598,0.4722,0.478666666666667,0.476333333333333,0.4994,0.522933333333333,0.429733333333333,0.459666666666667,0.465333333333333,0.450866666666667,0.465333333333333
|
||||||
|
@@ -0,0 +1,127 @@
|
|||||||
|
|
||||||
|
###############################################
|
||||||
|
# Spektrendatei �ffnen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
setwd("C:\\Users\\stellmes\\Documents\\202207")
|
||||||
|
|
||||||
|
spektren <- read.table("export_20220714.dat", header=F, fileEncoding = "UTF16")
|
||||||
|
|
||||||
|
View(spektren)
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Tabelle anpassen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
|
||||||
|
spektren.df <- lapply(spektren, function(x) {gsub(",", "", x)})
|
||||||
|
spektren.df <- lapply(spektren.df, function(x) as.numeric(x))
|
||||||
|
spektren.df <- as.data.frame(spektren.df)
|
||||||
|
|
||||||
|
wl <- "wavelength"
|
||||||
|
#white <- as.character(1)
|
||||||
|
messungen <- as.character(seq(1,290,1))
|
||||||
|
|
||||||
|
names <- c(rbind(wl, messungen))
|
||||||
|
names(spektren.df) <- names
|
||||||
|
|
||||||
|
View(spektren.df)
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Messungen mit Korrektur der Referenzmessung #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# Die �berpr�fung der Plausibilt�t der Messungen ist ein wichtiger Schritt
|
||||||
|
# Wir �berpr�fen hier die Referenzmessung und bekommen einen Eindruck
|
||||||
|
# vom mittleren Reflexionsverhalten der gemessenen Bl�tter
|
||||||
|
|
||||||
|
|
||||||
|
### Angaben zur Messung des Baumes
|
||||||
|
prov = "xyz"
|
||||||
|
baum.id = "abc"
|
||||||
|
|
||||||
|
# Spalte der Referenzmessung
|
||||||
|
spalte.ref = 1
|
||||||
|
|
||||||
|
# Vektor mit Blattmessungen
|
||||||
|
spalten.messungen = seq(2,16,1)
|
||||||
|
|
||||||
|
# alternativ (falls es mal Fehlmessungen etc. gibt)
|
||||||
|
#spalten.messungen = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
|
||||||
|
|
||||||
|
# Spalte der wei�en Referenz
|
||||||
|
white=as.character(spalte.ref)
|
||||||
|
|
||||||
|
# Spalten der dazugeh�rigen Messungen
|
||||||
|
mean <- rowMeans(spektren.df[, as.character(spalten.messungen)])
|
||||||
|
|
||||||
|
# Farbe Linie f�r das mittlere Spektrum
|
||||||
|
col1 =" forest green"
|
||||||
|
# Farbe f�r die Referenzmessung
|
||||||
|
col2 = "gray"
|
||||||
|
|
||||||
|
# Plot mean
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
mean,
|
||||||
|
xlab="Wellenl�nge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2),pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
# Folgende Korrekture ist normalerweise nicht notwendig, wir m�ssen aber teilweise die Spektren
|
||||||
|
# korrigieren, da die gemessene wei�e Referenz start von der "Einserlinie" abweicht.
|
||||||
|
|
||||||
|
# Bei den Messungen, wo die Referenz um 1 liegt, sieht man nat�rlich keinen
|
||||||
|
# gro�en Effekt,
|
||||||
|
|
||||||
|
# Es is aber fraglich, ob die Korrektur immer ausreichend ist.
|
||||||
|
mean.ratio <- mean*1/unlist(spektren.df[white])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Plot mean.ratio
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
mean.ratio,
|
||||||
|
xlab="Wellenl�nge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Korrigiert - Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",
|
||||||
|
legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2), pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# Plotten der Einzelmessungen f�r eine Messreihe #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# Einzelmessungen einer Messreihe
|
||||||
|
|
||||||
|
# Hier k�nnen wir uns anschauen, ob alles mit den einzelnen Spektren passt un
|
||||||
|
# wie variabel die Messungen sind. Ggf. k�nnen noch Fehlmessungen ausgeschlossen werden.
|
||||||
|
|
||||||
|
# Hier der Plot ohne Korrektur der Referenz, ist aber nat�rlich ohne Weiteres umsetzbar
|
||||||
|
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen)[1]],
|
||||||
|
xlab="Wellenl�nge (nm)",
|
||||||
|
ylab="Reflexion (%)",
|
||||||
|
type="l", col=col2, lwd=1,
|
||||||
|
ylim= c(0,0.6), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
for (i in 2:length(spalten.messungen)){
|
||||||
|
lines(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen [i])],
|
||||||
|
col=col2, lwd=1)
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,130 @@
|
|||||||
|
|
||||||
|
###############################################
|
||||||
|
# Spektrendatei oeffnen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
spektren <- read.table("export_20220714.dat", header=F, fileEncoding = "UTF16")
|
||||||
|
|
||||||
|
#View(spektren)
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Tabelle anpassen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
|
||||||
|
spektren.df <- lapply(spektren, function(x) {gsub(",", "", x)})
|
||||||
|
spektren.df <- lapply(spektren.df, function(x) as.numeric(x))
|
||||||
|
spektren.df <- as.data.frame(spektren.df)
|
||||||
|
|
||||||
|
wl <- "wavelength"
|
||||||
|
white <- as.character(1)
|
||||||
|
messungen <- as.character(seq(1,290,1))
|
||||||
|
|
||||||
|
names <- c(rbind(wl, messungen))
|
||||||
|
names(spektren.df) <- names
|
||||||
|
|
||||||
|
View(spektren.df)
|
||||||
|
|
||||||
|
#write.csv(spektren.df,"/cloud/project/20220721_dataframe.csv")
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Messungen mit Korrektur der Referenzmessung #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# Die Ueberpruefung der Plausibiltaet der Messungen ist ein wichtiger Schritt
|
||||||
|
# Wir ueberpruefen hier die Referenzmessung und bekommen einen Eindruck
|
||||||
|
# vom mittleren Reflexionsverhalten der gemessenen Blaetter
|
||||||
|
|
||||||
|
|
||||||
|
### Angaben zur Messung des Baumes
|
||||||
|
prov = "xyz"
|
||||||
|
baum.id = "abc"
|
||||||
|
|
||||||
|
# Spalte der Referenzmessung
|
||||||
|
spalte.ref = 1
|
||||||
|
|
||||||
|
# Vektor mit Blattmessungen
|
||||||
|
spalten.messungen = seq(2,16,1)
|
||||||
|
|
||||||
|
# alternativ (falls es mal Fehlmessungen etc. gibt)
|
||||||
|
#spalten.messungen = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
|
||||||
|
|
||||||
|
# Spalte der weisen Referenz
|
||||||
|
white=as.character(spalte.ref)
|
||||||
|
|
||||||
|
# Spalten der dazugeh?rigen Messungen
|
||||||
|
mean <- rowMeans(spektren.df[, as.character(spalten.messungen)])
|
||||||
|
|
||||||
|
# Farbe Linie fuer das mittlere Spektrum
|
||||||
|
col1 =" forest green"
|
||||||
|
# Farbe fuer die Referenzmessung
|
||||||
|
col2 = "gray"
|
||||||
|
|
||||||
|
# Plot mean
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
#mean.ratio,
|
||||||
|
xlab="Wellenlaenge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2),pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
# Folgende Korrekture ist normalerweise nicht notwendig, wir muessen aber teilweise die Spektren
|
||||||
|
# korrigieren, da die gemessene wei?e Referenz start von der "Einserlinie" abweicht.
|
||||||
|
|
||||||
|
# Bei den Messungen, wo die Referenz um 1 liegt, sieht man natuerlich keinen
|
||||||
|
# gro?en Effekt,
|
||||||
|
|
||||||
|
# Es is aber fraglich, ob die Korrektur immer ausreichend ist.
|
||||||
|
mean.ratio <- mean*1/unlist(spektren.df[white])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Plot mean.ratio
|
||||||
|
jpeg("mean_ratio.jpeg", quality = 100)
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
mean.ratio,
|
||||||
|
xlab="Wellenl?nge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Korrigiert - Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",
|
||||||
|
legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2), pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
dev.off()
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# Plotten der Einzelmessungen fuer eine Messreihe #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# Einzelmessungen einer Messreihe
|
||||||
|
|
||||||
|
# Hier koennen wir uns anschauen, ob alles mit den einzelnen Spektren passt un
|
||||||
|
# wie variabel die Messungen sind. Ggf. k?nnen noch Fehlmessungen ausgeschlossen werden.
|
||||||
|
|
||||||
|
# Hier der Plot ohne Korrektur der Referenz, ist aber natürlich ohne Weiteres umsetzbar
|
||||||
|
|
||||||
|
jpeg("messreihe.jpeg", quality = 100)
|
||||||
|
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen)[1]],
|
||||||
|
xlab="Wellenl?nge (nm)",
|
||||||
|
ylab="Reflexion (%)",
|
||||||
|
type="l", col=col2, lwd=1,
|
||||||
|
ylim= c(0,0.6), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
for (i in 2:length(spalten.messungen)){
|
||||||
|
lines(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen [i])],
|
||||||
|
col=col2, lwd=1)
|
||||||
|
}
|
||||||
|
|
||||||
|
dev.off()
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
|
||||||
|
###############################################
|
||||||
|
# Spektrendatei öffnen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
setwd("C:\\Users\\stellmes\\Documents\\202207")
|
||||||
|
|
||||||
|
spektren <- read.table("export_20220714.dat", header=F, fileEncoding = "UTF16")
|
||||||
|
|
||||||
|
View(spektren)
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Tabelle anpassen #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
|
||||||
|
spektren.df <- lapply(spektren, function(x) {gsub(",", "", x)})
|
||||||
|
spektren.df <- lapply(spektren.df, function(x) as.numeric(x))
|
||||||
|
spektren.df <- as.data.frame(spektren.df)
|
||||||
|
|
||||||
|
wl <- "wavelength"
|
||||||
|
#white <- as.character(1)
|
||||||
|
messungen <- as.character(seq(1,290,1))
|
||||||
|
|
||||||
|
names <- c(rbind(wl, messungen))
|
||||||
|
names(spektren.df) <- names
|
||||||
|
|
||||||
|
View(spektren.df)
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# Messungen mit Korrektur der Referenzmessung #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# Die Überprüfung der Plausibiltät der Messungen ist ein wichtiger Schritt
|
||||||
|
# Wir überprüfen hier die Referenzmessung und bekommen einen Eindruck
|
||||||
|
# vom mittleren Reflexionsverhalten der gemessenen Blätter
|
||||||
|
|
||||||
|
|
||||||
|
### Angaben zur Messung des Baumes
|
||||||
|
prov = "xyz"
|
||||||
|
baum.id = "abc"
|
||||||
|
|
||||||
|
# Spalte der Referenzmessung
|
||||||
|
spalte.ref = 1
|
||||||
|
|
||||||
|
# Vektor mit Blattmessungen
|
||||||
|
spalten.messungen = seq(2,16,1)
|
||||||
|
|
||||||
|
# alternativ (falls es mal Fehlmessungen etc. gibt)
|
||||||
|
#spalten.messungen = c(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
|
||||||
|
|
||||||
|
# Spalte der weißen Referenz
|
||||||
|
white=as.character(spalte.ref)
|
||||||
|
|
||||||
|
# Spalten der dazugehörigen Messungen
|
||||||
|
mean <- rowMeans(spektren.df[, as.character(spalten.messungen)])
|
||||||
|
|
||||||
|
# Farbe Linie für das mittlere Spektrum
|
||||||
|
col1 =" forest green"
|
||||||
|
# Farbe für die Referenzmessung
|
||||||
|
col2 = "gray"
|
||||||
|
|
||||||
|
# Plot mean
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
mean.ratio,
|
||||||
|
xlab="Wellenlänge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2),pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
# Folgende Korrekture ist normalerweise nicht notwendig, wir müssen aber teilweise die Spektren
|
||||||
|
# korrigieren, da die gemessene weiße Referenz start von der "Einserlinie" abweicht.
|
||||||
|
|
||||||
|
# Bei den Messungen, wo die Referenz um 1 liegt, sieht man natürlich keinen
|
||||||
|
# großen Effekt,
|
||||||
|
|
||||||
|
# Es is aber fraglich, ob die Korrektur immer ausreichend ist.
|
||||||
|
mean.ratio <- mean*1/unlist(spektren.df[white])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Plot mean.ratio
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
mean.ratio,
|
||||||
|
xlab="Wellenlänge (nm)", ylab="Reflexion (%)",
|
||||||
|
type="l", col=col1, lwd=3,
|
||||||
|
ylim= c(0,1), xlim=c(400,1050),
|
||||||
|
main=paste("Korrigiert - Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
lines(spektren.df$wavelength, unlist(spektren.df[white]), type="l", col=col2, lwd=3)
|
||||||
|
|
||||||
|
legend("bottomright",
|
||||||
|
legend=c(paste("Baum ", baum.id, ", Provenienz ", prov, sep=""), "Referenz"),
|
||||||
|
text.col=c(col1, col2), pch=c("-"),col=c(col1, col2), lwd=3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# Plotten der Einzelmessungen für eine Messreihe #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# Einzelmessungen einer Messreihe
|
||||||
|
|
||||||
|
# Hier können wir uns anschauen, ob alles mit den einzelnen Spektren passt un
|
||||||
|
# wie variabel die Messungen sind. Ggf. können noch Fehlmessungen ausgeschlossen werden.
|
||||||
|
|
||||||
|
# Hier der Plot ohne Korrektur der Referenz, ist aber natürlich ohne Weiteres umsetzbar
|
||||||
|
|
||||||
|
plot(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen)[1]],
|
||||||
|
xlab="Wellenlänge (nm)",
|
||||||
|
ylab="Reflexion (%)",
|
||||||
|
type="l", col=col2, lwd=1,
|
||||||
|
ylim= c(0,0.6), xlim=c(400,1050),
|
||||||
|
main=paste("Baum ", baum.id, ", Provenienz ", prov, sep=""))
|
||||||
|
for (i in 2:length(spalten.messungen)){
|
||||||
|
lines(spektren.df$wavelength,
|
||||||
|
spektren.df[, as.character(spalten.messungen [i])],
|
||||||
|
col=col2, lwd=1)
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#install.packages("raster")
|
||||||
|
#install.packages("rgdal")
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
|
||||||
|
#Assign .tif to an object
|
||||||
|
dem <- raster("SRTM_ffB01_p045r032.tif")
|
||||||
|
|
||||||
|
#General information
|
||||||
|
summary(dem)
|
||||||
|
|
||||||
|
#Structure of an object
|
||||||
|
str(dem)
|
||||||
|
|
||||||
|
#Visualize the imagery
|
||||||
|
plot(dem)
|
||||||
|
##Set min and max value
|
||||||
|
plot(dem, zlim=c(0,3000))
|
||||||
|
##Change color schemes (greyscale)
|
||||||
|
plot(dem, zlim=c(0,3000), col=grey.colors(255))
|
||||||
|
##Change color schemes (terrain colors)
|
||||||
|
plot(dem, zlim=c(0,3000), col=terrain.colors(255))
|
||||||
|
|
||||||
|
#Derive terrain features such as slope and aspect
|
||||||
|
slp <- terrain(dem, opt="slope", unit="degrees")
|
||||||
|
slp <- terrain(dem, opt="aspect", unit="degrees")
|
||||||
|
|
||||||
|
#Read single raster bands
|
||||||
|
blue2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B1.TIF")
|
||||||
|
green2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B2.TIF")
|
||||||
|
red2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B3.TIF")
|
||||||
|
nir2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B4.TIF")
|
||||||
|
swira2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B5.TIF")
|
||||||
|
swirb2011 <- raster ("./LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B7.TIF")
|
||||||
|
|
||||||
|
#Multiband raster
|
||||||
|
ls52011 <- stack(blue2011,green2011,red2011,nir2011,swira2011,swirb2011)
|
||||||
|
|
||||||
|
#Plot multiband raster images
|
||||||
|
plot(ls52011)
|
||||||
|
plot(ls52011[[4]]) #only one layer
|
||||||
|
plotRGB(ls52011, 3, 2, 1, stretch="lin") #plot RGB
|
||||||
|
|
||||||
|
#Raster image information
|
||||||
|
res (ls52011) #Resulution
|
||||||
|
projection (ls52011) #Projection
|
||||||
|
dim (ls52011) #Dimention (rows & columns)
|
||||||
|
nlayers (ls52011) #Number of layers
|
||||||
|
extent (ls52011)
|
||||||
|
ncell (ls52011)
|
||||||
|
|
||||||
|
#Display new extent (crop) with lines on a plot
|
||||||
|
plot(nir2011)
|
||||||
|
abline(v=510000)
|
||||||
|
abline(v=580000)
|
||||||
|
abline(h=4490000)
|
||||||
|
abline(h=4543000)
|
||||||
|
|
||||||
|
#Define new extent (crop) with a box on a plot
|
||||||
|
plot(nir2011)
|
||||||
|
e <- extent(510000, 580000, 4490000, 4543000)
|
||||||
|
plot(e, add=TRUE, col = "red")
|
||||||
|
|
||||||
|
#Crop the image
|
||||||
|
ls52011.subs <- crop(ls52011, e)
|
||||||
|
##plot
|
||||||
|
plotRGB (ls52011.subs, 3, 2, 1, stretch="lin")
|
||||||
|
|
||||||
|
#Homework
|
||||||
|
dim(ls52011.subs)
|
||||||
|
ncell(ls52011.subs)
|
||||||
|
extent(ls52011)
|
||||||
|
636315-395685
|
||||||
|
4571415 - 4355985
|
||||||
|
215.430 * 240.630
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
##### 01 Uebung ######
|
||||||
|
|
||||||
|
#1.01 Install packages
|
||||||
|
install.packages("rgdal")
|
||||||
|
install.packages("raster")
|
||||||
|
|
||||||
|
#1.02 Load packages
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
|
||||||
|
#1.03 Set working directory
|
||||||
|
setwd("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung")
|
||||||
|
|
||||||
|
#1.04 Assign .tif to an object
|
||||||
|
dem <- raster("SRTM_ffB01_p045r032.tif")
|
||||||
|
|
||||||
|
#1.05 General information
|
||||||
|
summary(dem)
|
||||||
|
|
||||||
|
#1.06 Structure of an object
|
||||||
|
str(dem)
|
||||||
|
|
||||||
|
#1.07 Visualize the imagery
|
||||||
|
plot(dem)
|
||||||
|
##1.08 Set min and max value
|
||||||
|
plot(dem, zlim=c(0,3000))
|
||||||
|
##1.09 Change color schemes (greyscale)
|
||||||
|
plot(dem, zlim=c(0,3000), col=grey.colors(255))
|
||||||
|
##1.10Change color schemes (terrain colors)
|
||||||
|
plot(dem, zlim=c(0,3000), col=terrain.colors(255))
|
||||||
|
|
||||||
|
#1.11Derive terrain features such as slope and aspect
|
||||||
|
slp <- terrain(dem, opt="slope", unit="degrees")
|
||||||
|
slp <- terrain(dem, opt="aspect", unit="degrees")
|
||||||
|
|
||||||
|
#1.12Read single raster bands
|
||||||
|
blue2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B1.TIF")
|
||||||
|
green2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B2.TIF")
|
||||||
|
red2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B3.TIF")
|
||||||
|
nir2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B4.TIF")
|
||||||
|
swira2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B5.TIF")
|
||||||
|
swirb2011 <- raster ("/Users/fokus/Nextcloud/Regionale Themen/LT05_L1TP_045032_20110909_20160831_01_T1/LT05_L1TP_045032_20110909_20160831_01_T1_B7.TIF")
|
||||||
|
|
||||||
|
#1.13Multiband raster
|
||||||
|
ls52011 <- stack(blue2011,green2011,red2011,nir2011,swira2011,swirb2011)
|
||||||
|
|
||||||
|
#1.14 Plot multiband raster images
|
||||||
|
plot(ls52011)
|
||||||
|
plot(ls52011[[4]]) #only one layer
|
||||||
|
plotRGB(ls52011, 3, 2, 1, stretch="lin") #plot RGB
|
||||||
|
|
||||||
|
#1.15 Raster image information
|
||||||
|
res (ls52011) #Resulution
|
||||||
|
projection (ls52011) #Projection
|
||||||
|
dim (ls52011) #Dimention (rows & columns)
|
||||||
|
nlayers (ls52011) #Number of layers
|
||||||
|
extent (ls52011)
|
||||||
|
ncell (ls52011)
|
||||||
|
|
||||||
|
#1.16 Display new extent (crop) with lines on a plot
|
||||||
|
plot(nir2011)
|
||||||
|
abline(v=510000)
|
||||||
|
abline(v=580000)
|
||||||
|
abline(h=4490000)
|
||||||
|
abline(h=4543000)
|
||||||
|
|
||||||
|
#1.17 Define new extent (crop) with a box on a plot
|
||||||
|
plot(nir2011)
|
||||||
|
e <- extent(510000, 580000, 4490000, 4543000)
|
||||||
|
plot(e, add=TRUE, col = "red")
|
||||||
|
|
||||||
|
#1.18 Crop the image
|
||||||
|
ls52011.subs <- crop(ls52011, e)
|
||||||
|
##plot
|
||||||
|
plotRGB (ls52011.subs, 3, 2, 1, stretch="lin")
|
||||||
|
|
||||||
|
#1.19 Homework
|
||||||
|
dim(ls52011.subs)
|
||||||
|
ncell(ls52011.subs)
|
||||||
|
extent(ls52011)
|
||||||
|
636315-395685
|
||||||
|
4571415 - 4355985
|
||||||
|
215.430 * 240.630
|
||||||
|
|
||||||
|
####### 02 Uebung #######
|
||||||
|
## For Landsat 5
|
||||||
|
#1.01
|
||||||
|
#1.02
|
||||||
|
#1.03
|
||||||
|
#1.12
|
||||||
|
#1.13
|
||||||
|
|
||||||
|
#2.01 Export layerstack
|
||||||
|
writeRaster(l5_2011, "L5_2011_entire.tif", Format="GTiff", overwrite = TRUE)
|
||||||
|
|
||||||
|
#1.17
|
||||||
|
#2.01
|
||||||
|
#1.13
|
||||||
|
|
||||||
|
## For Landsat 8
|
||||||
|
|
||||||
|
blue2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B2.TIF")
|
||||||
|
green2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B3.TIF")
|
||||||
|
red2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B4.TIF")
|
||||||
|
nir2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B5.TIF")
|
||||||
|
swira2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B6.TIF")
|
||||||
|
swirb2014 <- raster ("/Users/huaqo/Nextcloud/Regionale Themen/02 uebung/LC08_L1TP_045032_20140901_20170303_01_T1/LC08_L1TP_045032_20140901_20170303_01_T1_B7.TIF")
|
||||||
|
ls82014 <- stack(blue2014, green2014, red2014, nir2014, swira2014, swirb2014)
|
||||||
|
ls82014.crop <- crop(ls82014, e)
|
||||||
|
writeRaster(ls82014, "ls82014_entire.tif", Format="GTiff", overwrite = TRUE)
|
||||||
|
writeRaster(ls82014.crop, "ls82014.tif", Format="GTiff", overwrite = TRUE)
|
||||||
|
ls52011.crop <- stack("ls52011.tif")
|
||||||
|
ls82014.crop <- stack("ls82014.tif")
|
||||||
|
|
||||||
|
#Metadata
|
||||||
|
# REFLECTANCE_MULT_BAND_4 = 2.0000E-05
|
||||||
|
# REFLECTANCE_ADD_BAND_4 = -0.100000
|
||||||
|
# SUN_ELEVATION = 53.22163770
|
||||||
|
# EARTH_SUN_DISTANCE = 1.0091290
|
||||||
|
|
||||||
|
#Calculation of the TOA reflectance for one band
|
||||||
|
ls82014_NIR_TOA_simple <- (ls82014.crop[[4]]*0.00002) - 0.1
|
||||||
|
plot(ls82014_NIR_TOA_simple, col = grey.colors(255), zlim= c(0,1))
|
||||||
|
|
||||||
|
#Correct for the sun zenith angle and the sun-earth-distance for one band
|
||||||
|
sun_elev <- 53.22163770
|
||||||
|
sun_earth_distance <- 1.0091290
|
||||||
|
ls82014_NIR_TOA <- ls82014_NIR_TOA_simple * sun_earth_distance^2 / sin(sun_elev*pi/180)
|
||||||
|
plot(NIR_TOA, col = grey.colors(255), zlim= c(0,0.6))
|
||||||
|
|
||||||
|
#Correct all for all bands
|
||||||
|
ls82014_TOA_corrected <- (((ls82014.crop*0.00002) - 0.1) * sun_earth_distance^2) / sin(sun_elev*pi/180)
|
||||||
|
writeRaster(ls82014_TOA_corrected, "ls82014_TOA_corrected.tif", format = "GTiff", overwrite = TRUE)
|
||||||
|
|
||||||
|
#Correct for dark pixels
|
||||||
|
min2014 <- minValue(ls82014_TOA_corrected)
|
||||||
|
ls82014_darkpixel_corrected <- ls82014_TOA_corrected - min2014
|
||||||
|
writeRaster(ls82014_darkpixel_corrected, format = "GTiff")
|
||||||
|
plotRGB(ls82014_darkpixel_corrected,4,3,2, stretch="lin")
|
||||||
|
|
||||||
|
#Q1: No Comparison
|
||||||
|
#Q2:
|
||||||
|
##DM: Quantized and calibrated scaled Digital Numbers (DN) representing the multispectral image acquired by OLI and TIRS.
|
||||||
|
##TOA: They can be converted to Top Of Atmosphere (TOA) reflectance and radiance values by using radiometric rescaling coefficients as described in this USGS guide.
|
||||||
|
##Surface Reflectance products provide an estimate of the surface spectral reflectance as it would be measured at ground level in the absence of atmospheric scattering or absorption.
|
||||||
|
#Q3: Level1: DM oder TOA Level2: SR
|
||||||
|
#Q4: Yes it is a physical Value but without the correct for the sunzenith ang and Earth distance
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
#Preprocessed data import
|
||||||
|
l5_2011_rawdn <- stack('L5_2011.tif')
|
||||||
|
l5_2011_toa <- stack('L5_2011_TOA.tif')
|
||||||
|
l5_2011_surfref <- stack('L5_2011_sr.tif')
|
||||||
|
|
||||||
|
#Rescale data according to metadata
|
||||||
|
l5_2011_surfref <- -0.2 + l5_2011_surfref*2.75e-05
|
||||||
|
|
||||||
|
#Export raster
|
||||||
|
writeRaster(l5_2011_surfref, 'L5_2011_sr_rescaled.tif', Format='GTiff', overwrite= TRUE)
|
||||||
|
|
||||||
|
#Remove negative values, set negative to 0, above 1 values to 1
|
||||||
|
l5_2011_surfref <- reclassify(l5_2011_surfref, c(-Inf,0,0,1,Inf,1))
|
||||||
|
|
||||||
|
#Plot
|
||||||
|
plotRGB(l5_2011_rawdn, 3,2,1, stretch='lin')
|
||||||
|
plotRGB(l5_2011_toa, 3,2,1, stretch='lin')
|
||||||
|
plotRGB(l5_2011_surfref, 3,2,1, stretch='lin')
|
||||||
|
|
||||||
|
#
|
||||||
|
lambda <- c(480, 560, 655, 865, 1610, 2150)
|
||||||
|
|
||||||
|
#Pick a spot with vegetation and show the spectra
|
||||||
|
plotRGB(l5_2011_surfref, r=4, g=3, b=2, stretch="lin")
|
||||||
|
pxy<-locator(1) # This function requires an input! -> Click once in the image on a vegetated area --> then wait!
|
||||||
|
|
||||||
|
spectrum_rawdn<-extract(l5_2011_rawdn, cbind(pxy$x[1], pxy$y[1]))
|
||||||
|
spectrum_toa<-extract(l5_2011_toa, cbind(pxy$x[1], pxy$y[1]))
|
||||||
|
spectrum_surfref<-extract(l5_2011_surfref, cbind(pxy$x[1], pxy$y[1]))
|
||||||
|
dev.off()
|
||||||
|
|
||||||
|
par(mfrow=c(1,3))
|
||||||
|
plot(lambda, spectrum_rawdn,
|
||||||
|
ylab="raw DN",
|
||||||
|
xlab="wavelength (nm)", type='b')
|
||||||
|
plot(lambda, spectrum_toa,
|
||||||
|
ylab="ToA reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b')
|
||||||
|
plot(lambda, spectrum_surfref,
|
||||||
|
ylab="Surface reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b')
|
||||||
|
|
||||||
|
#Load terrain correction file
|
||||||
|
dem <- stack('/Users/huaqo/Downloads/SRTM_ffB01_p045r032.tif')
|
||||||
|
|
||||||
|
#Match to images
|
||||||
|
dem <- resample(dem, l5_2011_surfref)
|
||||||
|
|
||||||
|
#Calculate slope and aspect
|
||||||
|
slp <- terrain (dem, opt='slope')
|
||||||
|
asp <- terrain (dem, opt='aspect')
|
||||||
|
|
||||||
|
#Input sun position
|
||||||
|
theta_e <- 49.6590900
|
||||||
|
theta_a <- 144.56665673
|
||||||
|
|
||||||
|
#Calculate the hillshade
|
||||||
|
hs2011 <- hillShade(slp,asp, angle = theta_e, direction = theta_a)
|
||||||
|
|
||||||
|
#Plot hillshade
|
||||||
|
plot(hs2011, col=grey.colors(255), zlim=c(0,1))
|
||||||
|
summary(hs2011)
|
||||||
|
|
||||||
|
#Reclassify data
|
||||||
|
hs2011 <- reclassify(hs2011, matrix(c(-Inf, 0, 0.0), 1, 3))
|
||||||
|
|
||||||
|
#Topographic normalization with hillshade
|
||||||
|
l5_2011_topo <- l5_2011_surfref*cos((90-theta_e)/180*pi) / hs2011
|
||||||
|
|
||||||
|
#Export
|
||||||
|
writeRaster(l5_2011_topo, 'l5_2011_topo.tif', format='GTiff', overwrite=TRUE)
|
||||||
|
|
||||||
|
#Plot
|
||||||
|
par(mfrow=c(1,2))
|
||||||
|
plotRGB(l5_2011_surfref, r=4, g=3, b=2, stretch="lin")
|
||||||
|
plotRGB(l5_2011_topo, r=4, g=3, b=2, stretch="lin")
|
||||||
|
|
||||||
|
#Export Plot
|
||||||
|
savePlot('topographic correction', type='jpeg')
|
||||||
|
|
||||||
|
#Read shapefile with two example points
|
||||||
|
points <- readOGR('/Users/huaqo/Downloads/shape/points.shp')
|
||||||
|
|
||||||
|
#Plot points
|
||||||
|
plotRGB(l5_2011_surfref,4,3,2, stretch='lin')
|
||||||
|
plot(points, col=c('green', 'orange'), pch=19, add=TRUE)
|
||||||
|
|
||||||
|
#Extract pixel values below points
|
||||||
|
spectrum_surfref <- extract(l5_2011_surfref, points)
|
||||||
|
spectrum_topo <- extract(l5_2011_topo, points)
|
||||||
|
|
||||||
|
spectrum_surfref
|
||||||
|
spectrum_topo
|
||||||
|
|
||||||
|
#Plot spectra
|
||||||
|
x11()
|
||||||
|
par(mfrow=c(2,2))
|
||||||
|
plot(lambda, spectrum_surfref[2,],
|
||||||
|
ylab="Surface reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b', ylim=c(0,0.4), main="no topo - illuminated")
|
||||||
|
plot(lambda, spectrum_surfref[1,],
|
||||||
|
ylab="Surface reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b', ylim=c(0,0.4), main="no topo - shaded")
|
||||||
|
plot(lambda,spectrum_topo[2,],
|
||||||
|
ylab="Surface reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b', ylim=c(0,0.4), main="topo - illuminated")
|
||||||
|
plot(lambda,spectrum_topo[1,],
|
||||||
|
ylab="Surface reflectance",
|
||||||
|
xlab="wavelength (nm)", type='b', ylim=c(0,0.4), main="topo - shaded")
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
#Preparation
|
||||||
|
library(rgdal)
|
||||||
|
library(raster)
|
||||||
|
setwd('~/Nextcloud/Fernerkundung/Regionale Themen/04')
|
||||||
|
l5_2011 <- stack("l5_2011_topo.tif")
|
||||||
|
l8_2014 <- stack("L8_2014_topo.tif")
|
||||||
|
|
||||||
|
#NDWI Change analysis
|
||||||
|
|
||||||
|
##NDWI and change image (NDWI=Green-SWIR/Green+SWIR)
|
||||||
|
ndwi2014 <- (l8_2014[[2]] - l8_2014[[5]]) / (l8_2014[[2]] + l8_2014[[5]])
|
||||||
|
ndwi2011 <- (l5_2011[[2]] - l5_2011[[5]]) / (l5_2011[[2]] + l5_2011[[5]])
|
||||||
|
|
||||||
|
###Plot NDWI
|
||||||
|
plot(ndwi2011, zlim=c(-1,1))
|
||||||
|
plot(ndwi2014, zlim=c(-1,1))
|
||||||
|
|
||||||
|
###Calculate change image
|
||||||
|
change <- ndwi2011-ndwi2014
|
||||||
|
|
||||||
|
###Plot
|
||||||
|
plot(change)
|
||||||
|
|
||||||
|
##Change threshold
|
||||||
|
plot(density(change))
|
||||||
|
abline(v = 0.3,
|
||||||
|
col = 'red')
|
||||||
|
loss <- change > 0.3
|
||||||
|
plot(loss)
|
||||||
|
|
||||||
|
##Derive change area
|
||||||
|
lossval <- getValues(loss) #convert the values of the raster to a matrix or vector
|
||||||
|
table(lossval)
|
||||||
|
|
||||||
|
###Area in km/m
|
||||||
|
area <- table (lossval)[2] * 30 * 30 / 10000
|
||||||
|
area2 <- table (lossval)[2] * res(change) * res(change) / 10000
|
||||||
|
print(paste("The results of both variants should be equal: ", area, " = ", area2))
|
||||||
|
|
||||||
|
#Vector data
|
||||||
|
|
||||||
|
##Download administrative data
|
||||||
|
adm <- getData ("GADM", country="USA", level=2)
|
||||||
|
#plot(adm)
|
||||||
|
|
||||||
|
##Select specific polygons
|
||||||
|
adm[adm$NAME_2=='Trinity',]
|
||||||
|
shasta.county <- adm[adm$NAME_2=='Shasta',]
|
||||||
|
shasta.county
|
||||||
|
trinity.county <- adm[adm$NAME_2=='Trinity' & adm$NAME_1=='California',]
|
||||||
|
trinity.county
|
||||||
|
|
||||||
|
###Plot
|
||||||
|
plot(shasta.county)
|
||||||
|
plot(trinity.county)
|
||||||
|
|
||||||
|
###Combined plot option
|
||||||
|
counties <- bind(shasta.county, trinity.county)
|
||||||
|
plot(counties)
|
||||||
|
|
||||||
|
##Change projection of geodata in R
|
||||||
|
crs(shasta.county) #show projection
|
||||||
|
crs(loss)
|
||||||
|
|
||||||
|
shasta.county.utm <- spTransform (shasta.county, crs(loss)) #change projection
|
||||||
|
trinity.county.utm <- spTransform(trinity.county, crs(loss))
|
||||||
|
|
||||||
|
crs (shasta.county.utm)
|
||||||
|
|
||||||
|
###Plot
|
||||||
|
plot(loss)
|
||||||
|
plot(shasta.county.utm, add=TRUE)
|
||||||
|
plot(trinity.county.utm, add=TRUE)
|
||||||
|
|
||||||
|
##Clip the raster data based on specific polygons
|
||||||
|
shasta.loss <- mask(loss, shasta.county.utm)
|
||||||
|
plot(shasta.loss)
|
||||||
|
trinity.loss <- mask(loss, trinity.county.utm)
|
||||||
|
plot(trinity.loss)
|
||||||
|
|
||||||
|
###Loss area
|
||||||
|
shasta.lossval <- getValues (shasta.loss)
|
||||||
|
shasta.area <- table(shasta.lossval)[2] * res(shasta.loss)[1] * res(shasta.loss)[2] / 10000
|
||||||
|
|
||||||
|
trinity.lossval <- getValues (trinity.loss)
|
||||||
|
trinity.area <- table(trinity.lossval)[2] * res(trinity.loss)[1] * res(trinity.loss)[2] / 10000
|
||||||
|
|
||||||
|
print(paste("The loss area of Shasta county equals ", shasta.area, " ha."))
|
||||||
|
print(paste("The loss area of Trinity county equals ", trinity.area, " ha." ))
|
||||||
|
|
||||||
|
#Tasselled Cap Wetness
|
||||||
|
|
||||||
|
##Calculate TCW
|
||||||
|
TCW.ls8 <- c(0.1511, 0.1973, 0.3283, 0.3407, -0.7117, -0.4559)
|
||||||
|
wetness.ls8 <- l8_2014*TCW.ls8
|
||||||
|
wetness.ls8 <- stackApply(wetness.ls8,rep(1,6),sum)
|
||||||
|
wetness.ls8 <- stackApply(wetness.ls8,1,sum)
|
||||||
|
|
||||||
|
wetcol <- colorRampPalette (c("tan3", "beige","navy"))
|
||||||
|
plot(wetness.ls8, col=wetcol(255), zlim=c(-0.4,0.1))
|
||||||
|
|
||||||
|
#Homework
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
###Preparation
|
||||||
|
#Package aktivieren
|
||||||
|
library(raster)
|
||||||
|
|
||||||
|
#Arbeitsordner auf Festplatte festlegen
|
||||||
|
setwd("~/Nextcloud/Fernerkundung/Regionale Themen/05")
|
||||||
|
|
||||||
|
###Donwload and open Bioclim data
|
||||||
|
#Lade Datei aus Internet
|
||||||
|
bioclim1 <- getData ('worldclim', var='bio', res=0.5, lon= -122, lat=34)
|
||||||
|
|
||||||
|
#Stellt die Datei dar
|
||||||
|
plot(bioclim1[[1]])
|
||||||
|
|
||||||
|
#Speichert die Datei im Arbeitsordner
|
||||||
|
writeRaster(bioclim1, 'bioclim_1.tif', format='GTiff', overwrite=TRUE)
|
||||||
|
|
||||||
|
#Zeigt die Ausmaße der Datei
|
||||||
|
extent(bioclim1)
|
||||||
|
|
||||||
|
#Lade eine zweite Datei
|
||||||
|
bioclim2 <- getData('worldclim', var='bio', res=0.5, lon=-117, lat=34)
|
||||||
|
|
||||||
|
#Nochmal Plotten
|
||||||
|
plot(bioclim2[[1]])
|
||||||
|
|
||||||
|
#Speichert die Datei
|
||||||
|
writeRaster(bioclim2, 'bioclim_2.tif', format='GTiff', overwrite=TRUE)
|
||||||
|
|
||||||
|
#Karten zuasmmenschneiden
|
||||||
|
bioclim <- merge(bioclim1, bioclim2)
|
||||||
|
|
||||||
|
#Daten Speichern
|
||||||
|
writeRaster(bioclim, 'bioclim.tif', format='GTiff', overwrite=TRUE)
|
||||||
|
|
||||||
|
###Clip data to California
|
||||||
|
#Grenzen von Kalifornien laden
|
||||||
|
CA <- getData('GADM', country='USA', level=1)
|
||||||
|
|
||||||
|
#Bestimmte Grenzen auswählen
|
||||||
|
CA <- CA[CA@data$NAME_1=='California',]
|
||||||
|
|
||||||
|
#Zwei karten übereinander plotten
|
||||||
|
plot(bioclim[[1]])
|
||||||
|
plot(CA, add=T)
|
||||||
|
|
||||||
|
#Grenzdaten und Daten zusammenschneiden
|
||||||
|
bioclim <- crop(bioclim, CA)
|
||||||
|
bioclim <- mask(bioclim, CA)
|
||||||
|
|
||||||
|
#Speichern
|
||||||
|
writeRaster(bioclim, 'bioclim_california.tif', format='GTiff', overwrite=TRUE)
|
||||||
|
|
||||||
|
#Laden
|
||||||
|
bioclim <- stack('bioclim_california.tif')
|
||||||
|
|
||||||
|
#plotten
|
||||||
|
plot(bioclim)
|
||||||
|
|
||||||
|
#Bennenung der Karten
|
||||||
|
names (bioclim) <- c ('Annual Mean Temp', 'Mean Diurnal Range', 'Isothermality',
|
||||||
|
'Temp Seasonality', 'Max Temp Warmest Month',
|
||||||
|
'Min Temp Coldest Month', 'Temp Annual Range',
|
||||||
|
'Mean Temp Wettest Quarter', 'Mean Temp Driest Quarter',
|
||||||
|
'Mean Temp Warmest Quarter', ' Mean Temp Coldest Quarter',
|
||||||
|
'Annual Prec', 'Prec Wettest Month', 'Prec Driest Month',
|
||||||
|
'Prec Seasonality', 'Prec Wettest Quarter',
|
||||||
|
'Prec Driest Quarter', 'Prec Warmest Quarter',
|
||||||
|
'Prec Coldest Quarter')
|
||||||
|
|
||||||
|
#File size reduction undo
|
||||||
|
scaling.factor <- c (10, 10, 1, 1000, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1)
|
||||||
|
bioclim <- bioclim / scaling.factor
|
||||||
|
|
||||||
|
#Plot
|
||||||
|
plot(bioclim)
|
||||||
|
|
||||||
|
###Correlation analysis of the Bioclim data
|
||||||
|
|
||||||
|
#Extrahieren von Pixel Werten aus der Raster Datei
|
||||||
|
bc.values <- getValues(bioclim)
|
||||||
|
|
||||||
|
#NA Werte entfernen
|
||||||
|
bc.val <- na.omit(bc.values)
|
||||||
|
|
||||||
|
#Korrelation bestimmen
|
||||||
|
correl <- cor(bc.val)
|
||||||
|
|
||||||
|
#Package für Visualisierung
|
||||||
|
install.packages('corrplot')
|
||||||
|
library(corrplot)
|
||||||
|
|
||||||
|
#Plot correlation
|
||||||
|
plot <- corrplot(correl, order = 'original', addrect = 2)
|
||||||
|
plot <- corrplot(correl, order = 'hclust', addrect = 4)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###Principal component analysis of bioclim data
|
||||||
|
install.packages('RStoolbox')
|
||||||
|
library(RStoolbox)
|
||||||
|
|
||||||
|
#Calculate PCA
|
||||||
|
PCA <- rasterPCA(bioclim, spca=TRUE)
|
||||||
|
|
||||||
|
#Plot PCA
|
||||||
|
plot(PCA$model$sdev)
|
||||||
|
|
||||||
|
#Plot PCA Space (Climate Zones)
|
||||||
|
plotRGB(PCA$map,1,2,3, stretch='lin')
|
||||||
|
|
||||||
|
###Additional: Detailed analysis: interpreting the principal components
|
||||||
|
pcascores <- na.omit(getValues(PCA$map))
|
||||||
|
|
||||||
|
rescale <- function (x) (x - min (x)) / (max (x) - min (x)) * 255
|
||||||
|
pcargb <- apply (pcascores[,1:3], 2, rescale)
|
||||||
|
pca.rgb <- rgb(pcargb, maxColorValue=255)
|
||||||
|
|
||||||
|
install.packages('vegan')
|
||||||
|
library(vegan)
|
||||||
|
|
||||||
|
sel <- sample(1:nrow (pcascores))[1:5000]
|
||||||
|
|
||||||
|
par (bg="black", col="white")
|
||||||
|
plot (pcascores[sel,1:2], cex=0.5, pch=19, col=pca.rgb[sel], col.lab="white",
|
||||||
|
main=colnames(bc.val)[1], col.main="white")
|
||||||
|
axis (1, col="white", col.axis="white")
|
||||||
|
axis (2, col="white", col.axis="white")
|
||||||
|
ordisurf (pcascores[sel, 1:2]~bc.val[sel, 1], add=T, labcex=1, lwd.cl=2,
|
||||||
|
col="white")
|
||||||
|
for (i in 2:19){
|
||||||
|
plot (pcascores[sel,], cex=0.5, pch=19, col=pca.rgb[sel], col.lab="white",
|
||||||
|
main=colnames (bc.val)[i], col.main="white")
|
||||||
|
axis (1, col="white", col.axis="white")
|
||||||
|
axis (2, col="white", col.axis="white")
|
||||||
|
ordisurf (pcascores[sel, 1:2]~bc.val[sel, i], add=T, labcex=1, lwd.cl=2,
|
||||||
|
col="white")
|
||||||
|
readline ("Press <ENTER> for next plot")
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/Regio/07_Klimawandel")
|
||||||
|
|
||||||
|
library (raster)
|
||||||
|
|
||||||
|
bioclim <- stack('/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/07_Klimawandel/bioclim_california.tif')
|
||||||
|
|
||||||
|
names (bioclim) <- c ('Annual Mean Temp', 'Mean Diurnal Range', 'Isothermality',
|
||||||
|
'Temp Seasonality', 'Max Temp Warmest Month',
|
||||||
|
'Min Temp Coldest Month', 'Temp Annual Range',
|
||||||
|
'Mean Temp Wettest Quarter', 'Mean Temp Driest Quarter',
|
||||||
|
'Mean Temp Warmest Quarter', ' Mean Temp Coldest Quarter',
|
||||||
|
'Annual Prec', 'Prec Wettest Month', 'Prec Driest Month',
|
||||||
|
'Prec Seasonality', 'Prec Wettest Quarter',
|
||||||
|
'Prec Driest Quarter', 'Prec Warmest Quarter',
|
||||||
|
'Prec Coldest Quarter')
|
||||||
|
|
||||||
|
scaling.factor <- c (10, 10, 1, 1000, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1)
|
||||||
|
|
||||||
|
bioclim <- bioclim/scaling.factor
|
||||||
|
|
||||||
|
bc.values <- getValues(bioclim)
|
||||||
|
|
||||||
|
bc.val <- na.omit(bc.values)
|
||||||
|
|
||||||
|
clim.kmeans <- kmeans(scale(bc.val), centers=8)
|
||||||
|
|
||||||
|
climclust <- clim.kmeans$cluster
|
||||||
|
|
||||||
|
clust.pix <- bc.values[,1]
|
||||||
|
|
||||||
|
clust.pix[is.na(clust.pix)==F] <- climclust
|
||||||
|
|
||||||
|
clust.map <- setValues(bioclim[[1]], clust.pix)
|
||||||
|
|
||||||
|
#jpeg('cluster_climate.png', quality=100)
|
||||||
|
|
||||||
|
cl <- colorRampPalette (c("yellow", "wheat", "goldenrod", "light green", "forest green", "blue", "firebrick", "black") )
|
||||||
|
|
||||||
|
#plot(clust.map, col=cl(8))
|
||||||
|
|
||||||
|
#dev.off()
|
||||||
|
|
||||||
|
#x11()
|
||||||
|
|
||||||
|
#for (i in 1: 19) {
|
||||||
|
# boxplot (bc.val[,i]~climclust, col=cl(8) , main=colnames(bc.val)[i])
|
||||||
|
# readline("Press <ENTER> for next plot")
|
||||||
|
#}
|
||||||
|
|
||||||
|
#for (i in 1: 19) {
|
||||||
|
# png(filename = paste(i, "_", colnames(bc.val)[i], ".png", sep = ""))
|
||||||
|
# boxplot (bc.val[,i]~climclust, col=cl(8) , main=colnames(bc.val)[i])
|
||||||
|
# dev.off()
|
||||||
|
#}
|
||||||
|
|
||||||
|
setwd('/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/07_Klimawandel/gs26bi50')
|
||||||
|
|
||||||
|
files <- Sys.glob("*tif")
|
||||||
|
|
||||||
|
files
|
||||||
|
|
||||||
|
bc.future <- stack(files)
|
||||||
|
|
||||||
|
CA <- getData('GADM', country='USA', level=1)
|
||||||
|
|
||||||
|
CA <- CA[CA$NAME_1=='California',]
|
||||||
|
|
||||||
|
bc.fut <- crop(bc.future, CA)
|
||||||
|
|
||||||
|
bc.fut <- mask(bc.fut, CA)
|
||||||
|
|
||||||
|
names(bc.fut) <- c('Annual Mean Temp', 'Mean Diurnal Range', 'Isothermality',
|
||||||
|
'Temp Seasonality', 'Max Temp Warmest Month', 'Min Temp Coldest Month', 'Temp Annual Range', 'Mean Temp Wettest Quarter', 'Mean Temp Driest Quarter', 'Mean Temp Warmest Quarter', 'Mean Temp Coldest Quarter', 'Annual Prec', 'Prec Wettest Month', 'Prec Driest Month', 'Prec Seasonality' , 'Prec Wettest Quarter', 'Prec Driest Quarter' , 'Prec Warmest Quarter', 'Prec Coldest Quarter')
|
||||||
|
|
||||||
|
scaling.factor <- c(10, 10, 1, 1000, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1)
|
||||||
|
|
||||||
|
bc.fut <- bc.fut/scaling.factor
|
||||||
|
|
||||||
|
bc.diff <- bc.fut - bioclim
|
||||||
|
|
||||||
|
#plot(bc.diff[[1]] , col=gray.colors(255,0,1,1))
|
||||||
|
|
||||||
|
library(rgdal)
|
||||||
|
library(rgeos)
|
||||||
|
library(raster)
|
||||||
|
clust.poly <- readOGR('/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/07_Klimawandel/cluster_poly.shp')
|
||||||
|
|
||||||
|
plot(bc.diff[[2]] , col=gray.colors (255, 0, 1, 1))
|
||||||
|
plot(clust.poly, add=T, col=cl(8), density=20, angle=45)
|
||||||
|
legend("topright", legend=1:8 , col=cl(8) , lty=1, lwd=2)
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
#Minimum Noise Fractioning and narrow band vegetation indices
|
||||||
|
#### 1. Preparation ####
|
||||||
|
##### 1.1 Packages, working directory and reading the data #####
|
||||||
|
install.packages('raster')
|
||||||
|
install.packages('rgdal')
|
||||||
|
install.packages('RStoolbox')
|
||||||
|
|
||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
library(RStoolbox)
|
||||||
|
|
||||||
|
setwd('/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/10_Dürreperioden')
|
||||||
|
|
||||||
|
unzip("EO1H0440342014184110KC_1T.ZIP")
|
||||||
|
|
||||||
|
files <- dir(pattern='TIF')
|
||||||
|
|
||||||
|
##### 1.2 Set scaling factors and cropping extent #####
|
||||||
|
scaling.factor <- c(rep(40,70), rep(80,172))
|
||||||
|
|
||||||
|
ex <- extent(566600, 572900, 4139900, 4149300)
|
||||||
|
|
||||||
|
##### 1.3 Cropping and scaling the data #####
|
||||||
|
hyp_bands <- stack(files)
|
||||||
|
|
||||||
|
hyp <- crop(hyp_bands,ex)*scaling.factor
|
||||||
|
!!!
|
||||||
|
|
||||||
|
#### 2. Checking the data quality ####
|
||||||
|
##### 2.1 Visual inspection of the data quality #####
|
||||||
|
plotRGB (hyp, 50, 20, 10, stretch="lin")
|
||||||
|
|
||||||
|
wl <- as.vector(t(read.table("hyperion.txt")))
|
||||||
|
|
||||||
|
x11()
|
||||||
|
for (i in 1:242){
|
||||||
|
plot (hyp[[i]],
|
||||||
|
col=gray.colors (255, 0, 1, 1),
|
||||||
|
zlim=c(minValue(hyp)[i],
|
||||||
|
maxValue(hyp)[i]),
|
||||||
|
main=paste (wl[i],
|
||||||
|
"nm"))
|
||||||
|
Sys.sleep (0.5)}
|
||||||
|
|
||||||
|
##### 2.2 Remove bad bands #####
|
||||||
|
badbands <- c (1:7,58:78,121:127, 167:178, 224:242)
|
||||||
|
|
||||||
|
wl <- wl[-badbands]
|
||||||
|
|
||||||
|
hyp <- dropLayer(hyp,badbands)
|
||||||
|
|
||||||
|
#### 3. Principal component analysis (PCA) ####
|
||||||
|
##### 3.1 PCA #####
|
||||||
|
pca <- rasterPCA(hyp, spca=T, nSamples=10000)
|
||||||
|
|
||||||
|
##### 3.2 Inspection of the PCA results #####
|
||||||
|
plot(pca$model$sdev)
|
||||||
|
|
||||||
|
plot(cumsum((pca$model$sdev)^2/sum((pca$model$sdev)^2)),ylab="accumulated explained variance",xlab="PC")
|
||||||
|
|
||||||
|
cumsum((pca$model$sdev)^2/sum((pca$model$sdev)^2))[1:10]
|
||||||
|
|
||||||
|
pcax <- pca$map
|
||||||
|
pcaim <- setValues(hyp,pcax)
|
||||||
|
plotRGB (pca$map, 1, 2, 3, stretch="lin")
|
||||||
|
plotRGB (pca$map, 3, 4, 5, stretch="lin")
|
||||||
|
|
||||||
|
x11()
|
||||||
|
for (i in 1: 10) {
|
||||||
|
plot(pca$map[[i]],
|
||||||
|
col=gray.colors (255, 0, 1, 1) ,
|
||||||
|
main=paste("PC", i))
|
||||||
|
Sys.sleep (1)
|
||||||
|
}
|
||||||
|
|
||||||
|
#### 4. Minimum Noise Fractioning ####
|
||||||
|
##### 4.1 Backward rotation #####
|
||||||
|
##### 4.2 Implementation #####
|
||||||
|
backrot <- function (sc, i) {
|
||||||
|
floor(apply(t(pca$model$loadings[,1:i]) * sc, 2, sum) * pca$model$scale + pca$model$center)
|
||||||
|
}
|
||||||
|
|
||||||
|
pca_val <- getValues(pca$map)
|
||||||
|
|
||||||
|
mnfval <- apply(pca_val[,1:4], 1, backrot, i=4)
|
||||||
|
|
||||||
|
mnfhyp <- setValues(hyp,t(mnfval))
|
||||||
|
|
||||||
|
par(mfrow=c(1,2))
|
||||||
|
plotRGB(hyp, 40,20,10, stretch="lin")
|
||||||
|
plotRGB(mnfhyp, 40,20,10, stretch="lin")
|
||||||
|
|
||||||
|
#### 5. Evalutation of the MNF-result ####
|
||||||
|
##### 5.1 Calculating the pseudo-reflectance #####
|
||||||
|
|
||||||
|
hyp_scaled <- (hyp - minValue(hyp))/maxValue(hyp)
|
||||||
|
|
||||||
|
mnfhyp_scaled <- (mnfhyp-minValue(mnfhyp))/maxValue(mnfhyp)
|
||||||
|
|
||||||
|
##### 5.2 Comparison #####
|
||||||
|
|
||||||
|
par(mfrow=c(1,2))
|
||||||
|
plot(hyp_scaled[[10]], zlim=c(0,1))
|
||||||
|
plot(mnfhyp_scaled[[10]], zlim=c(0,1))
|
||||||
|
|
||||||
|
## before=original image, after=mnf,
|
||||||
|
## wl=band wavelengths
|
||||||
|
testspec <- function(before, after, wl){
|
||||||
|
x1 <- click (before, n=1, type="p", xy=T, show=F) ## extract original spectrum
|
||||||
|
## and pixel coordinates
|
||||||
|
x2 <- extract(after, x1[1:2]) ## extract MNF-transformed spectrum
|
||||||
|
x1 <- x1[-c(1:2)] ## remove coordinates
|
||||||
|
x11() ## open new graphic window, comment if you do not want to do so
|
||||||
|
plot (wl, x1*100, type="l", ylim=c(0, 100) , ylab="pseudo-reflectance/%",
|
||||||
|
xlab="wavelength/nm") ## plot original spectrum
|
||||||
|
lines (wl, x2*100, col=2) ## add MNF-spectrum
|
||||||
|
legend ("topright", c("before", "after"), lwd=1, col=c(1,2)) ## add legend
|
||||||
|
}
|
||||||
|
|
||||||
|
x11()
|
||||||
|
plotRGB (mnfhyp_scaled, 35, 20, 1, stretch="lin")
|
||||||
|
|
||||||
|
testspec(hyp_scaled, mnfhyp_scaled, wl)
|
||||||
|
|
||||||
|
#### 6. Detecting water stress ####
|
||||||
|
|
||||||
|
nm819 <- (mnfhyp_scaled[[39]] + mnfhyp_scaled[[40]])/2
|
||||||
|
nm1599 <- mnfhyp_scaled[[110]]
|
||||||
|
|
||||||
|
msi <- nm1599 / nm819
|
||||||
|
|
||||||
|
msi <- reclassify (msi, matrix (c(-Inf, 0, 0, 2, Inf, 2),2,3, byrow=T))
|
||||||
|
|
||||||
|
plot (msi, col=bpy.colors (100))
|
||||||
@@ -0,0 +1,191 @@
|
|||||||
|
library(raster)
|
||||||
|
library(rgdal)
|
||||||
|
setwd("~/OneDrive/Dokumente/Fernerkundung/Regio/11_Landwirtschaft")
|
||||||
|
|
||||||
|
#### Build NDVI stack ####
|
||||||
|
|
||||||
|
# read all files from the directory starting with "CU_LC08.001_SRB4" (OLI - red band)
|
||||||
|
landsatred <- list.files(pattern="CU_LC08.001_SRB4", path="/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/11_Landwirtschaft/data", full.names=TRUE)
|
||||||
|
|
||||||
|
# read all files from the directory starting with "CU_LC08.001_SRB5" (OLI - NIR band)
|
||||||
|
landsatNIR <- list.files(pattern="CU_LC08.001_SRB5", path="/Users/huaqo/OneDrive/Dokumente/Fernerkundung/Regio/11_Landwirtschaft/data", full.names=TRUE)
|
||||||
|
|
||||||
|
# Build stacks for red and NIR bands
|
||||||
|
landsatred_stack <- stack(landsatred)
|
||||||
|
landsatNIR_stack <- stack(landsatNIR)
|
||||||
|
|
||||||
|
# calculate the NDVI
|
||||||
|
NDVI_stack <- (landsatNIR_stack-landsatred_stack)/(landsatNIR_stack+landsatred_stack)
|
||||||
|
|
||||||
|
#### Crop the dataset to the study area
|
||||||
|
|
||||||
|
# read the shapefle
|
||||||
|
myshp <- readOGR("study_area_sem10.shp")
|
||||||
|
|
||||||
|
# Check crs of datasets
|
||||||
|
crs(NDVI_stack)
|
||||||
|
crs(myshp)
|
||||||
|
|
||||||
|
# Reporject the shapefile
|
||||||
|
myshp_proj <- spTransform(myshp, crs(NDVI_stack))
|
||||||
|
|
||||||
|
# Subset the image data and save it
|
||||||
|
NDVI_stack_subset <- crop(NDVI_stack, extent(myshp_proj), snap="out", filename="NDVI_timeseries_2019.tif", overwrite=TRUE)
|
||||||
|
|
||||||
|
# split the file name with the delimiter "_", read the date and format the dates
|
||||||
|
name_split <- sapply(landsatred, function(i) unlist(strsplit(i,"_")))
|
||||||
|
|
||||||
|
# identify number of substring containing the date (in my case 6)
|
||||||
|
View(name_split)
|
||||||
|
dates <- name_split [6,]
|
||||||
|
dates <-substring(dates,4,10)
|
||||||
|
dates <- as.Date(dates, "%Y%j")
|
||||||
|
|
||||||
|
# rename the bands according to their date
|
||||||
|
names(NDVI_stack_subset) <- dates
|
||||||
|
|
||||||
|
ndvistack <- stack ("NDVI_timeseries_2019.tif")
|
||||||
|
#or
|
||||||
|
#ndvistack <- NDVI_stack_subset
|
||||||
|
|
||||||
|
#### Create date vector (needed if NDVI time series is not created above) ####
|
||||||
|
|
||||||
|
# read all files from the directory starting with "CU_LC08.001_SRB4" (OLI - red band)
|
||||||
|
landsatred <- list.files(pattern="CU_LC08.001_SRB4", path="C:\\Users\\marion\\Documents\\2020_maerz\\RegionaleThemen_CA\\seminar10\\data", full.names=TRUE)
|
||||||
|
|
||||||
|
# split the file name with the delimiter "_", read the date and format the dates
|
||||||
|
name_split <- sapply(landsatred, function(i) unlist(strsplit(i,"_")))
|
||||||
|
|
||||||
|
# identify number of substring containing the date (in my case 6)
|
||||||
|
View(name_split)
|
||||||
|
dates <- name_split [6,]
|
||||||
|
dates <-substring(dates,4,10)
|
||||||
|
dates <- as.Date(dates, "%Y%j")
|
||||||
|
|
||||||
|
# rename the bands according to their date
|
||||||
|
names(ndvistack) <- dates
|
||||||
|
|
||||||
|
plotRGB(ndvistack, 1,4,7, stretch="lin")
|
||||||
|
|
||||||
|
|
||||||
|
cal_proj <- shapefile("training_pol_col.shp")
|
||||||
|
|
||||||
|
View(cal_proj@data) ## attribute table
|
||||||
|
|
||||||
|
crs(cal_proj)
|
||||||
|
crs(ndvistack)
|
||||||
|
|
||||||
|
|
||||||
|
cal <- spTransform(cal_proj, crs(ndvistack))
|
||||||
|
|
||||||
|
|
||||||
|
cropcol <- rgb(cal$FIRST_RED, cal$FIRST_GREE, cal$FIRST_BLUE)
|
||||||
|
|
||||||
|
plotRGB (ndvistack, 1, 3, 5, stretch="lin")
|
||||||
|
plot (cal, add=T, col=cropcol, border ="black", lwd=3)
|
||||||
|
|
||||||
|
calpix <- extract (ndvistack, cal, df=FALSE)
|
||||||
|
|
||||||
|
names (calpix) <- cal@data[,1]
|
||||||
|
|
||||||
|
calpix2 <- extract (ndvistack, cal, df=TRUE)
|
||||||
|
|
||||||
|
View(calpix)
|
||||||
|
View(calpix2)
|
||||||
|
|
||||||
|
cl <- rep(cropcol, sapply(calpix, nrow))
|
||||||
|
|
||||||
|
classcentroids <- t(sapply (calpix, colMeans))
|
||||||
|
|
||||||
|
# plot empty plot of a defined size
|
||||||
|
plot(0,
|
||||||
|
ylim = c(min(classcentroids), max(classcentroids)),
|
||||||
|
xlim = c(min(dates), max(dates)),
|
||||||
|
type = 'n',
|
||||||
|
xlab = "time",
|
||||||
|
ylab = "NDVI",
|
||||||
|
xaxt='n'
|
||||||
|
)
|
||||||
|
|
||||||
|
# label the x axis
|
||||||
|
axis(1, dates, format(dates, "%b %d"), cex.axis = .7)
|
||||||
|
|
||||||
|
|
||||||
|
# draw one line for each class
|
||||||
|
for (i in 1:nrow(classcentroids)){
|
||||||
|
lines(dates, as.numeric(classcentroids[i,]),
|
||||||
|
lwd = 4,
|
||||||
|
col = cropcol[i]
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# add a grid
|
||||||
|
grid()
|
||||||
|
|
||||||
|
# add a legend
|
||||||
|
legend(as.character(cal@data[,1]),
|
||||||
|
x = "topleft",
|
||||||
|
col = cropcol,
|
||||||
|
lwd = 5,
|
||||||
|
bty = "n"
|
||||||
|
)
|
||||||
|
|
||||||
|
d <- c(1,3,5,7)
|
||||||
|
dates4 <- dates[d]
|
||||||
|
|
||||||
|
classcentroids_4bands <- aggregate(calpix2[, c(2,4,6,8)], list(calpix2$ID), mean)
|
||||||
|
|
||||||
|
for (i in 1:4){
|
||||||
|
for (j in 1:4){
|
||||||
|
plot (calpix2[,i+1], calpix2[,j+1], col=cl, pch=19, cex=0.1,
|
||||||
|
xlab=paste ("NDVI ",dates4[i]), ylab=paste ("NDVI ",dates4[j]), xlim= c(-0.3,1),
|
||||||
|
ylim= c(-0.3,1)) ## the '+1' is necessary to
|
||||||
|
## skip the first column with the class codes
|
||||||
|
points (classcentroids[,i], classcentroids[,j], bg=cropcol, pch=21)
|
||||||
|
|
||||||
|
legend("topleft",
|
||||||
|
legend = cal@data[,1],
|
||||||
|
fill = cropcol,
|
||||||
|
border = FALSE,
|
||||||
|
box.col="grey",
|
||||||
|
cex = 0.7) # t
|
||||||
|
readline ("Press ENTER for next plot")
|
||||||
|
}}
|
||||||
|
|
||||||
|
source ("mindistclassifier.r")
|
||||||
|
|
||||||
|
map <- mindistclassifier(class.codes=1:10, cal.ref=classcentroids,
|
||||||
|
image.stack=ndvistack)
|
||||||
|
|
||||||
|
plot(map)
|
||||||
|
|
||||||
|
plot(map, col = cropcol, legend =FALSE
|
||||||
|
)
|
||||||
|
|
||||||
|
legend("topright",
|
||||||
|
legend = cal@data[,1],
|
||||||
|
fill = cropcol,
|
||||||
|
border = FALSE,
|
||||||
|
box.col="grey") # turn off legend border)
|
||||||
|
|
||||||
|
map@legend@colortable <- c ("#000000", cropcol, rep ("#000000", 254))
|
||||||
|
writeRaster (map, "mindist_map.tif", format="GTiff", overwrite=TRUE)
|
||||||
|
|
||||||
|
val <- shapefile ("validation_points_v2.shp")
|
||||||
|
val_proj <- spTransform(val, crs(map))
|
||||||
|
|
||||||
|
head(val_proj)
|
||||||
|
|
||||||
|
croptypes <- cal@data[,1]
|
||||||
|
|
||||||
|
prediction <- extract (map, val_proj)
|
||||||
|
prediction <- croptypes[prediction]
|
||||||
|
|
||||||
|
cfm <- table (prediction, val@data[,2])
|
||||||
|
cfm
|
||||||
|
oac <- sum (diag (cfm)) / sum (cfm)
|
||||||
|
print(paste("OAC: ", oac))
|
||||||
|
users <- diag (cfm) / apply (cfm, 1, sum)
|
||||||
|
users
|
||||||
|
producers <- diag (cfm) / apply (cfm, 2, sum)
|
||||||
|
producers
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
////// Satellite images and RGB color presentation //////
|
||||||
|
|
||||||
|
/// Open a satellite image and create an RGB-Composite
|
||||||
|
|
||||||
|
// Load an image.
|
||||||
|
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
|
||||||
|
|
||||||
|
// Define the visualization parameters.
|
||||||
|
var visParams = {
|
||||||
|
bands: ['B5', 'B4', 'B3'],
|
||||||
|
min: 0,
|
||||||
|
max: 0.5,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Center the map and set zoom level
|
||||||
|
Map.setCenter(-122.1899, 37.5010, 10); // San Francisco Bay
|
||||||
|
|
||||||
|
// Visualize image
|
||||||
|
Map.addLayer(image, visParams, 'false color composite');
|
||||||
|
|
||||||
|
//// Exercise 1a:
|
||||||
|
// Play around with the visualization
|
||||||
|
|
||||||
|
|
||||||
|
//// Clip the image to a feature:
|
||||||
|
|
||||||
|
// Create a circle by drawing a 20000 meter buffer around a point.
|
||||||
|
//var roi = ee.Geometry.Point([-122.4481, 37.7599]).buffer(20000);
|
||||||
|
|
||||||
|
// Display a clipped version of the mosaic.
|
||||||
|
// After the layers are visible in the Map view, please do only display the layer "buffer"
|
||||||
|
//Map.addLayer(image.clip(roi), visParams, 'buffer');
|
||||||
|
|
||||||
|
//// Exercise 1b:
|
||||||
|
// Create a polygon and clip the image to this feature
|
||||||
|
// 1. Create a polygon with the available tool (freehand or rectangle)
|
||||||
|
// 2. You will find the feature under imports at the beginning of your script
|
||||||
|
// 3. Change the function image.clip accordingly
|
||||||
|
// 4. Re-run the sript
|
||||||
|
Map.addLayer(image.clip(Rechteck), visParams, 'Rechteck')
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
// Open SRTM image and visualize it
|
||||||
|
|
||||||
|
// Detailed description: https://developers.google.com/earth-engine/tutorial_api_02
|
||||||
|
|
||||||
|
// Instantiate an image with the Image constructor.
|
||||||
|
var image = ee.Image('CGIAR/SRTM90_V4');
|
||||||
|
|
||||||
|
// Zoom to a location.
|
||||||
|
Map.setCenter(12.978717025594149,47.55544193154224,11); // Center on Königssee - Berchtesgaden.
|
||||||
|
|
||||||
|
// datatype
|
||||||
|
print('SRTM image', image);
|
||||||
|
|
||||||
|
// Display the image on the map.
|
||||||
|
Map.addLayer(image);
|
||||||
|
|
||||||
|
// Customizing layer visualization
|
||||||
|
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
|
||||||
|
|
||||||
|
// Customizing layer visualization - color palette
|
||||||
|
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']},
|
||||||
|
'custom palette');
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
////// Script 2: Calculate indices and apply a mask //////
|
||||||
|
|
||||||
|
// Load an image.
|
||||||
|
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
|
||||||
|
|
||||||
|
// Center map view
|
||||||
|
Map.centerObject(image,10)
|
||||||
|
|
||||||
|
// Create an NDWI image, define visualization parameters and display.
|
||||||
|
var ndwi = image.normalizedDifference(['B3', 'B5']);
|
||||||
|
var ndwiViz = {min: 0.5, max: 1, palette: ['00FFFF', '0000FF']};
|
||||||
|
Map.addLayer(ndwi, ndwiViz, 'NDWI');
|
||||||
|
Map.addLayer(ndwi, ndwiViz, 'NDWI false', false);
|
||||||
|
|
||||||
|
// Question 1: What's "false" doing?
|
||||||
|
//Zeigt den Layer nicht an.
|
||||||
|
|
||||||
|
// Mask the non-watery parts of the image, where NDWI < 0.4.
|
||||||
|
var ndwiMasked = ndwi.updateMask(ndwi.gte(0.4));
|
||||||
|
Map.addLayer(ndwiMasked, ndwiViz, 'NDWI masked');
|
||||||
|
|
||||||
|
// Question 2: What does the function .gte actually do?
|
||||||
|
//Maskiert alles wo der NDWI unter 0.4 ist.
|
||||||
|
|
||||||
|
//// Create visualization layers.
|
||||||
|
// The .visualize function creates images that contain the visualisation parameters.
|
||||||
|
var imageRGB = image.visualize({bands: ['B3', 'B2', 'B1'], max: 0.5});
|
||||||
|
var ndwiRGB = ndwiMasked.visualize({min: 0.5, max: 1, palette: ['00FFFF', '0000FF']});
|
||||||
|
Map.addLayer(imageRGB, {}, 'imageRGB');
|
||||||
|
Map.addLayer(ndwiRGB, {}, 'NDWI masked - 2'); //looks the same than the fist visualization, just another layer
|
||||||
|
|
||||||
|
// Mosaic the visualization layers and display.
|
||||||
|
var mosaic = ee.ImageCollection([imageRGB, ndwiRGB]).mosaic();
|
||||||
|
Map.addLayer(mosaic, {}, 'mosaic');
|
||||||
|
|
||||||
|
//Question 3: What does the mosaic function do?
|
||||||
|
//Fügt das RGB Image und das NDWI Image zusammen.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Exercise 2a:
|
||||||
|
// Calculate the NDVI and visualize it
|
||||||
|
var ndvi = image.normalizedDifference(['B4', 'B5']);
|
||||||
|
|
||||||
|
// Find a threshold for differentiating vegetated and non-vegetated areas
|
||||||
|
var ndviViz = {min: -1, max: 1};
|
||||||
|
Map.addLayer(ndvi, ndviViz, 'NDVI');
|
||||||
|
|
||||||
|
// Create a mask that masks non-vegetated areas
|
||||||
|
// Mask the non-planty parts of the image, where NDVI < 0.
|
||||||
|
var ndviMasked = ndvi.updateMask(ndvi.gte(0));
|
||||||
|
|
||||||
|
// Find a nice visualization
|
||||||
|
var ndviRGB = ndviMasked.visualize({min: -1, max: 1, palette: ['00FFFF', '0000FF']});
|
||||||
|
Map.addLayer(ndviRGB, {}, 'NDVI masked');
|
||||||
|
|
||||||
|
// Create a mosaic of the Landsat image and the NDVI data.
|
||||||
|
var mosaic = ee.ImageCollection([imageRGB, ndviRGB]).mosaic();
|
||||||
|
Map.addLayer(mosaic, {}, 'mosaic');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
// Calculate slope and aspect
|
||||||
|
// Calculate statistics
|
||||||
|
|
||||||
|
//Detailed description: https://developers.google.com/earth-engine/tutorial_api_03
|
||||||
|
|
||||||
|
// Load the SRTM image.
|
||||||
|
var srtm = ee.Image('CGIAR/SRTM90_V4');
|
||||||
|
|
||||||
|
// Apply an algorithm to an image.
|
||||||
|
var slope = ee.Terrain.slope(srtm);
|
||||||
|
|
||||||
|
print(slope)
|
||||||
|
// Convert degree in percent
|
||||||
|
|
||||||
|
// Display the result.
|
||||||
|
Map.setCenter(12.978717025594149,47.55544193154224,11); // Center on Königsee.
|
||||||
|
Map.addLayer(srtm, {min: 0, max :2500}, 'srtm');
|
||||||
|
Map.addLayer(slope, {min: 0, max :60}, 'slope');
|
||||||
|
|
||||||
|
|
||||||
|
//Image math
|
||||||
|
// Get the aspect (in degrees).
|
||||||
|
var aspect = ee.Terrain.aspect(srtm);
|
||||||
|
// Convert to radians, compute the sin of the aspect.
|
||||||
|
var sinImage = aspect.divide(180).multiply(Math.PI).sin();
|
||||||
|
// Display the result.
|
||||||
|
Map.addLayer(sinImage, {min: -1, max: 1}, 'sin');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Image statistics
|
||||||
|
// Compute the mean elevation in the polygon.
|
||||||
|
var stddevDict = srtm.reduceRegion({
|
||||||
|
reducer: ee.Reducer.stdDev(),
|
||||||
|
geometry: koenigsee,
|
||||||
|
scale: 90
|
||||||
|
});
|
||||||
|
|
||||||
|
// Print dictionary
|
||||||
|
print("dict", stddevDict)
|
||||||
|
|
||||||
|
// Get the mean from the dictionary and print it.
|
||||||
|
// In java a dictionary is a collection of different kinds of information.
|
||||||
|
// In other languages such as R a dictionary is usally named 'object'.
|
||||||
|
|
||||||
|
var stddev = stddevDict.get('elevation');
|
||||||
|
print('stdDev elevation', stddev);
|
||||||
|
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
|
||||||
|
////// Skript 3: First Image Collection ///////
|
||||||
|
|
||||||
|
//// Open an image collection
|
||||||
|
// An image collection refers to a set of Earth Engine images. For example, the collection of all Landsat 8
|
||||||
|
// surface reflectance images is an ee.ImageCollection.
|
||||||
|
|
||||||
|
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2');
|
||||||
|
print('Landsat 8 collection', l8);
|
||||||
|
|
||||||
|
// Question 1: Which error occurs when printing the contents of the variable l8?
|
||||||
|
// Before the second run, comment the line "print('Landsat 8 collection', l8);"
|
||||||
|
|
||||||
|
// No worries: we can still work with all the images…
|
||||||
|
|
||||||
|
|
||||||
|
//// Filter the collection
|
||||||
|
|
||||||
|
// The way to limit the collection by time or space is by filtering it.
|
||||||
|
// For example, to filter the collection to images that cover a particular location,
|
||||||
|
// first define your area of interest with a point (or line or polygon) using the geometry drawing tools.
|
||||||
|
|
||||||
|
var spatialFiltered = l8.filterBounds(point);
|
||||||
|
print('spatialFiltered', spatialFiltered);
|
||||||
|
|
||||||
|
var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31');
|
||||||
|
print('temporalFiltered', temporalFiltered);
|
||||||
|
|
||||||
|
//// Exercise 3a:
|
||||||
|
// - Create a point somewhere and name it “point”. Of course you might give it another name,
|
||||||
|
// but then you need to change the code accordingly.
|
||||||
|
// - Have a look at another time period.
|
||||||
|
|
||||||
|
|
||||||
|
//// How to work with the collection
|
||||||
|
|
||||||
|
// Alternative 1: Visualize the Image collection as is
|
||||||
|
|
||||||
|
// Note: You may directly visualize the image collection but then only the newest one will be
|
||||||
|
// visualized (if you do not specify it otherwise)
|
||||||
|
var visParams = {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 30000};
|
||||||
|
Map.centerObject(temporalFiltered, 9);
|
||||||
|
Map.addLayer(temporalFiltered, visParams, 'l8 collection');
|
||||||
|
|
||||||
|
|
||||||
|
//// Alternative 2: How to use single images from the stack
|
||||||
|
|
||||||
|
// We may see and use the images that the collection contains.
|
||||||
|
var listofimages = temporalFiltered.toList(temporalFiltered.size());
|
||||||
|
print('List of images', listofimages);
|
||||||
|
|
||||||
|
// We may then assign the images to a variable. We start counting with 0.
|
||||||
|
var firstimage = listofimages.get(0);
|
||||||
|
var tenthimage = listofimages.get(9);
|
||||||
|
var lastimage = listofimages.get(listofimages.length().subtract(1));
|
||||||
|
print('tenth image', tenthimage);
|
||||||
|
|
||||||
|
// Visualize the 10th image
|
||||||
|
Map.addLayer(ee.Image(tenthimage), visParams, '10th image');
|
||||||
|
|
||||||
|
|
||||||
|
//// Alternative 3: Use the least cloudy image
|
||||||
|
|
||||||
|
// This will sort from least to most cloudy.
|
||||||
|
var sorted = temporalFiltered.sort('CLOUD_COVER');
|
||||||
|
print("sorted", sorted)
|
||||||
|
|
||||||
|
// Get the first (least cloudy) image.
|
||||||
|
var scene = sorted.first();
|
||||||
|
|
||||||
|
// Visualize the least cloudy image print("cloudless", scene)
|
||||||
|
Map.addLayer(scene, visParams, 'Least cloudy image');
|
||||||
|
|
||||||
|
//// Exercise 3a:
|
||||||
|
// - Use the Landsat 5 collection (surface reflectance).
|
||||||
|
// - Which images are available from the year of your birthday and your place of birth?
|
||||||
|
// - Are there any images from your month of birth?
|
||||||
|
// - Visualize the image that comes closest to your birthday
|
||||||
|
// - Plot the least cloudy image
|
||||||
|
|
||||||
|
// Of course you may use any other event. In this case you need to see if the Landsat 5 collection
|
||||||
|
// is the right one to use.
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
//// Script 4 - Additional Script Metadata
|
||||||
|
|
||||||
|
// Load an image.
|
||||||
|
var image = ee.Image('LANDSAT/LC08/C01/T1/LC08_044034_20140318');
|
||||||
|
|
||||||
|
// Get a list of all metadata properties.
|
||||||
|
var properties = image.propertyNames();
|
||||||
|
print('Metadata properties: ', properties); // ee.List of metadata properties
|
||||||
|
|
||||||
|
// Get information about the bands as a list.
|
||||||
|
var bandNames = image.bandNames();
|
||||||
|
print('Band names: ', bandNames); // ee.List of band names
|
||||||
|
|
||||||
|
// Get projection information from band 1.
|
||||||
|
var b1proj = image.select('B1').projection();
|
||||||
|
print('Band 1 projection: ', b1proj); // ee.Projection object
|
||||||
|
|
||||||
|
// Get scale (in meters) information from band 1.
|
||||||
|
var b1scale = image.select('B1').projection().nominalScale();
|
||||||
|
print('Band 1 scale: ', b1scale); // ee.Number
|
||||||
|
|
||||||
|
// Note that different bands can have different projections and scale.
|
||||||
|
var b8scale = image.select('B8').projection().nominalScale();
|
||||||
|
print('Band 8 scale: ', b8scale); // ee.Number
|
||||||
|
|
||||||
|
// Get a specific metadata property.
|
||||||
|
var cloudiness = image.get('CLOUD_COVER');
|
||||||
|
print('CLOUD_COVER: ', cloudiness); // ee.Number
|
||||||
|
|
||||||
|
// Get the timestamp and convert it to a date.
|
||||||
|
var date = ee.Date(image.get('system:time_start'));
|
||||||
|
print('Timestamp: ', date); // ee.Date
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
// Assemble a collection of Sentinel-2 surface reflectance images for a given
|
||||||
|
// region and date range.
|
||||||
|
var s2col = ee.ImageCollection('COPERNICUS/S2_SR')
|
||||||
|
.filterBounds(ee.Geometry.Point(-96.9037, 48.0395))
|
||||||
|
.filterDate('2019-06-01', '2019-10-01');
|
||||||
|
|
||||||
|
// Define visualization arguments.
|
||||||
|
var visArgs = {bands: ['B11', 'B8', 'B3'], min: 300, max: 3500};
|
||||||
|
|
||||||
|
// Define a function to convert an image to an RGB visualization image and copy
|
||||||
|
// properties from the original image to the RGB image.
|
||||||
|
var visFun = function(img) {
|
||||||
|
return img.visualize(visArgs).copyProperties(img, img.propertyNames());
|
||||||
|
};
|
||||||
|
|
||||||
|
// Map over the image collection to convert each image to an RGB visualization
|
||||||
|
// using the previously defined visualization function.
|
||||||
|
var s2colVis = s2col.map(visFun);
|
||||||
|
|
||||||
|
print("s2col", s2colVis)
|
||||||
|
|
||||||
|
|
||||||
|
// Print the animation to the console as a ui.Thumbnail using the above defined
|
||||||
|
// arguments. Note that ui.Thumbnail produces an animation when the first input
|
||||||
|
// is an ee.ImageCollection instead of an ee.Image.
|
||||||
|
print(ui.Thumbnail(s2colVis, visFun));
|
||||||
|
|
||||||
|
|
||||||
|
// Zeigt den Median von allen Bildern
|
||||||
|
var s2col_comp = s2col.median()
|
||||||
|
Map.setCenter(-96.9037, 48.0395, 10)
|
||||||
|
Map.addLayer(s2col_comp, visArgs, "composite")
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// Metadata of image collections
|
||||||
|
|
||||||
|
// Load a Landsat 8 ImageCollection for a single path-row.
|
||||||
|
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
|
||||||
|
.filter(ee.Filter.eq('WRS_PATH', 44))
|
||||||
|
.filter(ee.Filter.eq('WRS_ROW', 34))
|
||||||
|
.filterDate('2014-03-01', '2014-08-01');
|
||||||
|
print('Collection: ', collection);
|
||||||
|
|
||||||
|
// Get the number of images.
|
||||||
|
var count = collection.size();
|
||||||
|
print('Count: ', count);
|
||||||
|
|
||||||
|
// Get the date range of images in the collection.
|
||||||
|
var range = collection.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
|
||||||
|
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')))
|
||||||
|
|
||||||
|
// Get statistics for a property of the images in the collection.
|
||||||
|
var sunStats = collection.aggregate_stats('SUN_ELEVATION');
|
||||||
|
print('Sun elevation statistics: ', sunStats);
|
||||||
|
|
||||||
|
// Sort by a cloud cover property, get the least cloudy image.
|
||||||
|
var image = ee.Image(collection.sort('CLOUD_COVER').first());
|
||||||
|
print('Least cloudy image: ', image);
|
||||||
|
|
||||||
|
// Limit the collection to the 10 most recent images.
|
||||||
|
var recent = collection.sort('system:time_start', false).limit(10);
|
||||||
|
print('Recent images: ', recent);
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
// Filter and first composites
|
||||||
|
|
||||||
|
// Load Landsat 5 data, filter by date and bounds.
|
||||||
|
var collection = ee.ImageCollection('LANDSAT/LT05/C01/T1')
|
||||||
|
.filterDate('1987-01-01', '1989-12-31')
|
||||||
|
.filter(ee.Filter.calendarRange(6,8,'month'))
|
||||||
|
.filterBounds(ee.Geometry.Point(13.41, 52.53));
|
||||||
|
|
||||||
|
// Also filter the collection by the CLOUD_COVER property.
|
||||||
|
var filtered = collection
|
||||||
|
.filterMetadata('CLOUD_COVER', 'equals', 0);
|
||||||
|
|
||||||
|
// Create two composites to check the effect of filtering by CLOUD_COVER.
|
||||||
|
var unfilteredComposite = collection.mean()
|
||||||
|
var cloudfreeComposite = filtered.mean()
|
||||||
|
|
||||||
|
// Display the composites.
|
||||||
|
Map.setCenter(13.41, 52.53, 13);
|
||||||
|
Map.addLayer(unfilteredComposite,
|
||||||
|
{bands: ['B4', 'B3', 'B2'], gain: 3.5},
|
||||||
|
'unfiltered composite');
|
||||||
|
Map.addLayer(cloudfreeComposite,
|
||||||
|
{bands: ['B4', 'B3', 'B2'], gain: 3.5},
|
||||||
|
'cloudless composite');
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
// Simple composite
|
||||||
|
|
||||||
|
var landsat = ee.ImageCollection("LANDSAT/LC08/C01/T1")
|
||||||
|
.filterDate('2016-01-01', '2017-01-01')
|
||||||
|
.filterBounds(geometry)
|
||||||
|
|
||||||
|
Map.addLayer(landsat, {bands: ["B4", "B3", "B2"], min:0, max: 30000})
|
||||||
|
|
||||||
|
var composite = ee.Algorithms.Landsat.simpleComposite({
|
||||||
|
collection: landsat,
|
||||||
|
asFloat: true
|
||||||
|
})
|
||||||
|
|
||||||
|
Map.addLayer(composite, {bands: ["B4", "B3", "B2"], min:0, max: 0.3})
|
||||||
|
Map.centerObject(geometry, 11)
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
// Landsat 8 - Cloud masking
|
||||||
|
|
||||||
|
// This example demonstrates the use of the pixel QA band to mask
|
||||||
|
// clouds in surface reflectance (SR) data. It is suitable
|
||||||
|
// for use with any of the Landsat SR datasets.
|
||||||
|
|
||||||
|
// Function to cloud mask from the pixel_qa band of Landsat 8 SR data.
|
||||||
|
function maskL8sr(image) {
|
||||||
|
// Bits 3 and 4 are cloud shadow and cloud, respectively.
|
||||||
|
var cloudShadowBitMask = 1 << 4;
|
||||||
|
var cloudsBitMask = 1 << 3;
|
||||||
|
|
||||||
|
// Get the pixel QA band.
|
||||||
|
var qa = image.select('QA_PIXEL');
|
||||||
|
|
||||||
|
// Both flags should be set to zero, indicating clear conditions.
|
||||||
|
var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
|
||||||
|
.and(qa.bitwiseAnd(cloudsBitMask).eq(0));
|
||||||
|
|
||||||
|
// Return the masked image, scaled to reflectance, without the QA bands.
|
||||||
|
return image.updateMask(mask)
|
||||||
|
.select("SR_B[0-9]*").multiply(0.0000275).add(-0.2)
|
||||||
|
.copyProperties(image, ["system:time_start"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map the function over one year of data.
|
||||||
|
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
|
||||||
|
.filterBounds(ee.Geometry.Point(13.4,52.5))
|
||||||
|
.filterDate('2016-01-01', '2016-12-31')
|
||||||
|
.map(maskL8sr)
|
||||||
|
|
||||||
|
var composite = collection.median();
|
||||||
|
|
||||||
|
// Display the results.
|
||||||
|
Map.setCenter(13.4,52.5,10)
|
||||||
|
Map.addLayer(composite, {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 0.5});
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
// Detailed information: https://docs.google.com/document/d/1mNIRB90jwLuASO1JYas1kuOXCLbOoy1Z4NlV1qIXM10/edit
|
||||||
|
|
||||||
|
var imageCollection = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2");
|
||||||
|
|
||||||
|
var roi =
|
||||||
|
ee.Geometry.Polygon(
|
||||||
|
[[[120.34892531309845, 43.64119426062719],
|
||||||
|
[120.34892531309845, 43.618332108842225],
|
||||||
|
[120.39218398009064, 43.618332108842225],
|
||||||
|
[120.39218398009064, 43.64119426062719]]], null, false);
|
||||||
|
|
||||||
|
Map.centerObject(roi, 12)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var l8sr = imageCollection
|
||||||
|
.filterBounds(roi);
|
||||||
|
|
||||||
|
|
||||||
|
// This field contains UNIX time in milliseconds.
|
||||||
|
var timeField = 'system:time_start';
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
// CLOUD MASKING
|
||||||
|
|
||||||
|
// Function to cloud mask from the pixel_qa band of Landsat 8 SR data.
|
||||||
|
// (From the Code Editor Examples > Cloud Masking)
|
||||||
|
function maskL8sr(image) {
|
||||||
|
// Bit 0 - Fill
|
||||||
|
// Bit 1 - Dilated Cloud
|
||||||
|
// Bit 2 - Cirrus
|
||||||
|
// Bit 3 - Cloud
|
||||||
|
// Bit 4 - Cloud Shadow
|
||||||
|
var qa = image.select('QA_PIXEL')
|
||||||
|
|
||||||
|
var cloud = qa.bitwiseAnd(1 << 1)
|
||||||
|
.or(qa.bitwiseAnd(1 << 2))
|
||||||
|
.or(qa.bitwiseAnd(1 << 3))
|
||||||
|
.or(qa.bitwiseAnd(1 << 4))
|
||||||
|
|
||||||
|
|
||||||
|
// The flags should equal zero, indicating clear conditions.
|
||||||
|
var mask = cloud.eq(0);
|
||||||
|
//var ndwiMasked = ndwi.updateMask(ndwi.gte(0.4));
|
||||||
|
// Apply the scaling factors to the appropriate bands.
|
||||||
|
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
|
||||||
|
|
||||||
|
// Replace the original bands with the scaled ones and apply the masks.
|
||||||
|
return image.addBands(opticalBands, null, true)
|
||||||
|
.updateMask(mask)
|
||||||
|
.copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
// ADD BANDS
|
||||||
|
|
||||||
|
// Use this function to add variables for NDVI, time and a constant
|
||||||
|
// to Landsat 8 imagery.
|
||||||
|
var addVariables = function(image) {
|
||||||
|
// Compute time in fractional years since the epoch.
|
||||||
|
var date = ee.Date(image.get(timeField));
|
||||||
|
var years = date.difference(ee.Date('1970-01-01'), 'year');
|
||||||
|
// Return the image with the added bands.
|
||||||
|
return image
|
||||||
|
// Add an NDVI band.
|
||||||
|
.addBands(image.normalizedDifference(['SR_B5', 'SR_B4']).rename('NDVI'))
|
||||||
|
// Add a time band.
|
||||||
|
.addBands(ee.Image(years).rename('t'))
|
||||||
|
.float()
|
||||||
|
// Add a constant band.
|
||||||
|
.addBands(ee.Image.constant(1));
|
||||||
|
};
|
||||||
|
|
||||||
|
// Remove clouds, add variables and filter to the area of interest.
|
||||||
|
var filteredLandsat = l8sr
|
||||||
|
.filterBounds(roi)
|
||||||
|
.map(maskL8sr)
|
||||||
|
.map(addVariables);
|
||||||
|
|
||||||
|
|
||||||
|
// Plot a time series of NDVI at a single location.
|
||||||
|
var l8Chart = ui.Chart.image.series(filteredLandsat.select('NDVI'), roi)
|
||||||
|
.setChartType('ScatterChart')
|
||||||
|
.setOptions({
|
||||||
|
title: 'Landsat 8 NDVI time series at ROI',
|
||||||
|
trendlines: {0: {
|
||||||
|
color: 'CC0000'
|
||||||
|
}},
|
||||||
|
lineWidth: 1,
|
||||||
|
pointSize: 3,
|
||||||
|
});
|
||||||
|
print(l8Chart);
|
||||||
|
|
||||||
|
// Display the NDVI of the time series (mean, first image, last image)
|
||||||
|
Map.addLayer(filteredLandsat.select("NDVI").mean(),{min:0, max:1}, "Mean NDVI Landsat 8")
|
||||||
|
Map.addLayer(filteredLandsat.select("NDVI").first(),{min:0, max:1}, "Oldest image within time series")
|
||||||
|
Map.addLayer(filteredLandsat.sort("system:time_start",false).select("NDVI").first(),{min:0, max:1}, "Newest image within time series")
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
// Detailed information: https://docs.google.com/document/d/1mNIRB90jwLuASO1JYas1kuOXCLbOoy1Z4NlV1qIXM10/edit
|
||||||
|
|
||||||
|
var imageCollection = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2");
|
||||||
|
|
||||||
|
var roi =
|
||||||
|
ee.Geometry.Polygon(
|
||||||
|
[[[120.34892531309845, 43.64119426062719],
|
||||||
|
[120.34892531309845, 43.618332108842225],
|
||||||
|
[120.39218398009064, 43.618332108842225],
|
||||||
|
[120.39218398009064, 43.64119426062719]]], null, false);
|
||||||
|
|
||||||
|
Map.centerObject(roi, 12)
|
||||||
|
|
||||||
|
|
||||||
|
var l8sr = imageCollection
|
||||||
|
.filterBounds(roi);
|
||||||
|
|
||||||
|
// This field contains UNIX time in milliseconds.
|
||||||
|
var timeField = 'system:time_start';
|
||||||
|
|
||||||
|
function maskL8sr(image) {
|
||||||
|
// Bit 0 - Fill
|
||||||
|
// Bit 1 - Dilated Cloud
|
||||||
|
// Bit 2 - Cirrus
|
||||||
|
// Bit 3 - Cloud
|
||||||
|
// Bit 4 - Cloud Shadow
|
||||||
|
var qa = image.select('QA_PIXEL')
|
||||||
|
|
||||||
|
var cloud = qa.bitwiseAnd(1 << 1)
|
||||||
|
.or(qa.bitwiseAnd(1 << 2))
|
||||||
|
.or(qa.bitwiseAnd(1 << 3))
|
||||||
|
.or(qa.bitwiseAnd(1 << 4))
|
||||||
|
|
||||||
|
|
||||||
|
// The flags should equal zero, indicating clear conditions.
|
||||||
|
var mask = cloud.eq(0);
|
||||||
|
//var ndwiMasked = ndwi.updateMask(ndwi.gte(0.4));
|
||||||
|
// Apply the scaling factors to the appropriate bands.
|
||||||
|
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
|
||||||
|
|
||||||
|
// Replace the original bands with the scaled ones and apply the masks.
|
||||||
|
return image.addBands(opticalBands, null, true)
|
||||||
|
.updateMask(mask)
|
||||||
|
.copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use this function to add variables for NDVI, time and a constant
|
||||||
|
// to Landsat 8 imagery.
|
||||||
|
var addVariables = function(image) {
|
||||||
|
// Compute time in fractional years since the epoch.
|
||||||
|
var date = ee.Date(image.get(timeField));
|
||||||
|
var years = date.difference(ee.Date('1970-01-01'), 'year');
|
||||||
|
// Return the image with the added bands.
|
||||||
|
return image
|
||||||
|
// Add an NDVI band.
|
||||||
|
.addBands(image.normalizedDifference(['SR_B5', 'SR_B4']).rename('NDVI'))
|
||||||
|
// Add a time band.
|
||||||
|
.addBands(ee.Image(years).rename('t'))
|
||||||
|
.float()
|
||||||
|
// Add a constant band.
|
||||||
|
.addBands(ee.Image.constant(1));
|
||||||
|
};
|
||||||
|
|
||||||
|
// Remove clouds, add variables and filter to the area of interest.
|
||||||
|
var filteredLandsat = l8sr
|
||||||
|
.filterBounds(roi)
|
||||||
|
.filter(ee.Filter.calendarRange(8,8, 'month'))
|
||||||
|
.map(maskL8sr)
|
||||||
|
.map(addVariables);
|
||||||
|
|
||||||
|
|
||||||
|
// Plot a time series of NDVI at a single location.
|
||||||
|
var l8Chart = ui.Chart.image.series(filteredLandsat.select('NDVI'), roi)
|
||||||
|
.setChartType('ScatterChart')
|
||||||
|
.setOptions({
|
||||||
|
title: 'Landsat 8 NDVI time series at ROI',
|
||||||
|
trendlines: {0: {
|
||||||
|
color: 'CC0000'
|
||||||
|
}},
|
||||||
|
lineWidth: 1,
|
||||||
|
pointSize: 3,
|
||||||
|
});
|
||||||
|
print(l8Chart);
|
||||||
|
|
||||||
|
// Display the overall mean NDVI of the time series
|
||||||
|
Map.addLayer(filteredLandsat.select('NDVI').first(), {min: 0, max: 1}, "Mean NDVI")
|
||||||
|
|
||||||
|
|
||||||
|
// List of the independent variable names
|
||||||
|
var independents = ee.List(['constant', 't']);
|
||||||
|
|
||||||
|
// Name of the dependent variable.
|
||||||
|
var dependent = ee.String('NDVI');
|
||||||
|
|
||||||
|
// Compute a linear trend. This will have two bands: 'residuals' and
|
||||||
|
// a 2x1 band called coefficients (columns are for dependent variables).
|
||||||
|
var trend = filteredLandsat.select(independents.add(dependent))
|
||||||
|
.reduce(ee.Reducer.linearRegression(independents.length(), 1));
|
||||||
|
Map.addLayer(trend, {}, 'trend array image');
|
||||||
|
|
||||||
|
// Flatten the coefficients into a 2-band image
|
||||||
|
var coefficients = trend.select('coefficients')
|
||||||
|
.arrayProject([0])
|
||||||
|
.arrayFlatten([independents]);
|
||||||
|
|
||||||
|
print(coefficients)
|
||||||
|
|
||||||
|
|
||||||
|
Map.addLayer(coefficients.select('t'), {min: -0.05, max: 0.05}, "gain b")
|
||||||
|
Map.addLayer(coefficients.select('constant'),{min: -0.1, max: 1}, "offset a")
|
||||||
|
|
||||||
@@ -0,0 +1,223 @@
|
|||||||
|
/////// NDVI time series over Landsat 5,7 and 8
|
||||||
|
|
||||||
|
|
||||||
|
// to be defined
|
||||||
|
Map.centerObject(roi, 12)
|
||||||
|
|
||||||
|
var startyear = '1984-01-01'
|
||||||
|
var endyear = '2021-12-31'
|
||||||
|
|
||||||
|
var startmonth = 9
|
||||||
|
var endmonth = 9
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//// Functions that are applied to every image of a collection
|
||||||
|
// Due to the specific sensor characteristics of TM and OLI, specific function are needed for the sensors
|
||||||
|
|
||||||
|
// 1) Cloud masking
|
||||||
|
// 2) Rename Bands
|
||||||
|
// 3) Add NDVI and two bands to save the result of the linear regression (gain and constant)
|
||||||
|
|
||||||
|
// 1) Cloud masking
|
||||||
|
// Function to cloud mask from the pixel_qa band of Landsat 5 and 7 SR data.
|
||||||
|
// (From the Code Editor Examples > Cloud Masking)
|
||||||
|
function maskL457sr(image) {
|
||||||
|
|
||||||
|
// Bit 0 - Fill
|
||||||
|
// Bit 1 - Dilated Cloud
|
||||||
|
// Bit 2 - Cirrus
|
||||||
|
// Bit 3 - Cloud
|
||||||
|
// Bit 4 - Cloud Shadow
|
||||||
|
var qa = image.select('QA_PIXEL');
|
||||||
|
|
||||||
|
var cloud = qa.bitwiseAnd(1 << 0)
|
||||||
|
.or(qa.bitwiseAnd(1 << 1))
|
||||||
|
.or(qa.bitwiseAnd(1 << 2))
|
||||||
|
.or(qa.bitwiseAnd(1 << 3))
|
||||||
|
.or(qa.bitwiseAnd(1 << 4));
|
||||||
|
|
||||||
|
|
||||||
|
// The flags should equal zero, indicating clear conditions.
|
||||||
|
var mask = cloud.eq(0);
|
||||||
|
|
||||||
|
// Apply the scaling factors to the appropriate bands.
|
||||||
|
var opticalBands = image.select('SR_B1',"SR_B2", "SR_B3","SR_B4","SR_B5","SR_B7").multiply(0.0000275).add(-0.2);
|
||||||
|
|
||||||
|
// Replace the original bands with the scaled ones and apply the masks.
|
||||||
|
return image.addBands(opticalBands, null, true)
|
||||||
|
.updateMask(mask)
|
||||||
|
.copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Function to cloud mask from the pixel_qa band of Landsat 8 SR data.
|
||||||
|
|
||||||
|
function maskL8sr(image) {
|
||||||
|
// Bit 0 - Fill
|
||||||
|
// Bit 1 - Dilated Cloud
|
||||||
|
// Bit 2 - Cirrus
|
||||||
|
// Bit 3 - Cloud
|
||||||
|
// Bit 4 - Cloud Shadow
|
||||||
|
var qa = image.select('QA_PIXEL');
|
||||||
|
|
||||||
|
var cloud = qa.bitwiseAnd(1 << 0)
|
||||||
|
.or(qa.bitwiseAnd(1 << 1))
|
||||||
|
.or(qa.bitwiseAnd(1 << 2))
|
||||||
|
.or(qa.bitwiseAnd(1 << 3))
|
||||||
|
.or(qa.bitwiseAnd(1 << 4));
|
||||||
|
|
||||||
|
|
||||||
|
// The flags should equal zero, indicating clear conditions.
|
||||||
|
var mask = cloud.eq(0);
|
||||||
|
|
||||||
|
// Apply the scaling factors to the appropriate bands.
|
||||||
|
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
|
||||||
|
|
||||||
|
// Replace the original bands with the scaled ones and apply the masks.
|
||||||
|
return image.addBands(opticalBands, null, true)
|
||||||
|
.updateMask(mask)
|
||||||
|
.copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 2) Rename Bands
|
||||||
|
|
||||||
|
// Function to rename bands of Landsat 5 and 7 to match Landsat 8
|
||||||
|
function renameBandsTM(image) {
|
||||||
|
var bands = ['SR_B1', 'SR_B2', 'SR_B3', 'SR_B4', 'SR_B5', 'SR_B7'];
|
||||||
|
var new_bands = ['B', 'G', 'R', 'NIR', 'SWIR1', 'SWIR2'];
|
||||||
|
return image.select(bands).rename(new_bands).copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to rename bands of Landsat 8 to match Landsat 5 and 8
|
||||||
|
function renameBandsOLI(image){
|
||||||
|
var bands = ['SR_B2', 'SR_B3', 'SR_B4', 'SR_B5', 'SR_B6', 'SR_B7'];
|
||||||
|
var new_bands = ['B', 'G', 'R', 'NIR', 'SWIR1', 'SWIR2'];
|
||||||
|
return image.select(bands).rename(new_bands).copyProperties(image, ['system:time_start']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 3) Add NDVI and two bands to save the result of the linear regression (gain and constant)
|
||||||
|
|
||||||
|
// This field contains UNIX time in milliseconds.
|
||||||
|
var timeField = 'system:time_start';
|
||||||
|
|
||||||
|
|
||||||
|
function addVariables(image) {
|
||||||
|
// Compute time in fractional years since the epoch.
|
||||||
|
var date = ee.Date(image.get(timeField));
|
||||||
|
var years = date.difference(ee.Date('1970-01-01'), 'year');
|
||||||
|
// Return the image with the added bands.
|
||||||
|
return image
|
||||||
|
// Add an NDVI band.
|
||||||
|
.addBands(image.normalizedDifference(['NIR', 'R']).rename('NDVI'))
|
||||||
|
// Add a time band.
|
||||||
|
.addBands(ee.Image(years).rename('gain'))
|
||||||
|
.float()
|
||||||
|
// Add a constant band.
|
||||||
|
.addBands(ee.Image.constant(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Create collections of Landsat 5, 7 and 8
|
||||||
|
|
||||||
|
// a) using filters (calendar range and ROI)
|
||||||
|
// b) using the three functions (cloud masking, rename bands, add NDVI)
|
||||||
|
// c) Merge the collections --> combine the three collections to form a time series over the entire time span
|
||||||
|
|
||||||
|
// Landat 5 surface reflection data
|
||||||
|
var L5coll = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2')
|
||||||
|
.filterBounds(roi)
|
||||||
|
.filter(ee.Filter.calendarRange(startmonth,endmonth, 'month'))
|
||||||
|
.filterDate(startyear, endyear)
|
||||||
|
.map(maskL457sr)
|
||||||
|
.map(renameBandsTM)
|
||||||
|
.map(addVariables);
|
||||||
|
|
||||||
|
// Landat 7 surface reflection data
|
||||||
|
var L7coll = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2')
|
||||||
|
.filter(ee.Filter.calendarRange(startmonth,endmonth, 'month'))
|
||||||
|
.filterDate(startyear, endyear)
|
||||||
|
.filterBounds(roi)
|
||||||
|
.map(maskL457sr)
|
||||||
|
.map(renameBandsTM)
|
||||||
|
.map(addVariables);
|
||||||
|
|
||||||
|
|
||||||
|
// Landat 8 surface reflection data, rename the band names. See USGS pages for more info
|
||||||
|
var L8coll = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
|
||||||
|
.filter(ee.Filter.calendarRange(startmonth,endmonth, 'month'))
|
||||||
|
.filterDate(startyear, endyear)
|
||||||
|
.filterBounds(roi)
|
||||||
|
.map(maskL8sr)
|
||||||
|
.map(renameBandsOLI)
|
||||||
|
.map(addVariables)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// merge L5, L7 & L8
|
||||||
|
var collection_merge = ee.ImageCollection(L5coll.merge(L7coll.merge(L8coll)));
|
||||||
|
print (collection_merge)
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Plot time series for an ROI
|
||||||
|
|
||||||
|
// Plot a time series of NDVI at a single location.
|
||||||
|
var l8Chart = ui.Chart.image.series(collection_merge.select('NDVI'), roi)
|
||||||
|
.setChartType('ScatterChart')
|
||||||
|
.setOptions({
|
||||||
|
title: 'Landsat NDVI time series at ROI',
|
||||||
|
trendlines: {0: {
|
||||||
|
color: 'CC0000'
|
||||||
|
}},
|
||||||
|
lineWidth: 1,
|
||||||
|
pointSize: 3,
|
||||||
|
});
|
||||||
|
print(l8Chart);
|
||||||
|
|
||||||
|
|
||||||
|
// Display the NDVI of the time series (mean, first image, last image)
|
||||||
|
Map.addLayer(collection_merge.select("NDVI").mean(),{min:0, max:1}, "Mean NDVI Landsat 8")
|
||||||
|
Map.addLayer(collection_merge.select("NDVI").first(),{min:0, max:1}, "Oldest image within time series")
|
||||||
|
Map.addLayer(collection_merge.sort("system:time_start",false).select("NDVI").first(),{min:0, max:1}, "Newest image within time series")
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Trend analysis
|
||||||
|
// Calculate the constant and gain of the linear regression of the NDVI on a per-pixel basis
|
||||||
|
|
||||||
|
Map.centerObject(roi, 11)
|
||||||
|
|
||||||
|
// List of the independent variable names
|
||||||
|
var independents = ee.List(['constant', 'gain']);
|
||||||
|
|
||||||
|
// Name of the dependent variable.
|
||||||
|
var dependent = ee.String('NDVI');
|
||||||
|
|
||||||
|
// Compute a linear trend. This will have two bands: 'residuals' and
|
||||||
|
// a 2x1 band called 'coefficients' (columns are for dependent variables).
|
||||||
|
var trend = collection_merge.select(independents.add(dependent))
|
||||||
|
.reduce(ee.Reducer.linearRegression(independents.length(), 1));
|
||||||
|
// Map.addLayer(trend, {}, 'trend array image');
|
||||||
|
|
||||||
|
// Flatten the coefficients into a 2-band image
|
||||||
|
var coefficients = trend.select('coefficients')
|
||||||
|
.arrayProject([0])
|
||||||
|
.arrayFlatten([independents]);
|
||||||
|
|
||||||
|
// Plot the two bands as gray scale
|
||||||
|
Map.addLayer(coefficients.select('gain'), {min:-0.01, max: 0.01}, "gain")
|
||||||
|
Map.addLayer(coefficients.select('constant'), {},"constant")
|
||||||
|
|
||||||
|
// Plot the two bands in a RGB-False colour Composite (positive trends = greenish, negative trends = reddish)
|
||||||
|
Map.addLayer(coefficients,
|
||||||
|
{min: 0, max: [-0.02, 0.02, 0.7], bands: ['gain', 'gain', 'constant']},
|
||||||
|
'Trend analysis')
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
//The Hansen et al. (2013) Global Forest Change dataset in Earth Engine represents
|
||||||
|
//forest change, at 30 meters resolution, globally, between 2000 and 2014. Let's start
|
||||||
|
//by adding the Hansen et al. data to the map. Import the global forest change
|
||||||
|
//data (learn more about searching and importing datasets) by searching for "Hansen forest"
|
||||||
|
//and naming the import gfc2014:
|
||||||
|
|
||||||
|
//Recall that when a multi-band image is added to a map, the first three bands of the
|
||||||
|
//image are chosen as red, green, and blue, respectively, and stretched according to the
|
||||||
|
//data type of each band. The reason the image looks red is that the first three bands
|
||||||
|
//are treecover2000, loss, and gain. The treecover2000 band is expressed as a percent
|
||||||
|
//and has values much higher than loss (green) and gain (blue) which are binary ({0, 1}).
|
||||||
|
//The image therefore displays as overwhelmingly red.
|
||||||
|
|
||||||
|
var gfc2014 = ee.Image("UMD/hansen/global_forest_change_2020_v1_8");
|
||||||
|
Map.addLayer(gfc2014);
|
||||||
|
|
||||||
|
//To display forest cover in the year 2000 as a grayscale image,
|
||||||
|
//you can use the treecover2000 band, specified in the second argument
|
||||||
|
//to Map.addLayer():
|
||||||
|
|
||||||
|
Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');
|
||||||
|
|
||||||
|
///
|
||||||
|
//Display the band that differentiates land surface and permanent water bodies.
|
||||||
|
// Set min and max in the display options!
|
||||||
|
Map.addLayer(gfc2014, {bands: ['datamask'], min:0, max:2}, 'datamask');
|
||||||
|
|
||||||
|
|
||||||
|
//Here's an image that uses 3 bands, Landsat bands 5, 4, and 3 for 2015.
|
||||||
|
// This band combination shows healthy vegetation as green and soil as mauve:
|
||||||
|
|
||||||
|
Map.addLayer(
|
||||||
|
gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');
|
||||||
|
|
||||||
|
|
||||||
|
//One nice visualization of the Global Forest Change dataset shows forest extent
|
||||||
|
//in 2000 as green, forest loss as red, and forest gain as blue.
|
||||||
|
//Specifically, make loss the first band (red), treecover2000 the second band (green),
|
||||||
|
//and gain the third band (blue):
|
||||||
|
Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');
|
||||||
|
|
||||||
|
|
||||||
|
//We'd like forest loss to show up as bright red and forest gain to show up as bright
|
||||||
|
//blue. To fix this, we can use the visualization parameter max to set the range to
|
||||||
|
//which the image data are stretched. Note that the max visualization parameter
|
||||||
|
//takes a list of values, corresponding to maxima for each band:
|
||||||
|
Map.addLayer(gfc2014, {
|
||||||
|
bands: ['loss', 'treecover2000', 'gain'],
|
||||||
|
max: [1, 255, 1]
|
||||||
|
}, 'forest cover, loss, gain');
|
||||||
|
|
||||||
|
|
||||||
|
/// Improve displaying tree cover (forest extent)
|
||||||
|
|
||||||
|
//Use a green palette to display the forest extent image:
|
||||||
|
Map.addLayer(gfc2014, {
|
||||||
|
bands: ['treecover2000'],
|
||||||
|
palette: ['000000', '00FF00']
|
||||||
|
}, 'forest cover palette');
|
||||||
|
|
||||||
|
//The image shown in Figure 8 is a bit dark. The problem is that the treecover2000
|
||||||
|
//band has a byte data type ([0, 255]), when in fact the values are precentages ([0, 100]).
|
||||||
|
//To brighten the image, you can set the min and/or max parameters accordingly.
|
||||||
|
// The palette is then stretched between those extrema.
|
||||||
|
Map.addLayer(gfc2014, {
|
||||||
|
bands: ['treecover2000'],
|
||||||
|
palette: ['000000', '00FF00'],
|
||||||
|
max: 100
|
||||||
|
}, 'forest cover percent');
|
||||||
|
|
||||||
|
//All of the images shown so far have had big black areas were there the data is zero.
|
||||||
|
//For example, there are no trees in the ocean. To make these areas transparent,
|
||||||
|
//you can mask their values. Every pixel in Earth Engine has both a value and a mask.
|
||||||
|
//The image is rendered with transparency set by the mask, with zero being completely
|
||||||
|
//transparent and one being completely opaque.
|
||||||
|
|
||||||
|
//You can mask an image with itself. For example, if you mask the treecover2000 band
|
||||||
|
//with itself, all the areas in which forest cover is zero will be transparent:
|
||||||
|
Map.addLayer(gfc2014.mask(gfc2014), {
|
||||||
|
bands: ['treecover2000'],
|
||||||
|
palette: ['000000', '00FF00'],
|
||||||
|
max: 100
|
||||||
|
}, 'forest cover masked');
|
||||||
|
|
||||||
|
//You can mask an image by a mask. For example, if you mask the treecover2000 band
|
||||||
|
//where all the values are unter 10%, i.e. you want to keep the areas that have at
|
||||||
|
//least 10% tree cover, all the areas in which forest cover is zero will be transparent:
|
||||||
|
var mask10 = gfc2014.select("treecover2000").gte(10)
|
||||||
|
|
||||||
|
Map.addLayer(gfc2014.mask(mask10), {
|
||||||
|
bands: ['treecover2000'],
|
||||||
|
palette: ['000000', '00FF00'],
|
||||||
|
min:0, max: 100
|
||||||
|
}, 'forest cover masked - >10%');
|
||||||
|
|
||||||
|
|
||||||
|
// The same as before but with a threshold of 30%.
|
||||||
|
var mask30 = gfc2014.select("treecover2000").gte(30)
|
||||||
|
|
||||||
|
Map.addLayer(gfc2014.mask(mask30), {
|
||||||
|
bands: ['treecover2000'],
|
||||||
|
palette: ['000000', '00FF00'],
|
||||||
|
min:0, max: 100
|
||||||
|
}, 'forest cover masked - >30%');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
//It's almost possible to make a visualization of the Hansen data like the one at the
|
||||||
|
//beginning of the tutorial. In this example, we're putting everything together
|
||||||
|
//with one small difference. Instead of specifying the bands parameter in the
|
||||||
|
//Map.addLayer call, we're creating new images using select():
|
||||||
|
var gfc2014 = ee.Image("UMD/hansen/global_forest_change_2020_v1_8");
|
||||||
|
|
||||||
|
|
||||||
|
var treeCover = gfc2014.select(['treecover2000']);
|
||||||
|
var lossImage = gfc2014.select(['loss']);
|
||||||
|
var gainImage = gfc2014.select(['gain']);
|
||||||
|
|
||||||
|
// Add the tree cover layer in green.
|
||||||
|
Map.addLayer(treeCover.updateMask(treeCover),
|
||||||
|
{palette: ['000000', '00FF00'], max: 100}, 'Forest Cover');
|
||||||
|
|
||||||
|
// Add the loss layer in red.
|
||||||
|
Map.addLayer(lossImage.updateMask(lossImage),
|
||||||
|
{palette: ['FF0000']}, 'Loss');
|
||||||
|
|
||||||
|
// Add the gain layer in blue.
|
||||||
|
Map.addLayer(gainImage.updateMask(gainImage),
|
||||||
|
{palette: ['0000FF']}, 'Gain');
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
//Let's start with the calculation needed to create a band that shows pixels
|
||||||
|
//where the Hansen et al. data show both loss and gain.
|
||||||
|
|
||||||
|
//The Hansen et al. dataset has a band whose pixels are 1 where loss occurred
|
||||||
|
//and 0 otherwise (loss) and a band that is 1 where gain has occurred and a 0 otherwise (gain).
|
||||||
|
//To create a band where pixels in both the loss and the gain bands have a 1,
|
||||||
|
//you can use the and() logical method on images. The and() method is called
|
||||||
|
//like image1.and(image2) and returns an image in which pixels are 1 where both
|
||||||
|
//image1 and image2 are 1, and 0 elsewhere:
|
||||||
|
// Load the data and select the bands of interest.
|
||||||
|
|
||||||
|
var gfc2014 = ee.Image("UMD/hansen/global_forest_change_2020_v1_8");
|
||||||
|
var lossImage = gfc2014.select(['loss']);
|
||||||
|
var gainImage = gfc2014.select(['gain']);
|
||||||
|
|
||||||
|
// Use the and() method to create the lossAndGain image.
|
||||||
|
var gainAndLoss = gainImage.and(lossImage);
|
||||||
|
|
||||||
|
// Show the loss and gain image.
|
||||||
|
Map.addLayer(gainAndLoss.updateMask(gainAndLoss),
|
||||||
|
{palette: 'FF00FF'}, 'Gain and Loss');
|
||||||
|
|
||||||
|
|
||||||
|
//Combining this example with the result from the previous section,
|
||||||
|
//it's now possible to recreate the figure from the beginning of the tutorial:
|
||||||
|
|
||||||
|
// Displaying forest, loss, gain, and pixels where both loss and gain occur.
|
||||||
|
var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
|
||||||
|
var lossImage = gfc2014.select(['loss']);
|
||||||
|
var gainImage = gfc2014.select(['gain']);
|
||||||
|
var treeCover = gfc2014.select(['treecover2000']);
|
||||||
|
|
||||||
|
// Use the and() method to create the lossAndGain image.
|
||||||
|
var gainAndLoss = gainImage.and(lossImage);
|
||||||
|
|
||||||
|
// Add the tree cover layer in green.
|
||||||
|
Map.addLayer(treeCover.updateMask(treeCover),
|
||||||
|
{palette: ['000000', '00FF00'], max: 100}, 'Forest Cover');
|
||||||
|
|
||||||
|
// Add the loss layer in red.
|
||||||
|
Map.addLayer(lossImage.updateMask(lossImage),
|
||||||
|
{palette: ['FF0000']}, 'Loss');
|
||||||
|
|
||||||
|
// Add the gain layer in blue.
|
||||||
|
Map.addLayer(gainImage.updateMask(gainImage),
|
||||||
|
{palette: ['0000FF']}, 'Gain');
|
||||||
|
|
||||||
|
// Show the loss and gain image.
|
||||||
|
Map.addLayer(gainAndLoss.updateMask(gainAndLoss),
|
||||||
|
{palette: 'FF00FF'}, 'Gain and Loss');
|
||||||
|
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
//Now that you're more familiar with the bands in the Hansen et al. dataset,
|
||||||
|
//we can use concepts learned so far to compute statistics about forest gain
|
||||||
|
//and loss in a region of interest. For this we'll need to use vector data
|
||||||
|
//(points, lines, and polygons). A vector dataset is represented as a
|
||||||
|
//FeatureCollection in Earth Engine. (Learn more about feature collections
|
||||||
|
//and how to import vector data.)
|
||||||
|
|
||||||
|
//In this section, we'll compare the total amount of forest loss that happened
|
||||||
|
//within the Republic of the Congo in the year 2012 to the amount of forest loss that
|
||||||
|
//happened within the country's protected areas at the same time.
|
||||||
|
|
||||||
|
//As you learned in the Earth Engine API tutorial, the key method for calculating
|
||||||
|
//statistics in an image region is reduceRegion(). (Learn more about reducing image
|
||||||
|
//regions.) For example, suppose we want to calculate the number of pixels estimated
|
||||||
|
//to represent forest loss during the study period. For that purpose, consider the
|
||||||
|
//following code.
|
||||||
|
|
||||||
|
|
||||||
|
//The example uses the ee.Reducer.sum() reducer to sum the values of the
|
||||||
|
//pixels in lossImage within the Republic of the Congo feature. Because lossImage consists
|
||||||
|
//of pixels that have a value of 1 or 0 (for loss or not loss, respectively),
|
||||||
|
//the sum of these values is equivalent to the number of pixels of loss in the
|
||||||
|
//region.
|
||||||
|
|
||||||
|
|
||||||
|
// Load country features from Large Scale International Boundary (LSIB) dataset.
|
||||||
|
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
|
||||||
|
|
||||||
|
// Subset the Republic of the Canada feature from countries.
|
||||||
|
var germany = countries.filter(ee.Filter.eq('country_na', 'Germany'));
|
||||||
|
|
||||||
|
// Get the forest loss image.
|
||||||
|
var gfc2014 = ee.Image("UMD/hansen/global_forest_change_2020_v1_8");
|
||||||
|
var lossImage = gfc2014.select(['loss']);
|
||||||
|
|
||||||
|
// Sum the values of forest loss pixels in Canada.
|
||||||
|
var stats = lossImage.reduceRegion({
|
||||||
|
reducer: ee.Reducer.sum(),
|
||||||
|
geometry: germany,
|
||||||
|
scale: 30,
|
||||||
|
maxPixels: 2e9
|
||||||
|
});
|
||||||
|
print(stats);
|
||||||
|
|
||||||
|
|
||||||
|
//By expanding the object printed to the console, observe that the
|
||||||
|
//result is 4897933 (in the original example!) pixels of forest lost. You can
|
||||||
|
//clean up the printout in the console a bit by labeling the output
|
||||||
|
//and getting the result of interest from the dictionary returned
|
||||||
|
//by reduceRegion():
|
||||||
|
|
||||||
|
print('pixels representing loss: ', stats.get('loss'));
|
||||||
|
|
||||||
|
|
||||||
|
//You're almost ready to answer the question of how much area was lost in
|
||||||
|
//the Republic of the Congo.
|
||||||
|
//The remaining part is to convert pixels into actual area. This conversion
|
||||||
|
//is important because we don't necessarily know the size of the pixels input
|
||||||
|
//to reduceRegion(). To help compute areas, Earth Engine has the ee.Image.pixelArea()
|
||||||
|
//method which generates an image in which the value of each pixel is the pixel's
|
||||||
|
//area in square meters. Multiplying the loss image with this area image and then
|
||||||
|
//summing over the result gives us a measure of area:
|
||||||
|
// Load country features from Large Scale International Boundary (LSIB) dataset.
|
||||||
|
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
|
||||||
|
|
||||||
|
// Subset Republic of the Congo feature from countries.
|
||||||
|
var germany = countries.filter(ee.Filter.eq('country_na', 'Germany'));
|
||||||
|
|
||||||
|
// Get the forest loss image.
|
||||||
|
//var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015'); //we did already open that one
|
||||||
|
var lossImage = gfc2014.select(['loss']);
|
||||||
|
var areaImage = lossImage.multiply(ee.Image.pixelArea()).divide(1000000);
|
||||||
|
|
||||||
|
|
||||||
|
// Sum the values of forest loss pixels in Canada.
|
||||||
|
var stats = areaImage.reduceRegion({
|
||||||
|
reducer: ee.Reducer.sum(),
|
||||||
|
geometry: germany,
|
||||||
|
scale: 30,
|
||||||
|
maxPixels: 2e9
|
||||||
|
});
|
||||||
|
|
||||||
|
print('pixels representing loss: ', stats.get('loss'), 'square km');
|
||||||
|
|
||||||
|
|
||||||
|
//You are now ready to answer the question at the start of this section - how
|
||||||
|
//much forest area was lost in the Republic of the Congo in 2012, and how much of that
|
||||||
|
//was in protected areas? Have a look in the next script.
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
//You are now ready to answer the question at the start of this
|
||||||
|
//section - how much forest area was lost in the Republic of the Congo in
|
||||||
|
//2012, and how much of that was in protected areas?
|
||||||
|
|
||||||
|
// Load country features from Large Scale International Boundary (LSIB) dataset.
|
||||||
|
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
|
||||||
|
|
||||||
|
// Subset the Congo Republic feature from countries.
|
||||||
|
var congo = ee.Feature(
|
||||||
|
countries
|
||||||
|
.filter(ee.Filter.eq('country_na', 'Rep of the Congo'))
|
||||||
|
.first()
|
||||||
|
);
|
||||||
|
|
||||||
|
// Subset protected areas to the bounds of the feature of the Republic of the Congo
|
||||||
|
// and other criteria. Clip to the intersection with the Republic of the Congo.
|
||||||
|
var protectedAreas = ee.FeatureCollection('WCMC/WDPA/current/polygons')
|
||||||
|
.filter(ee.Filter.and(
|
||||||
|
ee.Filter.bounds(congo.geometry()),
|
||||||
|
ee.Filter.neq('IUCN_CAT', 'VI'),
|
||||||
|
ee.Filter.neq('STATUS', 'proposed'),
|
||||||
|
ee.Filter.lt('STATUS_YR', 2010)
|
||||||
|
))
|
||||||
|
.map(function(feat){
|
||||||
|
return congo.intersection(feat);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Get the loss image.
|
||||||
|
var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
|
||||||
|
var lossIn2012 = gfc2014.select(['lossyear']).eq(12);
|
||||||
|
var areaImage = lossIn2012.multiply(ee.Image.pixelArea());
|
||||||
|
|
||||||
|
// Calculate the area of loss pixels in the Republic of the Congo.
|
||||||
|
var stats = areaImage.reduceRegion({
|
||||||
|
reducer: ee.Reducer.sum(),
|
||||||
|
geometry: congo.geometry(),
|
||||||
|
scale: 30,
|
||||||
|
maxPixels: 1e9
|
||||||
|
});
|
||||||
|
|
||||||
|
print(
|
||||||
|
'Area lost in the Republic of the Congo:',
|
||||||
|
stats.get('lossyear'),
|
||||||
|
'square meters'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Calculate the area of loss pixels in the protected areas.
|
||||||
|
var stats2 = areaImage.reduceRegion({
|
||||||
|
reducer: ee.Reducer.sum(),
|
||||||
|
geometry: protectedAreas.geometry(),
|
||||||
|
scale: 30,
|
||||||
|
maxPixels: 2e9
|
||||||
|
});
|
||||||
|
|
||||||
|
print(
|
||||||
|
'Area lost in protected areas:',
|
||||||
|
stats2.get('lossyear'),
|
||||||
|
'square meters'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//The only changes between this script and the one just prior are the
|
||||||
|
//addition of the protected area information and changing the script
|
||||||
|
//from looking at overall loss to looking at loss in 2012. This required
|
||||||
|
//two changes. First, there's a new lossIn2012 image which has a 1 where loss
|
||||||
|
//was recorded in 2012, 0 otherwise. Second, because the name of the band is different
|
||||||
|
//(lossyear instead of loss) the property name had to change in the print statement.
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
//In the previous section you learned how to calculate total forest area lost in
|
||||||
|
//the given region of interest using the reduceRegion method. Instead of
|
||||||
|
//calculating the total loss, it would be helpful to compute the loss for
|
||||||
|
//each year. The way to achieve this in Earth Engine is using a Grouped Reducer.
|
||||||
|
|
||||||
|
//To group output of reduceRegion(), you can specify a grouping band that
|
||||||
|
//defines groups by integer pixel values. In the following example, we
|
||||||
|
//slightly modify the previous code and add the lossYear band to the original
|
||||||
|
//image. Each pixel in the lossYear band contain values from 0 to 14 - indicating
|
||||||
|
//the year in which the loss occurred. We also change the reducer to a grouped
|
||||||
|
//reducer, specifying the band index of the grouping band (1) so the pixel
|
||||||
|
//areas will be summed and grouped according to the value in the lossYear band.
|
||||||
|
|
||||||
|
// Load country boundaries from LSIB.
|
||||||
|
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
|
||||||
|
// Get a feature collection with just the feature of the Republic of the Congo.
|
||||||
|
var congo = countries.filter(ee.Filter.eq('country_na', 'Germany'));
|
||||||
|
|
||||||
|
// Get the loss image.
|
||||||
|
// This dataset is updated yearly, so we get the latest version.
|
||||||
|
var gfc2017 = ee.Image("UMD/hansen/global_forest_change_2020_v1_8");
|
||||||
|
var lossImage = gfc2017.select(['loss']);
|
||||||
|
var lossAreaImage = lossImage.multiply(ee.Image.pixelArea());
|
||||||
|
|
||||||
|
var lossYear = gfc2017.select(['lossyear']);
|
||||||
|
var lossByYear = lossAreaImage.addBands(lossYear).reduceRegion({
|
||||||
|
reducer: ee.Reducer.sum().group({
|
||||||
|
groupField: 1
|
||||||
|
}),
|
||||||
|
geometry: congo,
|
||||||
|
scale: 30,
|
||||||
|
maxPixels: 1e10
|
||||||
|
});
|
||||||
|
print(lossByYear);
|
||||||
|
|
||||||
|
//Once you run the above code, you will see the yearly forest
|
||||||
|
//loss area printed out in a nested list called groups. We can format
|
||||||
|
//the output a little to make the result a dictionary, with year as the
|
||||||
|
//key and loss area as the value. Notice that we are using the format()
|
||||||
|
//method to convert the year values from 0-14 to 2000-2014.
|
||||||
|
|
||||||
|
var statsFormatted = ee.List(lossByYear.get('groups'))
|
||||||
|
.map(function(el) {
|
||||||
|
var d = ee.Dictionary(el);
|
||||||
|
return [ee.Number(d.get('group')).format("20%02d"), d.get('sum')];
|
||||||
|
});
|
||||||
|
var statsDictionary = ee.Dictionary(statsFormatted.flatten());
|
||||||
|
print(statsDictionary);
|
||||||
|
|
||||||
|
//Now that we have yearly loss numbers, we are ready to prepare a chart.
|
||||||
|
//We will use the ui.Chart.array.values() method. This method takes an array
|
||||||
|
//(or list) of input values and an array (or list) of labels for the X-axis.
|
||||||
|
var chart = ui.Chart.array.values({
|
||||||
|
array: statsDictionary.values(),
|
||||||
|
axis: 0,
|
||||||
|
xLabels: statsDictionary.keys()
|
||||||
|
}).setChartType('ColumnChart')
|
||||||
|
.setOptions({
|
||||||
|
title: 'Yearly Forest Loss in Germany',
|
||||||
|
hAxis: {title: 'Year', format: '####'},
|
||||||
|
vAxis: {title: 'Area (square meters)'},
|
||||||
|
legend: { position: "none" },
|
||||||
|
lineWidth: 1,
|
||||||
|
pointSize: 3
|
||||||
|
});
|
||||||
|
print(chart);
|
||||||
|
|
||||||
|
// This is how you can add a vector layer to the map view.
|
||||||
|
Map.addLayer(congo, {color: 'FF0000'}, 'Germany');
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
// Draws a pyramid using iteration
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void draw(int n);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Get height of pyramid
|
||||||
|
int height = get_int("Height: ");
|
||||||
|
|
||||||
|
// Draw pyramid
|
||||||
|
draw(height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw(int n)
|
||||||
|
{
|
||||||
|
// Draw pyramid of height n
|
||||||
|
for (int i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < i + 1; j++)
|
||||||
|
{
|
||||||
|
printf("#");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
// Implements a phone book without structs
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Arrays of strings
|
||||||
|
string names[] = {"Carter", "David"};
|
||||||
|
string numbers[] = {"+1-617-495-1000", "+1-949-468-2750"};
|
||||||
|
|
||||||
|
// Search for name
|
||||||
|
string name = get_string("Name: ");
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
if (strcmp(names[i], name) == 0)
|
||||||
|
{
|
||||||
|
printf("Found %s\n", numbers[i]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("Not found\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
// Implements a phone book with structs
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
string name;
|
||||||
|
string number;
|
||||||
|
}
|
||||||
|
person;
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
person people[2];
|
||||||
|
|
||||||
|
people[0].name = "Carter";
|
||||||
|
people[0].number = "+1-617-495-1000";
|
||||||
|
|
||||||
|
people[1].name = "David";
|
||||||
|
people[1].number = "+1-949-468-2750";
|
||||||
|
|
||||||
|
// Search for name
|
||||||
|
string name = get_string("Name: ");
|
||||||
|
for (int i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
if (strcmp(people[i].name, name) == 0)
|
||||||
|
{
|
||||||
|
printf("Found %s\n", people[i].number);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("Not found\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// Draws a pyramid (incorrectly) using recursion,
|
||||||
|
// must be compiled with -Wno-infinite-recursion
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void draw(int n);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
draw(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw(int n)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
printf("#");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
draw(n + 1);
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Draws a pyramid using recursion
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
void draw(int n);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Get height of pyramid
|
||||||
|
int height = get_int("Height: ");
|
||||||
|
|
||||||
|
// Draw pyramid
|
||||||
|
draw(height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw(int n)
|
||||||
|
{
|
||||||
|
// If nothing to draw
|
||||||
|
if (n <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw pyramid of height n - 1
|
||||||
|
draw(n - 1);
|
||||||
|
|
||||||
|
// Draw one more row of width n
|
||||||
|
for (int i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
printf("#");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// Implements linear search for integers
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// An array of integers
|
||||||
|
int numbers[] = {20, 500, 10, 5, 100, 1, 50};
|
||||||
|
|
||||||
|
// Search for number
|
||||||
|
int n = get_int("Number: ");
|
||||||
|
for (int i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
if (numbers[i] == n)
|
||||||
|
{
|
||||||
|
printf("Found\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("Not found\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
// Implements linear search for strings
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// An array of strings
|
||||||
|
string strings[] = {"battleship", "boot", "cannon", "iron", "thimble", "top hat"};
|
||||||
|
|
||||||
|
// Search for string
|
||||||
|
string s = get_string("String: ");
|
||||||
|
for (int i = 0; i < 6; i++)
|
||||||
|
{
|
||||||
|
if (strcmp(strings[i], s) == 0)
|
||||||
|
{
|
||||||
|
printf("Found\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("Not found\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
// Max number of candidates
|
||||||
|
#define MAX 9
|
||||||
|
|
||||||
|
// Candidates have name and vote count
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
string name;
|
||||||
|
int votes;
|
||||||
|
}
|
||||||
|
candidate;
|
||||||
|
|
||||||
|
// Array of candidates
|
||||||
|
candidate candidates[MAX];
|
||||||
|
|
||||||
|
// Number of candidates
|
||||||
|
int candidate_count;
|
||||||
|
|
||||||
|
// Function prototypes
|
||||||
|
bool vote(string name);
|
||||||
|
void print_winner(void);
|
||||||
|
|
||||||
|
int main(int argc, string argv[])
|
||||||
|
{
|
||||||
|
// Check for invalid usage
|
||||||
|
if (argc < 2)
|
||||||
|
{
|
||||||
|
printf("Usage: plurality [candidate ...]\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate array of candidates
|
||||||
|
candidate_count = argc - 1;
|
||||||
|
if (candidate_count > MAX)
|
||||||
|
{
|
||||||
|
printf("Maximum number of candidates is %i\n", MAX);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
candidates[i].name = argv[i + 1];
|
||||||
|
candidates[i].votes = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int voter_count = get_int("Number of voters: ");
|
||||||
|
|
||||||
|
// Loop over all voters
|
||||||
|
for (int i = 0; i < voter_count; i++)
|
||||||
|
{
|
||||||
|
string name = get_string("Vote: ");
|
||||||
|
|
||||||
|
// Check for invalid vote
|
||||||
|
if (!vote(name))
|
||||||
|
{
|
||||||
|
printf("Invalid vote.\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display winner of election
|
||||||
|
print_winner();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update vote totals given a new vote
|
||||||
|
bool vote(string name)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (strcmp(candidates[i].name, name) == 0)
|
||||||
|
{
|
||||||
|
candidates[i].votes += 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print the winner (or winners) of the election
|
||||||
|
void print_winner(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
int winner = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (candidates[i].votes > winner)
|
||||||
|
{
|
||||||
|
winner = candidates[i].votes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (candidates[i].votes == winner)
|
||||||
|
{
|
||||||
|
printf("%s\n", candidates[i].name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
@@ -0,0 +1,227 @@
|
|||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
// Max voters and candidates
|
||||||
|
#define MAX_VOTERS 100
|
||||||
|
#define MAX_CANDIDATES 9
|
||||||
|
|
||||||
|
// preferences[i][j], j is the preference for voter i
|
||||||
|
int preferences[MAX_VOTERS][MAX_CANDIDATES];
|
||||||
|
|
||||||
|
// Candidates have name, vote count, eliminated status
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
string name;
|
||||||
|
int votes;
|
||||||
|
bool eliminated;
|
||||||
|
}
|
||||||
|
candidate;
|
||||||
|
|
||||||
|
// Array of candidates
|
||||||
|
candidate candidates[MAX_CANDIDATES];
|
||||||
|
|
||||||
|
// Numbers of voters and candidates
|
||||||
|
int voter_count;
|
||||||
|
int candidate_count;
|
||||||
|
|
||||||
|
// Function prototypes
|
||||||
|
bool vote(int voter, int rank, string name);
|
||||||
|
void tabulate(void);
|
||||||
|
bool print_winner(void);
|
||||||
|
int find_min(void);
|
||||||
|
bool is_tie(int min);
|
||||||
|
void eliminate(int min);
|
||||||
|
|
||||||
|
int main(int argc, string argv[])
|
||||||
|
{
|
||||||
|
// Check for invalid usage
|
||||||
|
if (argc < 2)
|
||||||
|
{
|
||||||
|
printf("Usage: runoff [candidate ...]\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Populate array of candidates
|
||||||
|
candidate_count = argc - 1;
|
||||||
|
if (candidate_count > MAX_CANDIDATES)
|
||||||
|
{
|
||||||
|
printf("Maximum number of candidates is %i\n", MAX_CANDIDATES);
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
candidates[i].name = argv[i + 1];
|
||||||
|
candidates[i].votes = 0;
|
||||||
|
candidates[i].eliminated = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
voter_count = get_int("Number of voters: ");
|
||||||
|
if (voter_count > MAX_VOTERS)
|
||||||
|
{
|
||||||
|
printf("Maximum number of voters is %i\n", MAX_VOTERS);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keep querying for votes
|
||||||
|
for (int i = 0; i < voter_count; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
// Query for each rank
|
||||||
|
for (int j = 0; j < candidate_count; j++)
|
||||||
|
{
|
||||||
|
string name = get_string("Rank %i: ", j + 1);
|
||||||
|
|
||||||
|
// Record vote, unless it's invalid
|
||||||
|
if (!vote(i, j, name))
|
||||||
|
{
|
||||||
|
printf("Invalid vote.\n");
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keep holding runoffs until winner exists
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
// Calculate votes given remaining candidates
|
||||||
|
tabulate();
|
||||||
|
|
||||||
|
// Check if election has been won
|
||||||
|
bool won = print_winner();
|
||||||
|
if (won)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eliminate last-place candidates
|
||||||
|
int min = find_min();
|
||||||
|
bool tie = is_tie(min);
|
||||||
|
|
||||||
|
// If tie, everyone wins
|
||||||
|
if (tie)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (!candidates[i].eliminated)
|
||||||
|
{
|
||||||
|
printf("%s\n", candidates[i].name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eliminate anyone with minimum number of votes
|
||||||
|
eliminate(min);
|
||||||
|
|
||||||
|
// Reset vote counts back to zero
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
candidates[i].votes = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Record preference if vote is valid
|
||||||
|
bool vote(int voter, int rank, string name)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (strcmp(candidates[i].name, name) == 0)
|
||||||
|
{
|
||||||
|
preferences[voter][rank] = i;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tabulate votes for non-eliminated candidates
|
||||||
|
void tabulate(void)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < voter_count; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < candidate_count; j++)
|
||||||
|
{
|
||||||
|
if (preferences[i][0] == j && candidates[j].eliminated == false)
|
||||||
|
{
|
||||||
|
candidates[j].votes += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print the winner of the election, if there is one
|
||||||
|
bool print_winner(void)
|
||||||
|
{
|
||||||
|
int winner = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (candidates[i].votes > winner)
|
||||||
|
{
|
||||||
|
winner = candidates[i].votes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (candidates[i].votes == winner && candidates[i].votes > (voter_count / 2))
|
||||||
|
{
|
||||||
|
printf("%s\n", candidates[i].name);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the minimum number of votes any remaining candidate has
|
||||||
|
int find_min(void)
|
||||||
|
{
|
||||||
|
int min = voter_count;
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if ( candidates[i].votes < min && candidates[i].eliminated == false)
|
||||||
|
{
|
||||||
|
min = candidates[i].votes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return true if the election is tied between all candidates, false otherwise
|
||||||
|
bool is_tie(int min)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (candidates[i].votes > min && candidates[i].eliminated == false)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eliminate the candidate (or candidates) in last place
|
||||||
|
void eliminate(int min)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < candidate_count; i++)
|
||||||
|
{
|
||||||
|
if (candidates[i].votes <= min && candidates[i].eliminated == false)
|
||||||
|
{
|
||||||
|
candidates[i].eliminated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sort1 uses: Bubble sort
|
||||||
|
|
||||||
|
How do you know?: Significant faster than sort3 with a sorted list.
|
||||||
|
|
||||||
|
sort2 uses: Merge sort
|
||||||
|
|
||||||
|
How do you know?: Fastest in all Tests.
|
||||||
|
|
||||||
|
sort3 uses: Selection sort
|
||||||
|
|
||||||
|
How do you know?: Is not Bubble or Merge sort.
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
|||||||
|
n = 50000
|
||||||
|
|
||||||
|
random:
|
||||||
|
sort1: 8,250s
|
||||||
|
*sort2: 0,989s
|
||||||
|
sort3: 4,138s
|
||||||
|
|
||||||
|
reversed:
|
||||||
|
sort1: 6,467s
|
||||||
|
*sort2: 0,902s
|
||||||
|
sort3: 4,331s
|
||||||
|
|
||||||
|
sorted:
|
||||||
|
sort1: 0,566s
|
||||||
|
*sort2: 0,466s
|
||||||
|
sort3: 3,641s
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
// Explicitly casts chars to ints
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("String: ");
|
||||||
|
for (int i = 0; i < strlen(s); i++)
|
||||||
|
{
|
||||||
|
int c = (int) s[i];
|
||||||
|
printf("%c %i\n", s[i], c);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Implicitly casts chars to ints
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("String: ");
|
||||||
|
for (int i = 0; i < strlen(s); i++)
|
||||||
|
{
|
||||||
|
printf("%c %i\n", s[i], s[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// Buggy example for printf
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
for (int i = 0; i <= 3; i++)
|
||||||
|
{
|
||||||
|
printf("#\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
// Buggy example for debug50
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int get_negative_int(void);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
int i = get_negative_int();
|
||||||
|
printf("%i\n", i);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prompt user for positive integer
|
||||||
|
int get_negative_int(void)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
n = get_int("Negative Integer: ");
|
||||||
|
}
|
||||||
|
while (n < 0);
|
||||||
|
return n;
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Uses get_string
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string answer = get_string("What's your name? ");
|
||||||
|
printf("hello, %s\n", answer);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Uses get_string with better-named variable
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string name = get_string("What's your name? ");
|
||||||
|
printf("hello, %s\n", name);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Prints a command-line argument
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(int argc, string argv[])
|
||||||
|
{
|
||||||
|
if (argc == 2)
|
||||||
|
{
|
||||||
|
printf("hello, %s\n", argv[1]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("hello, world\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Prints command-line arguments
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(int argc, string argv[])
|
||||||
|
{
|
||||||
|
for (int i = 0; i < argc; i++)
|
||||||
|
{
|
||||||
|
printf("%s\n", argv[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
printf("hello, world\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string name = get_string("What's your name? ");
|
||||||
|
printf("hello, %s\n", name);
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Prints chars
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
char c1 = 'H';
|
||||||
|
char c2 = 'I';
|
||||||
|
char c3 = '!';
|
||||||
|
|
||||||
|
printf("%c%c%c\n", c1, c2, c3);
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
// Prints chars' ASCII codes
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
char c1 = 'H';
|
||||||
|
char c2 = 'I';
|
||||||
|
char c3 = '!';
|
||||||
|
|
||||||
|
printf("%i %i %i\n", c1, c2, c3);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Prints string
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = "HI!";
|
||||||
|
printf("%s\n", s);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Prints string's ASCII codes
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = "HI!";
|
||||||
|
printf("%i %i %i\n", s[0], s[1], s[2]);
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// Prints string's ASCII codes, including NUL
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = "HI!";
|
||||||
|
printf("%i %i %i %i\n", s[0], s[1], s[2], s[3]);
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// Multiple strings
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = "HI!";
|
||||||
|
string t = "BYE!";
|
||||||
|
|
||||||
|
printf("%s\n", s);
|
||||||
|
printf("%s\n", t);
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
// Array of strings
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string words[2];
|
||||||
|
|
||||||
|
words[0] = "HI!";
|
||||||
|
words[1] = "BYE!";
|
||||||
|
|
||||||
|
printf("%s\n", words[0]);
|
||||||
|
printf("%s\n", words[1]);
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string words[2];
|
||||||
|
|
||||||
|
words[0] = "HI!";
|
||||||
|
words[1] = "BYE!";
|
||||||
|
|
||||||
|
printf("%c%c%c\n", words[0][0], words[0][1], words[0][2]);
|
||||||
|
printf("%c%c%c%c\n", words[1][0], words[1][1], words[1][2], words[1][3]);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// Determines the length of a string
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Prompt for user's name
|
||||||
|
string name = get_string("Name: ");
|
||||||
|
|
||||||
|
// Count number of characters up until '\0' (aka NUL)
|
||||||
|
int n = 0;
|
||||||
|
while (name[n] != '\0')
|
||||||
|
{
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
printf("%i\n", n);
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
// Determines the length of a string using a function
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int string_length(string s);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Prompt for user's name
|
||||||
|
string name = get_string("Name: ");
|
||||||
|
int length = string_length(name);
|
||||||
|
printf("%i\n", length);
|
||||||
|
}
|
||||||
|
|
||||||
|
int string_length(string s)
|
||||||
|
{
|
||||||
|
// Count number of characters up until '\0' (aka NUL)
|
||||||
|
int n = 0;
|
||||||
|
while (s[n] != '\0')
|
||||||
|
{
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// Determines the length of a string using a function
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Prompt for user's name
|
||||||
|
string name = get_string("Name: ");
|
||||||
|
int length = strlen(name);
|
||||||
|
printf("%i\n", length);
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Averages three (hardcoded) numbers
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Scores
|
||||||
|
int score1 = 72;
|
||||||
|
int score2 = 73;
|
||||||
|
int score3 = 33;
|
||||||
|
|
||||||
|
// Print average
|
||||||
|
printf("Average: %f\n", (score1 + score2 + score3) / 3.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Averages three (hardcoded) numbers using an array
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Scores
|
||||||
|
int scores[3];
|
||||||
|
scores[0] = 72;
|
||||||
|
scores[1] = 73;
|
||||||
|
scores[2] = 33;
|
||||||
|
|
||||||
|
// Print average
|
||||||
|
printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Averages three numbers using an array
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Get scores
|
||||||
|
int scores[3];
|
||||||
|
scores[0] = get_int("Score: ");
|
||||||
|
scores[1] = get_int("Score: ");
|
||||||
|
scores[2] = get_int("Score: ");
|
||||||
|
|
||||||
|
// Print average
|
||||||
|
printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
// Averages three numbers using an array and a loop
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Get scores
|
||||||
|
int scores[3];
|
||||||
|
for (int i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
scores[i] = get_int("Score: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print average
|
||||||
|
printf("Average: %f\n", (scores[0] + scores[1] + scores[2]) / 3.0);
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
// Averages three numbers using an array, a constant, and a helper function
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Constant
|
||||||
|
const int N = 3;
|
||||||
|
|
||||||
|
// Prototype
|
||||||
|
float average(int length, int array[]);
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
// Get scores
|
||||||
|
int scores[N];
|
||||||
|
for (int i = 0; i < N; i++)
|
||||||
|
{
|
||||||
|
scores[i] = get_int("Score: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print average
|
||||||
|
printf("Average: %f\n", average(N, scores));
|
||||||
|
}
|
||||||
|
|
||||||
|
float average(int length, int array[])
|
||||||
|
{
|
||||||
|
// Calculate average
|
||||||
|
int sum = 0;
|
||||||
|
for (int i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
sum += array[i];
|
||||||
|
}
|
||||||
|
return sum / (float) length;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
// Returns explicit value from main
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(int argc, string argv[])
|
||||||
|
{
|
||||||
|
if (argc != 2)
|
||||||
|
{
|
||||||
|
printf("Missing command-line argument\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
printf("hello, %s\n", argv[1]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Prints string char by char, using strlen
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("Input: ");
|
||||||
|
printf("Output: ");
|
||||||
|
for (int i = 0; i < strlen(s); i++)
|
||||||
|
{
|
||||||
|
printf("%c", s[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// Prints string char by char, using strlen, remembering string's length
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("Input: ");
|
||||||
|
printf("Output: ");
|
||||||
|
for (int i = 0, n = strlen(s); i < n; i++)
|
||||||
|
{
|
||||||
|
printf("%c", s[i]);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// Uppercases a string
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("Before: ");
|
||||||
|
printf("After: ");
|
||||||
|
for (int i = 0, n = strlen(s); i < n; i++)
|
||||||
|
{
|
||||||
|
if (s[i] >= 'a' && s[i] <= 'z')
|
||||||
|
{
|
||||||
|
printf("%c", s[i] - 32);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("%c", s[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
// Uppercases string using ctype library (and an unnecessary condition)
|
||||||
|
|
||||||
|
#include <cs50.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
string s = get_string("Before: ");
|
||||||
|
printf("After: ");
|
||||||
|
for (int i = 0, n = strlen(s); i < n; i++)
|
||||||
|
{
|
||||||
|
if (islower(s[i]))
|
||||||
|
{
|
||||||
|
printf("%c", toupper(s[i]));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("%c", s[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user