This function builds the most probable GPS coordinates of the plot corners from multiple GPS measurements.
Usage
correctCoordGPS(
longlat = NULL,
projCoord = NULL,
coordRel,
rangeX,
rangeY,
maxDist = 15,
drawPlot = FALSE,
rmOutliers = TRUE
)
Arguments
- longlat
(optional) data frame with the coordinate in longitude latitude (eg. cbind(longitude, latitude)).
- projCoord
(optional) data frame with the projected coordinate in X Y
- coordRel
data frame with the relative coordinate in the same order than the longlat or projCoord
- rangeX
a vector of length 2 giving the range for plot relative X coordinates
- rangeY
a vector of length 2 giving the range for plot relative Y coordinates
- maxDist
a numeric giving the maximum distance above which GPS measurements should be considered as outliers (by default 15 m)
- drawPlot
a logical if you want to display a graphical representation
- rmOutliers
a logical if you want to remove the outliers from coordinates calculation
Value
If there are no outliers or rmOutliers = TRUE, a list with:
cornerCoords
: a data.frame with the coordinates of the cornerscorrectedCoord
: a data.frame with the adjusted coordinates given as inputpolygon
: a spatial polygonoutliers
: index of coordinates lines considered as outliers, if anycodeUTM
: the UTM code of the coordinates if the parameterlonglat
is set
Details
GPS coordinates should be either given in longitude latitude (longlat) or in projected coordinates (projCoord)
Examples
projCoord <- data.frame(
X = c(
runif(5, min = 9, max = 11), runif(5, min = 8, max = 12),
runif(5, min = 80, max = 120), runif(5, min = 90, max = 110)
),
Y = c(
runif(5, min = 9, max = 11), runif(5, min = 80, max = 120),
runif(5, min = 8, max = 12), runif(5, min = 90, max = 110)
)
)
projCoord <- projCoord + 1000
coordRel <- data.frame(
X = c(rep(0, 10), rep(100, 10)),
Y = c(rep(c(rep(0, 5), rep(100, 5)), 2))
)
aa <- correctCoordGPS(
projCoord = projCoord, coordRel = coordRel,
rangeX = c(0, 100), rangeY = c(0, 100)
)
#> Warning: This function still work but will be removed (defunct) and replaced by checkCoordPlot in the next version. Please see VIGNETTENAME? vignette
#> Warning: longer object length is not a multiple of shorter object length
#> Warning: longer object length is not a multiple of shorter object length
bb <- correctCoordGPS(
projCoord = projCoord, coordRel = coordRel,
rangeX = c(0, 100), rangeY = c(0, 100), rmOutliers = TRUE
)
#> Warning: This function still work but will be removed (defunct) and replaced by checkCoordPlot in the next version. Please see VIGNETTENAME? vignette
#> Warning: longer object length is not a multiple of shorter object length
#> Warning: longer object length is not a multiple of shorter object length
#> Warning: calling par(new=TRUE) with no plot
# \donttest{
correctCoordGPS(
projCoord = projCoord, coordRel = coordRel,
rangeX = c(0, 100), rangeY = c(0, 100), drawPlot = TRUE
)
#> Warning: This function still work but will be removed (defunct) and replaced by checkCoordPlot in the next version. Please see VIGNETTENAME? vignette
#> Warning: longer object length is not a multiple of shorter object length
#> Warning: longer object length is not a multiple of shorter object length
#> $cornerCoords
#> X Y
#> 1 1008.039 1006.996
#> 2 1108.030 1005.645
#> 3 1109.381 1105.636
#> 4 1009.390 1106.987
#>
#> $correctedCoord
#> X Y
#> 1 1008.039 1006.996
#> 2 1008.039 1006.996
#> 3 1008.039 1006.996
#> 4 1008.039 1006.996
#> 5 1008.039 1006.996
#> 6 1009.390 1106.987
#> 7 1009.390 1106.987
#> 8 1009.390 1106.987
#> 9 1009.390 1106.987
#> 10 1009.390 1106.987
#> 11 1108.030 1005.645
#> 12 1108.030 1005.645
#> 13 1108.030 1005.645
#> 14 1108.030 1005.645
#> 15 1108.030 1005.645
#> 16 1109.381 1105.636
#> 17 1109.381 1105.636
#> 18 1109.381 1105.636
#> 19 1109.381 1105.636
#> 20 1109.381 1105.636
#>
#> $polygon
#> Geometry set for 1 feature
#> Geometry type: POLYGON
#> Dimension: XY
#> Bounding box: xmin: 1008.039 ymin: 1005.645 xmax: 1109.381 ymax: 1106.987
#> CRS: NA
#> POLYGON ((1008.039 1006.996, 1108.03 1005.645, ...
#>
#> $outliers
#> [1] 7 8 9 13 15 17 20
#>
# }