makeTopography {PBSmapping} | R Documentation |
Make Topography Data from Online Source
Description
Make topography data suitable for the 'graphics::contour'
and
'grDevices::contourLines'
functions using freely available global
seafloor topography data.
Usage
makeTopography (dat, digits=2, func=NULL)
Arguments
dat |
|
digits |
|
func |
|
Details
Suitable data can be obtained through the Topex acquisition form.
The function 'utils::read.table'
will import dowloaded ASCII files into R,
creating objects suitable for the argument 'dat'
in 'makeTopography'
.
When creating data for regions with longitude values spanning
-180^\circ
to 0^\circ
, consider
subtracting 360 from the result's longitude coordinates (x
).
When creating bathymetry data, consider negating the result's
elevations (z
) to give depths positive values.
Combinations of (x,y)
do not need to be complete (z[x,y]=NA
) or
unique (z[x,y] = func(z[x,y])
).
Value
List with elements x
, y
, and z
. Elements x
and
y
are vectors, while z
is a matrix with rownames x
and colnames y
.
The functions 'graphics::contour'
and 'grDevices::contourLines'
expect data conforming to this list format.
Author(s)
Nicholas M. Boers, Staff Software Engineer
Jobber, Edmonton AB
Maintainer: Rowan Haigh, Program Head – Offshore Rockfish
Pacific Biological Station (PBS), Fisheries & Oceans Canada (DFO), Nanaimo BC
locus opus: Institute of Ocean Sciences (IOS), Sidney BC
Last modified Rd: 2021-01-11
See Also
In package graphics:
contour
In package grDevices:
contourLines
In package PBSmapping:
convCP
Examples
local(envir=.PBSmapEnv,expr={
oldpar = par(no.readonly=TRUE)
#--- Example 1: Sample data frame and conversion.
file <- data.frame(X=c(1,1,2,2),Y=c(3,4,3,4),Z=c(5,6,7,8))
print(makeTopography(file))
#--- Example 2: Aleutian Islands bathymetry
isob <- c(100,500,1000,2500,5000)
icol <- rgb(0,0,seq(255,100,len=length(isob)),max=255)
afile <- paste(system.file(package="PBSmapping"),
"/Extra/aleutian.txt",sep="")
aleutian <- read.table(afile, header=FALSE, col.names=c("x","y","z"))
aleutian$x <- aleutian$x - 360
aleutian$z <- -aleutian$z
alBathy <- makeTopography(aleutian)
alCL <- contourLines(alBathy,levels=isob)
alCP <- convCP(alCL)
alPoly <- alCP$PolySet
attr(alPoly,"projection") <- "LL"
plotMap(alPoly, type="n", cex.axis=1.2, cex.lab=1.5)
addLines(alPoly,col=icol)
data(nepacLL,envir=.PBSmapEnv)
addPolys(nepacLL,col="gold")
legend(x="topleft",bty="n",col=icol,lwd=2,legend=as.character(isob))
par(oldpar)
})