Skip to content

Commit c48fd1f

Browse files
committed
Initial release
0 parents  commit c48fd1f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+980
-0
lines changed

.Rbuildignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
^cran-comments\.md$
2+
^.*\.Rproj$
3+
^\.Rproj\.user$
4+
convert_to_ascii_news.sh

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
inst/doc
2+
.Rproj.user
3+
.Rhistory
4+
.RData
5+
.Ruserdata
6+
convert_to_ascii_news.sh
7+
Thumbs.db

DESCRIPTION

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Package: leaflet.opacity
2+
Type: Package
3+
Title: Opacity Controls for Leaflet Maps
4+
Version: 0.1.0
5+
Date: 2018-11-07
6+
Authors@R: c(
7+
person("Marc", "Becker", ,"[email protected]", role = c("aut", "cre"),
8+
comment = "R interface"),
9+
person(family = "LizardTech", role = c("aut", "cph"),
10+
comment = "Leaflet.OpacityControls JavaScript library")
11+
)
12+
Description:
13+
Extends the leaflet R package with the Leaflet.OpacityControls Javascript
14+
plugin. Adds controls to the leaflet map for adjusting the
15+
opacity of a layer.
16+
BugReports: https://github.com/be-marc/leaflet.opacity
17+
License: GPL-3
18+
Imports:
19+
htmltools,
20+
htmlwidgets
21+
Suggests:
22+
leaflet,
23+
raster,
24+
rgdal,
25+
magrittr,
26+
testthat,
27+
knitr,
28+
rmarkdown
29+
Encoding: UTF-8
30+
LazyData: true
31+
VignetteBuilder: knitr
32+
RoxygenNote: 6.1.1

NAMESPACE

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Generated by roxygen2: do not edit by hand
2+
3+
export(addHigherOpacity)
4+
export(addLowerOpacity)
5+
export(addOpacitySlider)

NEWS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
leaflet.opacity 0.1.0
2+
--------------------------------------------------------------------------------
3+
4+
General:
5+
6+
* Initial release of leaflet.opacity

NEWS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# leaflet.opacity 0.1.0
2+
3+
## General
4+
5+
* Initial release of leaflet.opacity

