Nothing
test_that("geos_version returns a list of length 4", {
expect_length(geos_version(), 4)
})
test_that("bbox intersect/union return correct values", {
bbox_list <-list()
elev_file <- system.file("extdata/storml_elev.tif", package="gdalraster")
ds <- new(GDALRaster, elev_file, read_only=TRUE)
bbox_list[[1]] <- ds$bbox()
ds$close()
b5_file <- system.file("extdata/sr_b5_20200829.tif", package="gdalraster")
ds <- new(GDALRaster, b5_file, read_only=TRUE)
bbox_list[[2]] <- ds$bbox()
ds$close()
bnd <- "POLYGON ((324467.3 5104814.2, 323909.4 5104365.4, 323794.2
5103455.8, 324970.7 5102885.8, 326420.0 5103595.3, 326389.6 5104747.5,
325298.1 5104929.4, 325298.1 5104929.4, 324467.3 5104814.2))"
bbox_list[[3]] <- bbox_from_wkt(bnd)
expect_equal(bbox_intersect(bbox_list),
c(323794.2, 5102885.8, 326420.0, 5104929.4))
expect_equal(bbox_union(bbox_list),
c(323400.9, 5101815.8, 327870.9, 5105175.8))
expect_equal(bbox_intersect(c(elev_file, b5_file)),
c(323476.1, 5101872.0, 327766.1, 5105082.0))
expect_equal(bbox_union(c(elev_file, b5_file)),
c(323400.9, 5101815.8, 327870.9, 5105175.8))
expect_equal(bbox_from_wkt(bbox_union(c(elev_file, b5_file), as_wkt=TRUE)),
c(323400.9, 5101815.8, 327870.9, 5105175.8))
})
test_that("g_transform / bbox_transform return correct values", {
elev_file <- system.file("extdata/storml_elev.tif", package="gdalraster")
ds <- new(GDALRaster, elev_file)
bbox_wgs84 <- c(-113.28289, 46.04764, -113.22629, 46.07760)
expect_error(g_transform("invalid WKT", ds$getProjectionRef(),
epsg_to_wkt(4326)))
expect_error(g_transform(bbox_to_wkt(ds$bbox()), "invalid WKT",
epsg_to_wkt(4326)))
expect_error(g_transform(bbox_to_wkt(ds$bbox()), ds$getProjectionRef(),
"invalid WKT"))
bbox_test <- ds$bbox() |>
bbox_to_wkt() |>
g_transform(srs_from = ds$getProjectionRef(),
srs_to = epsg_to_wkt(4326)) |>
bbox_from_wkt()
expect_equal(bbox_test, bbox_wgs84, tolerance = 0.001)
bbox_test <- bbox_transform(ds$bbox(), ds$getProjectionRef(),
epsg_to_wkt(4326))
expect_equal(bbox_test, bbox_wgs84, tolerance = 0.001)
ds$close()
})
test_that("geometry properties are correct", {
expect_true(g_is_valid("POLYGON ((0 0, 10 10, 10 0, 0 0))"))
expect_false(g_is_valid("POLYGON ((0 0, 10 10, 10 0, 0 1))"))
expect_false(g_is_empty("POLYGON ((0 0, 10 10, 10 0, 0 0))"))
expect_true(g_is_empty("POLYGON EMPTY"))
bb <- c(323476.1, 5101872.0, 327766.1, 5105082.0)
expect_equal(bbox_to_wkt(bb) |> g_name(), "POLYGON")
})
test_that("geometry binary predicates/ops return correct values", {
elev_file <- system.file("extdata/storml_elev.tif", package="gdalraster")
ds <- new(GDALRaster, elev_file)
bb <- ds$bbox() |> bbox_to_wkt()
ds$close()
bnd <- "POLYGON ((324467.3 5104814.2, 323909.4 5104365.4, 323794.2
5103455.8, 324970.7 5102885.8, 326420.0 5103595.3, 326389.6 5104747.5,
325298.1 5104929.4, 325298.1 5104929.4, 324467.3 5104814.2))"
bnd_disjoint <- "POLYGON ((324457.6 5101227.0, 323899.7 5100778.3,
323784.5 5099868.7, 324961.0 5099298.7, 326410.3 5100008.2, 326380.0
5101160.4, 325288.4 5101342.2, 325288.4 5101342.2, 324457.6 5101227.0))"
bnd_overlaps <- "POLYGON ((327381.9 5104541.2, 326824.0 5104092.5, 326708.8
5103182.9, 327885.2 5102612.9, 329334.5 5103322.4, 329304.2 5104474.5,
328212.7 5104656.4, 328212.7 5104656.4, 327381.9 5104541.2))"
expect_true(g_intersects(bb, bnd_overlaps))
expect_false(g_intersects(bb, bnd_disjoint))
expect_false(g_equals(bnd, bnd_overlaps))
expect_true(g_disjoint(bb, bnd_disjoint))
expect_false(g_disjoint(bb, bnd_overlaps))
expect_true(g_contains(bb, bnd))
expect_false(g_contains(bnd, bb))
expect_false(g_within(bb, bnd))
expect_true(g_within(bnd, bb))
expect_true(g_overlaps(bb, bnd_overlaps))
expect_false(g_overlaps(bb, bnd_disjoint))
expect_false(g_overlaps(bb, bnd))
linestr <- "LINESTRING (324467.3 5104814.2, 323909.4 5104365.4)"
expect_true(g_touches(bnd, linestr))
expect_false(g_touches(bb, linestr))
expect_false(g_crosses(bb, linestr))
g1 <- g_intersection(bb, bnd_overlaps)
g2 <- g_union(bb, bnd_overlaps)
g3 <- g_sym_difference(bb, bnd_overlaps)
expect_equal(g_area(g3), g_area(g_difference(g2, g1)), tolerance = 0.01)
expect_true(g_difference(bnd, bb) |> g_is_empty())
expect_false(g_difference(bnd_overlaps, bb) |> g_is_empty())
})
test_that("g_buffer returns correct values", {
pt <- "POINT (0 0)"
expect_error(g_buffer(wkt = "invalid WKT", dist = 10))
bb <- bbox_from_wkt(g_buffer(wkt = pt, dist = 10))
expect_equal(bb, c(-10, -10, 10, 10))
})
test_that("geometry measures are correct", {
expect_equal(g_distance("POINT (0 0)", "POINT (5 12)"), 13)
expect_equal(g_length("LINESTRING (0 0, 3 4)"), 5)
bb <- c(323476.1, 5101872.0, 327766.1, 5105082.0)
bb_area <- (bb[3] - bb[1]) * (bb[4] - bb[2])
expect_equal(g_area(bbox_to_wkt(bb)), bb_area)
expect_equal(g_centroid(bbox_to_wkt(bb)), c(325621.1, 5103477.0))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.