gdal_abs2rel_rel2abs: Convert absolute from/to relative paths in a virtual file

gdal_abs2relR Documentation

Convert absolute from/to relative paths in a virtual file

Description

The two functions read the content of a GDAL virtual file (VRT) and check the presence of paths to linked files.

gdal_abs2rel scans the presence of absolute paths: when an absolute path has a common parent directory with the path in which the VRT is, this is replaced with a relative. This is useful when VRT are on a remote driver, which can be mounted to several points.

gdal_rel2abs checks the presence of relative paths, and replace them with the corresponding absolute path (symbolic links are followed). This is useful to grant that VRT can be moved (if the files they link to are not moved).

Usage

gdal_abs2rel(in_vrt, out_vrt = NA)

gdal_rel2abs(in_vrt, out_vrt = NA)

Arguments

in_vrt

The path of the VRT to be read.

out_vrt

(optional) The path of the output VRT file (default is to overwrite in_vrt).

Value

NULL (the function is called for its side effects)

Note

License: GPL 3.0

Author(s)

Luigi Ranghetti, phD (2019) luigi@ranghetti.info

References

L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020). "sen2r": An R toolbox for automatically downloading and preprocessing Sentinel-2 satellite data. Computers & Geosciences, 139, 104473. doi: 10.1016/j.cageo.2020.104473, URL: https://sen2r.ranghetti.info/.

Examples

# Load a VRT containing a relative path
ex_vrt <- system.file(
  "extdata/out/S2A2A_20190723_022_Barbellino_RGB432B_10.vrt", 
  package = "sen2r"
)
abs_vrt <- tempfile(fileext = "_abs.vrt")
rel_vrt <- tempfile(fileext = "_rel.vrt")
gdal_rel2abs(ex_vrt, abs_vrt)
gdal_abs2rel(ex_vrt, rel_vrt)

# Show differences
ex_vrt_content <- readLines(ex_vrt)
abs_vrt_content <- readLines(abs_vrt)
rel_vrt_content <- readLines(rel_vrt)
ex_vrt_content[ex_vrt_content != abs_vrt_content] # Original line
abs_vrt_content[ex_vrt_content != abs_vrt_content] # Modified line
rel_vrt_content[ex_vrt_content != rel_vrt_content] # No edits

sen2r documentation built on Sept. 22, 2022, 5:06 p.m.