suppressPackageStartupMessages(library(sf))
tif = system.file("tif/geomatrix.tif", package = "sf")
gdal_metadata(tif)
gdal_metadata(tif, NA_character_)
try(gdal_metadata(tif, "wrongDomain"))
gdal_metadata(tif, c("IMAGE_STRUCTURE"))
try(length(gdal_metadata(tif, c("DERIVED_SUBDATASETS")))) # fails on Fedora 26
if (require(stars, quietly = TRUE)) {
tif = system.file("tif/geomatrix.tif", package = "sf")
r = read_stars(tif)
d = (st_dimensions(r))
gt = c(1841001.75, 1.5, -5, 1144003.25, -5, -1.5)
x1 = st_as_sfc(d, as_points = TRUE, use_cpp = TRUE, geotransform = gt)
x2 = st_as_sfc(d, as_points = TRUE, use_cpp = FALSE, geotransform = gt)
print(identical(x1, x2))
y1 = st_as_sfc(d, as_points = FALSE, use_cpp = TRUE, geotransform = gt)
y2 = st_as_sfc(d, as_points = FALSE, use_cpp = FALSE, geotransform = gt)
print(identical(y1, y2))
# rectilinear grid:
m = matrix(1:20, nrow = 5, ncol = 4)
x = c(0,0.5,1,2,4,5)
y = c(0.3,0.5,1,2,2.2)
r = st_as_stars(list(m = m), dimensions = st_dimensions(x = x, y = y, .raster = c("x", "y")))
print(st_as_sfc(st_dimensions(r), as_points = TRUE))
print(st_as_sfc(st_dimensions(r), as_points = FALSE))
# curvilinear grid:
lon = st_as_stars(matrix(1:5, 4, 5, byrow = TRUE))
lat = st_as_stars(matrix(1:4, 4, 5))
ll = c(X1 = lon, X2 = lat)
curv = st_as_stars(st_as_stars(t(m)), curvilinear = setNames(ll, c("X1", "X2")))
print(st_as_sfc(st_dimensions(curv), as_points = TRUE))
print(st_as_sfc(st_dimensions(curv), as_points = FALSE))
demo(nc, echo = FALSE, ask = FALSE)
print(x <- st_rasterize(nc)) # default grid:
print(p <- st_as_sf(x, as_points = FALSE)) # polygonize: follow raster boundaries
print(p <- st_as_sf(x, as_points = FALSE, use_integer = TRUE)) # polygonize integers: follow raster boundaries
print(try(p <- st_as_sf(x, as_points = TRUE))) # polygonize: contour, requies GDAL >= 2.4.0
if (utils::packageVersion("stars") >= "0.2-1") {
write_stars(read_stars(tif), tempfile(fileext = ".tif"))
write_stars(read_stars(tif, proxy = TRUE), tempfile(fileext = ".tif"))
write_stars(read_stars(tif, proxy = TRUE), tempfile(fileext = ".tif"), chunk_size = c(200,200))
na.tif = read_stars(system.file("tif/na.tif", package = "stars"))
write_stars(na.tif, "na.tif")
write_stars(na.tif, "na.tif", NA_value = -999)
na.tif = read_stars(system.file("tif/na.tif", package = "stars"), NA_value = -999)
write_stars(na.tif, "na.tif")
write_stars(na.tif, "na.tif", NA_value = -999)
na.tif = read_stars(system.file("tif/na.tif", package = "stars"), NA_value = -999, proxy = TRUE)
write_stars(na.tif, "na.tif")
write_stars(na.tif, "na.tif", NA_value = -999)
}
# https://github.com/mtennekes/tmap/issues/368
if (utils::packageVersion("stars") > "0.4-0") {
lc = system.file('tif/lc.tif', package = 'stars')
if (lc != "") {
r = read_stars(lc, RAT = "Land Cover Class")
r <- droplevels(r)
}
}
}
r = gdal_read(tif)
gt = c(0,1,0,0,0,1)
gdal_inv_geotransform(gt)
rc = expand.grid(x=1:3, y = 1:3)
#(xy = xy_from_colrow(rc, gt))
#xy_from_colrow(xy, gt, inverse = TRUE)
crs <- gdal_crs(tif)
try(gdal_metadata("foo"))
gdal_metadata(tif)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.