gdal_grid | R Documentation |
This function provides an interface mirroring that of the GDAL
command-line app gdal_grid
. For a description of the
utility and the arguments that it takes, see the documentation at
https://gdal.org/programs/gdal_grid.html.
gdal_grid(
src_datasource,
dst_filename,
...,
ot,
of,
txe,
tye,
tr,
outsize,
a_srs,
zfield,
z_increase,
z_multiply,
a,
spat,
clipsrc,
clipsrcsql,
clipsrclayer,
clipsrcwhere,
l,
where,
sql,
co,
q,
config_options = character(0),
dryrun = FALSE
)
src_datasource |
Character. Path to a GDAL-supported readable datasource. |
dst_filename |
Character. Path to a GDAL-supported output file. |
... |
Here, a placeholder argument that forces users to supply exact names of all subsequent formal arguments. |
ot, of, txe, tye, tr, outsize, a_srs, zfield, z_increase, z_multiply |
See the GDAL project's gdal_grid documentation for details. |
a, spat, clipsrc, clipsrcsql, clipsrclayer, clipsrcwhere |
See the GDAL project's gdal_grid documentation for details. |
l, where, sql, co, q |
See the GDAL project's gdal_grid documentation for details. |
config_options |
A named character vector with GDAL config
options, of the form |
dryrun |
Logical (default |
Silently returns path to dst_filename
.
Joshua O'Brien
## Set up file paths
td <- tempdir()
dem_file <- file.path(td, "dem.csv")
vrt_header_file <- file.path(td, "tmp.vrt")
out_raster <- file.path(td, "tmp.tiff")
## Create file of points with x-, y-, and z-coordinates
pts <-
data.frame(Easting = c(86943.4, 87124.3, 86962.4, 87077.6),
Northing = c(891957, 892075, 892321, 891995),
Elevation = c(139.13, 135.01, 182.04, 135.01))
write.csv(pts, file = dem_file, row.names = FALSE)
## Prepare a matching VRT file
vrt_header <- c(
'<OGRVRTDataSource>',
' <OGRVRTLayer name="dem">',
paste0(' <SrcDataSource>',dem_file,'</SrcDataSource>'),
' <GeometryType>wkbPoint</GeometryType>',
' <GeometryField encoding="PointFromColumns" x="Easting" y="Northing" z="Elevation"/>',
' </OGRVRTLayer>',
'</OGRVRTDataSource>'
)
cat(vrt_header, file = vrt_header_file, sep = "\n")
## Test it out
gdal_grid(src_datasource = vrt_header_file,
dst_filename = out_raster,
a = "invdist:power=2.0:smoothing=1.0",
txe = c(85000, 89000), tye = c(894000, 890000),
outsize = c(400, 400),
of = "GTiff", ot = "Float64", l = "dem")
## Check that it works
if(requireNamespace("terra", quietly = TRUE)) {
library(terra)
plot(rast(out_raster))
text(Northing ~ Easting, data = pts,
labels = seq_len(nrow(pts)), cex = 0.7)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.