@@ -95,6 +95,10 @@ loc_check <- function(locations,
95
95
stop(" Please supply a valid crs via locations or prj." )
96
96
}
97
97
98
+ stopifnot(
99
+ " `locations` must contain column names matching `coords`" = all(coords %in% names(locations ))
100
+ )
101
+
98
102
locations <- sf :: st_as_sf(x = locations , coords = coords , crs = prj )
99
103
} else if (inherits(locations , c(" sf" , " sfc" , " sfg" ))) {
100
104
sf_crs <- sf :: st_crs(locations )
@@ -112,11 +116,15 @@ loc_check <- function(locations,
112
116
113
117
} else if (any(class(locations ) %in% c(" SpatRaster" , " SpatVector" ))) {
114
118
sf_crs <- sf :: st_crs(locations )
115
- locations <- sf :: st_as_sf(
116
- terra :: as.points(locations , values = FALSE ),
117
- coords = terra :: crds(locations , df = TRUE ),
118
- crs = sf_crs
119
- )
119
+ coords <- terra :: crds(locations , df = TRUE )
120
+
121
+ if (inherits(locations , " SpatVector" )) {
122
+ locations <- terra :: as.points(locations )
123
+ } else {
124
+ locations <- terra :: as.points(locations , values = FALSE )
125
+ }
126
+
127
+ locations <- sf :: st_as_sf(locations , coords = coords , crs = sf_crs )
120
128
121
129
if ((is.null(sf_crs ) || is.na(sf_crs )) && is.null(prj )) {
122
130
stop(" Please supply a valid crs via locations or prj." )
0 commit comments