ol_scale_lwd_discrete: Line Width Scale

View source: R/scales.R

ol_scale_lwd_discreteR Documentation

Line Width Scale

Description

Specify a discrete line width mapping scale.

Usage

ol_scale_lwd_discrete(lwd.vector = NULL, name = NULL, na.lwd.val = 1,
  ordered.values = NULL, opacity = 1, draw.color = "black",
  draw.lty = "solid", display = FALSE)

Arguments

lwd.vector

numeric named vector of the form c(value=width). If NULL, a default width mapping is assigned.

name

character the scale name.

na.lwd.val

numeric the width assigned to unrecognized or NA values.

ordered.values

character, numeric, or factor vector containing the ordered unique discrete variable values. This input is used to determine the order of the values appearing in the legend. If not supplied, the order is taken from names(lwd.vector).

opacity

numeric in [0,1]. The line opacity used in the legend only.

draw.color

character color used in the legend lines only.

draw.lty

character indicating the line type for the legend only. This will be passed to an R plot command. See par.

display

logical indicating whether to draw the scale for output in the HTML. If TRUE, a bitmap will be created and sourced in the HTML in an img tag. If FALSE, the draw.* inputs are ignored.

Details

This method maps OpenLayers feature line widths to discrete variable values. This scale can be added to an Ol.Map S3 object only if the Ol.Map object has a layer with a "lwd" mapping to a numeric, character, or factor type variable. If no such layer exists, attempts to add this type of scale will result in a warning. The lwd.vector input enables the user to specify the exact mapping, assigning widths to specific variable values. The width aesthetic does not have a continuous scale.

Value

list of class Scale.Lwd.Discrete.

See Also

ol_map, ol_geom_polygon, ol_geom_line

Examples

line.matrix1 <- matrix(
    c(
        -80.4,-80.4,
        25.78,25.88
    ),
    ncol=2
)
line.matrix2 <- matrix(
    c(
        -80.25,-80.35,
        25.65,25.65
    ),
    ncol=2
)
line.list <- list(line.matrix1,line.matrix2)
line.df <- data.frame(
    direction=c("vertical","horizontal"),
    no=runif(2)
)
miami.gray.basemap <- ol_map(
    center=c(-80.385790,25.782618),
    zoom=9
    ) + 
   lightgray() 
line.layer <- ol_geom_line(
    line.list,
    mapping=ol_aes(
        lwd=direction # discrete mapping
    ),
    df=line.df,
    name="Miami Lines",
    toggle.control=TRUE
)
line.width.scale <- ol_scale_lwd_discrete(
    lwd.vector=c(
        vertical = 2,
        horizontal = 5
    ),
    name="Direction",
    display=TRUE
)
line.map.miami <- miami.gray.basemap + 
    line.layer + 
    line.width.scale
## Not run: 
# Output to file and view
ol_map2HTML(
  line.map.miami,
  'miami_lines.html',
  map.heading="Miami Lines"
)
browseURL("miami_lines.html")

## End(Not run)

cemarks/ROpenLayers documentation built on March 31, 2022, 12:05 p.m.