test_that("well-known text", {
gcol <- st_geometrycollection(list(st_point(1:2), st_linestring(matrix(1:4,2))))
expect_message(x <- print(gcol),
"GEOMETRYCOLLECTION \\(POINT \\(1 2\\), LINESTRING \\(1 3, 2 4\\)\\)", all = TRUE)
expect_equal(x, "GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (1 3, 2 4))")
p1 = st_point(1:3)
p2 = st_point(5:7)
sfc = st_sfc(p1,p2)
expect_identical(st_as_text(sfc), c("POINT Z (1 2 3)", "POINT Z (5 6 7)"))
expect_equal(st_sfc(gcol), st_as_sfc(list("GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (1 3, 2 4))")))
})
test_that("detect ewkt", {
expect_equal(is_ewkt(c("LINESTRING(1663106 -105415,1664320 -104617)",
"SRID=4326;POLYGON(1.0 -2.5,3.2 -5.70000)")),
c(FALSE, TRUE))
})
test_that("can parse ewkt", {
expect_equal(get_crs_ewkt("SRID=4326;POINT(1.0 -2.5,3.2 -5.7)"), 4326)
expect_equal(ewkt_to_wkt("SRID=4326;POINT(1.0 -2.5, 3.2 -5.7)"),
"POINT(1.0 -2.5, 3.2 -5.7)")
expect_equal(ewkt_to_wkt("POINT(1.0 -2.5, 3.2 -5.7)"),
"POINT(1.0 -2.5, 3.2 -5.7)")
})
test_that("can read ewkt", {
expect_equal(st_as_sfc("SRID=3879;LINESTRING(1663106 -105415,1664320 -104617)"),
st_as_sfc("LINESTRING(1663106 -105415,1664320 -104617)", 3879))
expect_equal(st_as_sfc(c("SRID=3879;LINESTRING(1663106 -105415,1664320 -104617)",
"SRID=3879;LINESTRING(0 0,1 1)")),
st_as_sfc(c("LINESTRING(1663106 -105415,1664320 -104617)",
"LINESTRING(0 0,1 1)"), 3879)
)
expect_equal(st_crs(st_as_sfc(c("SRID=3879;LINESTRING(1663106 -105415,1664320 -104617)",
"SRID=3879;LINESTRING(0 0,1 1)"))), st_crs(3879))
expect_error(st_as_sfc(c("SRID=3879;LINESTRING(1663106 -105415,1664320 -104617)",
"SRID=4326;LINESTRING(0 0,1 1)")), "3879, 4326")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.