Add additional nodes to lines or polygons. This can be useful to do prior to using project such that the path does not change too much.
methods
## S4 method for signature 'SpatVector'densify(x, interval, equalize=TRUE, flat=FALSE)
Arguments
x: SpatVector
interval: positive number, specifying the desired minimum distance between nodes. The unit is meter for lonlat data, and in the linear unit of the crs for planar data
equalize: logical. If TRUE, new nodes are spread at equal intervals between old nodes
flat: logical. If TRUE, the earth's curvature is ignored for lonlat data, and the distance unit is degrees, not meter
Returns
SpatVector
Examples
v <- vect(rbind(c(-120,-20), c(-80,5), c(-40,-60), c(-120,-20)), type="polygons", crs="+proj=longlat")vd <- densify(v,200000)p <- project(v,"+proj=robin")pd <- project(vd,"+proj=robin")# good plot(pd, col="gray", border="red", lwd=10)points(pd, col="gray")# badlines(p, col="blue", lwd=3)points(p, col="blue", cex=2)plot(p, col="blue", alpha=.1, add=TRUE)legend("topright", c("good","bad"), col=c("red","blue"), lty=1, lwd=3)## the other way around does not work## unless the original data was truly planar (e.g. derived from a map)x <- densify(p,250000)y <- project(x,"+proj=longlat")# badplot(y)# goodlines(vd, col="red")