test_that("utm_convert works with a zone column", {
df <- data.frame(
animalid = c("a", "b", "c"),
zone = c(10, 11, 11),
easting = c(500000, 800000, 700000),
northing = c(5000000, 3000000, 1000000)
)
out <- utm_convert(df, "easting", "northing", "zone")
expect_s3_class(out, "sf")
expect_equal(ncol(out), 7)
out <- utm_convert(df, "easting", "northing", "zone", xycols = FALSE)
expect_equal(ncol(out), 5)
})
test_that("utm_convert works with a single zone", {
df <- data.frame(
animalid = c("a", "b"),
x = c(500000, 800000),
y = c(5000000, 3000000)
)
out <- utm_convert(df, "x", "y", zone = 11)
expect_s3_class(out, "sf")
expect_equal(ncol(out), 6)
out <- utm_convert(df, "x", "y", zone = 11, xycols = FALSE)
expect_equal(ncol(out), 4)
})
test_that("utm_convert works with a single zone as a character string (e.g., 10N)", {
df <- data.frame(
animalid = c("a", "b"),
easting = c(500000, 800000),
northing = c(5000000, 3000000)
)
out <- utm_convert(df, "easting", "northing", zone = "11N")
expect_s3_class(out, "sf")
expect_equal(ncol(out), 6)
out <- utm_convert(df, "easting", "northing", zone = "11N", xycols = FALSE)
expect_equal(ncol(out), 4)
})
test_that("utm_convert works with a zone column with zone as a character", {
df <- data.frame(
animalid = c("a", "b", "c"),
zone = c("10N", "11N", "11N"),
easting = c(500000, 800000, 700000),
northing = c(5000000, 3000000, 1000000)
)
out <- utm_convert(df, "easting", "northing", "zone")
expect_s3_class(out, "sf")
expect_equal(ncol(out), 7)
out <- utm_convert(df, "easting", "northing", "zone", xycols = FALSE)
expect_equal(ncol(out), 5)
})
test_that("utm_convert works with different datums", {
df <- data.frame(
animalid = c("a", "b", "c"),
zone = c(10, 11, 11),
easting = c(500000, 800000, 700000),
northing = c(5000000, 3000000, 1000000)
)
out <- utm_convert(df, "easting", "northing", "zone")
expect_s3_class(out, "sf")
expect_equal(ncol(out), 7)
out <- utm_convert(df, "easting", "northing", "zone", datum = "WGS84", xycols = FALSE)
expect_equal(ncol(out), 5)
})
test_that("utm_convert errors expectedly", {
df <- data.frame(
animalid = c("a", "b", "c", "d"),
zone = c(10, 11, 11, 163),
easting = c(500000, 800000, 700000, 600000),
northing = c(5000000, 3000000, 1000000, 1000000)
)
expect_error(utm_convert(df, "easting", "northing", "zone"), "Invalid zone")
df <- data.frame(
animalid = c("a", "b", "c", "d"),
easting = c(500000, 800000, 700000, 600000),
northing = c(5000000, 3000000, 1000000, 1000000)
)
expect_error(utm_convert(df, "easting", "northing", "10S"), "Southern hemisphere")
df <- data.frame(
animalid = c("a", "b", "c", "d"),
easting = c(500000, 800000, 700000, 600000),
northing = c(5000000, 3000000, 1000000, 1000000)
)
expect_error(utm_convert(df, "easting", "northing", "10D"), "Invalid zone")
df <- data.frame(
animalid = c("a", "b", "c"),
zone = c("10N", "11N", "11R"),
easting = c(500000, 800000, 700000),
northing = c(5000000, 3000000, 1000000)
)
expect_error(utm_convert(df, "easting", "northing", "zone"), "Invalid zone")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.