diff --git a/lec03.Rmd b/lec03.Rmd new file mode 100644 index 0000000..a112032 --- /dev/null +++ b/lec03.Rmd @@ -0,0 +1,118 @@ +--- +title: "Location Based Services" +author: "Erik Neller" +date: "`r Sys.Date()`" +output: pdf_document +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) +rm(list=ls()) +``` +# Data Info +- GPST: Timestamp +- latitude/longitude/height: Position estimates. +- Q: Quality indicator (e.g., 5 = single-point positioning). +- ns: Number of satellites used +- sdn/sde/sdu: Standard deviations (North, East, Up) +- sdne/sdeu/sdun: Combined standard deviations + + + +```{r echo=FALSE} +library(DataExplorer) +library(sf) +library(lubridate) +earthrad <- 6378137 +d <- read.csv('rec.csv',header = FALSE, sep='',skip=15) + +doy <- yday(d$V1) +res1 <- ymd_hms(paste(d$V1,d$V2, sep=' ')) +hour <- hour(res1) +min <- minute(res1) +sec <- second(res1) + +timer <- doy + hour/24 + min/(24*60) + sec/(24*3600) +# calculate the error of lat lon elevation +latitude <- (d$V3 + 12.843697222222223)*earthrad*pi/180 +longitude <- (d$V4 - 131.13274444444443)*earthrad*pi/180 +height <- d$V5 - 125.1 +df <- as.data.frame(cbind(longitude, latitude, height)) +``` +# Error Plot +```{r echo=FALSE} +plot(timer, latitude, type='l', col = 'red', + ylim = c(min(latitude, longitude,height), + max(latitude, longitude,height)), + xlab='time [day in 2015]',ylab='errors [m]') +lines(timer, longitude, col= 'dark green') +lines(timer, height, col= 'blue') +legend('topright', legend=c('latitude', 'longitude','height'), + col=c('red','dark green', 'blue'), lty=1:1, cex=0.8, + box.lty=0) + +``` +# Error Summary +```{r} +summary(latitude) +summary(longitude) +summary(height) +``` + +# Tests +```{r} +shapiro.test(latitude) +ks.test(latitude, 'pnorm') + +shapiro.test(longitude) +ks.test(longitude, 'pnorm') + +shapiro.test(height) +ks.test(height, 'pnorm') + +ks.test(latitude, 'pnorm') +``` +Both SW and KS Test suggest that the errors do not follow a normal distribution which is supported by visual inspection: + +```{r visualerr} +library(ggplot2) + ggplot(df, aes(x = latitude)) + + geom_histogram(bins = 30, fill = "blue", alpha = 0.7) + + ggtitle("Distribution of Latitude Error") + + xlab("Error (m)") + + ylab("Frequency") + +ggplot(df, aes(x = longitude)) + + geom_histogram(bins = 30, fill = "green", alpha = 0.7) + + ggtitle("Distribution of Longitude Error") + + xlab("Error (m)") + + ylab("Frequency") + +ggplot(df, aes(x = height)) + + geom_histogram(bins = 30, fill = "red", alpha = 0.7) + + ggtitle("Distribution of Height Error") + + xlab("Error (m)") + + ylab("Frequency") +``` +```{r} +var.test(latitude, longitude) +cor.test(latitude, longitude) + +var.test(height, longitude) +cor.test(height, longitude) + +var.test(latitude, height) +cor.test(latitude, height) + + + + + +``` +Variances of the samples are not equal and not similar. +However, the correlation of latitude and height is highly correlated, suggesting a linear relationship. +# Grouping by numsatellites +```{r numsatellites} +d_split <- split(d,d$V7) +summary(d_split) +``` \ No newline at end of file