R/controls.R

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
dependency <- function() {
2+
jquery_ui <- htmltools::htmlDependency(name = "jquery-ui",
3+
version = "1.10.3",
4+
src= system.file("lib/jquery-ui/", package = "leaflet.opacity"),
5+
script = "jquery-ui-1.10.3.custom.min.js",
6+
stylesheet = "jquery-ui-1.10.3.custom.min.css")
7+
8+
opacity <- htmltools::htmlDependency(name = "opacity",
9+
version = "1.0.0",
10+
src= system.file("lib/opacity/", package = "leaflet.opacity"),
11+
script = "Control.Opacity.js",
12+
stylesheet = "Control.Opacity.css")
13+
list(jquery_ui, opacity)
14+
}
15+
16+
#' @title Add lower opacity control to map
17+
#' @description Add lower opacity control to map
18+
#' @param map Leaflet map
19+
#' @param layerId Opacity layer
20+
#' @author Marc Becker
21+
#' @examples
22+
#' # Libraries
23+
#' library(leaflet)
24+
#' library(leaflet.opacity)
25+
#' library(raster)
26+
#'
27+
#' # Create artificial raster
28+
#' r <- raster(xmn = -2.8, xmx = -2.79, ymn = 54.04, ymx = 54.05, nrows = 30, ncols = 30)
29+
#' values(r) <- matrix(1:900, nrow(r), ncol(r), byrow = TRUE)
30+
#' crs(r) <- CRS("+init=epsg:4326")
31+
#'
32+
#' # Create leaflet map with lower opacity control
33+
#' leaflet() %>%
34+
#' addTiles() %>%
35+
#' addRasterImage(r, layerId = "raster") %>%
36+
#' addLowerOpacity(layerId = "raster")
37+
#' @export
38+
39+
addLowerOpacity <- function(map, layerId) {
40+
41+
map$dependencies <- c(map$dependencies, dependency())
42+
data = list(layerId = layerId)
43+
44+
htmlwidgets::onRender(
45+
map,
46+
htmlwidgets::JS("function(el,x,data){
47+
var map = this;
48+
var lowerOpacity = new L.Control.lowerOpacity();
49+
var opacityLayer = map.layerManager.getLayer('image', data.layerId)
50+
51+
lowerOpacity.setOpacityLayer(opacityLayer);
52+
map.addControl(lowerOpacity);
53+
}") ,data)
54+
}
55+
56+
#' @title Add higher opacity control to map
57+
#' @description Add higher opacity control to map
58+
#' @param map Leaflet map
59+
#' @param layerId Opacity layer
60+
#' @author Marc Becker
61+
#' @examples
62+
#' # Libraries
63+
#' library(leaflet)
64+
#' library(leaflet.opacity)
65+
#' library(raster)
66+
#'
67+
#' # Create artificial layer
68+
#' r <- raster(xmn = -2.8, xmx = -2.79, ymn = 54.04, ymx = 54.05, nrows = 30, ncols = 30)
69+
#' values(r) <- matrix(1:900, nrow(r), ncol(r), byrow = TRUE)
70+
#' crs(r) <- CRS("+init=epsg:4326")
71+
#'
72+
#' # Create leaflet map with higher opacity control
73+
#' leaflet() %>%
74+
#' addTiles() %>%
75+
#' addRasterImage(r, layerId = "raster") %>%
76+
#' addHigherOpacity(layerId = "raster")
77+
#' @export
78+
79+
addHigherOpacity <- function(map, layerId) {
80+
81+
map$dependencies <- c(map$dependencies, dependency())
82+
data = list(layerId = layerId)
83+
84+
htmlwidgets::onRender(
85+
map,
86+
htmlwidgets::JS("function(el,x,data){
87+
var map = this;
88+
var higherOpacity = new L.Control.higherOpacity();
89+
var opacityLayer = map.layerManager.getLayer('image', data.layerId)
90+
91+
higherOpacity.setOpacityLayer(opacityLayer);
92+
map.addControl(higherOpacity);
93+
}") ,data)
94+
}
95+
96+
#' @title Add opacity slider control to map
97+
#' @description Add opacity slider control to map
98+
#' @param map Leaflet map
99+
#' @param layerId Opacity layer
100+
#' @author Marc Becker
101+
#' @examples
102+
#' # Libraries
103+
#' library(leaflet)
104+
#' library(leaflet.opacity)
105+
#' library(raster)
106+
#'
107+
#' # Create artificial layer
108+
#' r <- raster(xmn = -2.8, xmx = -2.79, ymn = 54.04, ymx = 54.05, nrows = 30, ncols = 30)
109+
#' values(r) <- matrix(1:900, nrow(r), ncol(r), byrow = TRUE)
110+
#' crs(r) <- CRS("+init=epsg:4326")
111+
#'
112+
#' # Create leaflet map with opacity slider
113+
#' leaflet() %>%
114+
#' addTiles() %>%
115+
#' addRasterImage(r, layerId = "raster") %>%
116+
#' addOpacitySlider(layerId = "raster")
117+
#' @export
118+
119+
addOpacitySlider <- function(map, layerId) {
120+
121+
map$dependencies <- c(map$dependencies, dependency())
122+
data = list(layerId = layerId)
123+
124+
htmlwidgets::onRender(
125+
map,
126+
htmlwidgets::JS("function(el,x,data){
127+
var map = this;
128+
var opacitySlider = new L.Control.opacitySlider();
129+
var opacityLayer = map.layerManager.getLayer('image', data.layerId)
130+
131+
opacitySlider.setOpacityLayer(opacityLayer);
132+
map.addControl(opacitySlider);
133+
}") ,data)
134+
}

cran-comments.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Test environments
2+
* Windows Server 2008 R2 SP1, R-devel, 32/64 bit (rhub)
3+
* Debian Linux, R-release, GCC (rhub)
4+
* macOS 10.11 El Capitan, R-release (experimental) (rhub)
5+
6+
## R CMD check results
7+
8+
0 errors | 0 warnings | 0 note
9+
10+
* This is a new release.

0 commit comments

Comments
 (0)