addGeoJSONv2 {leaflet.extras} | R Documentation |
Adds a GeoJSON/TopoJSON to the leaflet map.
Description
This is a feature rich alternative to the addGeoJSON
& addTopoJSON
with options to map feature properties to labels, popups, colors, markers etc.
Usage
addGeoJSONv2(
map,
geojson,
layerId = NULL,
group = NULL,
markerType = NULL,
markerIcons = NULL,
markerIconProperty = NULL,
markerOptions = leaflet::markerOptions(),
clusterOptions = NULL,
clusterId = NULL,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
stroke = TRUE,
color = "#03F",
weight = 5,
opacity = 0.5,
fill = TRUE,
fillColor = color,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL
)
legendOptions(
title = NULL,
position = c("bottomleft", "bottomright", "topleft", "topright"),
locale = "en-US",
numberFormatOptions = list(style = "decimal", maximumFractionDigits = 2)
)
addGeoJSONChoropleth(
map,
geojson,
layerId = NULL,
group = NULL,
valueProperty,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
scale = c("white", "red"),
steps = 5,
mode = "q",
channelMode = c("rgb", "lab", "hsl", "lch"),
padding = NULL,
correctLightness = FALSE,
bezierInterpolate = FALSE,
colors = NULL,
stroke = TRUE,
color = "#03F",
weight = 1,
opacity = 0.5,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL,
legendOptions = NULL
)
addKML(
map,
kml,
layerId = NULL,
group = NULL,
markerType = NULL,
markerIcons = NULL,
markerIconProperty = NULL,
markerOptions = leaflet::markerOptions(),
clusterOptions = NULL,
clusterId = NULL,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
stroke = TRUE,
color = "#03F",
weight = 5,
opacity = 0.5,
fill = TRUE,
fillColor = color,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL
)
addKMLChoropleth(
map,
kml,
layerId = NULL,
group = NULL,
valueProperty,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
scale = c("white", "red"),
steps = 5,
mode = "q",
channelMode = c("rgb", "lab", "hsl", "lch"),
padding = NULL,
correctLightness = FALSE,
bezierInterpolate = FALSE,
colors = NULL,
stroke = TRUE,
color = "#03F",
weight = 1,
opacity = 0.5,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL,
legendOptions = NULL
)
csvParserOptions(latfield, lonfield, delimiter = ",")
addCSV(
map,
csv,
csvParserOptions,
layerId = NULL,
group = NULL,
markerType = NULL,
markerIcons = NULL,
markerIconProperty = NULL,
markerOptions = leaflet::markerOptions(),
clusterOptions = NULL,
clusterId = NULL,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
stroke = TRUE,
color = "#03F",
weight = 5,
opacity = 0.5,
fill = TRUE,
fillColor = color,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL
)
addGPX(
map,
gpx,
layerId = NULL,
group = NULL,
markerType = NULL,
markerIcons = NULL,
markerIconProperty = NULL,
markerOptions = leaflet::markerOptions(),
clusterOptions = NULL,
clusterId = NULL,
labelProperty = NULL,
labelOptions = leaflet::labelOptions(),
popupProperty = NULL,
popupOptions = leaflet::popupOptions(),
stroke = TRUE,
color = "#03F",
weight = 5,
opacity = 0.5,
fill = TRUE,
fillColor = color,
fillOpacity = 0.2,
dashArray = NULL,
smoothFactor = 1,
noClip = FALSE,
pathOptions = leaflet::pathOptions(),
highlightOptions = NULL
)
Arguments
map |
the leaflet map widget |
geojson |
a GeoJSON/TopoJSON URL or file contents in a character vector. |
layerId |
the layer id |
group |
the name of the group this raster image should belong to (see
the same parameter under |
markerType |
The type of marker. either "marker" or "circleMarker" |
markerIcons |
Icons for Marker.
Can be a single marker using |
markerIconProperty |
The property of the feature to use for marker icon.
Can be a JS function which accepts a feature and returns an index of |
markerOptions |
The options for markers |
clusterOptions |
if not |
clusterId |
the id for the marker cluster layer |
labelProperty |
The property to use for the label. You can also pass in a JS function that takes in a feature and returns a text/HTML content. |
labelOptions |
A Vector of |
popupProperty |
The property to use for popup content You can also pass in a JS function that takes in a feature and returns a text/HTML content. |
popupOptions |
A Vector of |
stroke |
whether to draw stroke along the path (e.g. the borders of polygons or circles) |
color |
stroke color |
weight |
stroke width in pixels |
opacity |
stroke opacity (or layer opacity for tile layers) |
fill |
whether to fill the path with color (e.g. filling on polygons or circles) |
fillColor |
fill color |
fillOpacity |
fill opacity |
dashArray |
a string that defines the stroke dash pattern |
smoothFactor |
how much to simplify the polyline on each zoom level (more means better performance and less accurate representation) |
noClip |
whether to disable polyline clipping |
pathOptions |
Options for shapes |
highlightOptions |
Options for highlighting the shape on mouse over.
options for each label. Default |
title |
An optional title for the legend |
position |
legend position |
locale |
The numbers will be formatted using this locale |
numberFormatOptions |
Options for formatting numbers |
valueProperty |
The property to use for coloring |
scale |
The scale to use from chroma.js |
steps |
number of breakes |
mode |
q for quantile, e for equidistant, k for k-means |
channelMode |
Default "rgb", can be one of "rgb", "lab", "hsl", "lch" |
padding |
either a single number or a 2 number vector for clipping color values at ends. |
correctLightness |
whether to correct lightness |
bezierInterpolate |
whether to use bezier interpolate for determining colors |
colors |
overrides scale with manual colors |
legendOptions |
Options to show a legend. |
kml |
a KML URL or contents in a character vector. |
latfield |
field name for latitude |
lonfield |
field name for longitude |
delimiter |
field separator |
csv |
a CSV URL or contents in a character vector. |
csvParserOptions |
options for parsing the CSV.
Use |
gpx |
a GPX URL or contents in a character vector. |
Examples
## addGeoJSONv2
geoJson <- readr::read_file(
"https://rawgit.com/benbalter/dc-maps/master/maps/historic-landmarks-points.geojson"
)
leaflet() %>%
setView(-77.0369, 38.9072, 12) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addWebGLGeoJSONHeatmap(
geoJson,
size = 30, units = "px"
) %>%
addGeoJSONv2(
geoJson,
markerType = "circleMarker",
stroke = FALSE, fillColor = "black", fillOpacity = 0.7,
markerOptions = markerOptions(radius = 2)
)
## for more examples see
# browseURL(system.file("examples/draw.R", package = "leaflet.extras"))
# browseURL(system.file("examples/geojsonv2.R", package = "leaflet.extras"))
# browseURL(system.file("examples/search.R", package = "leaflet.extras"))
# browseURL(system.file("examples/TopoJSON.R", package = "leaflet.extras"))
## addGeoJSONChoropleth
geoJson <- readr::read_file(
"https://rawgit.com/benbalter/dc-maps/master/maps/ward-2012.geojson"
)
leaflet() %>%
addTiles() %>%
setView(-77.0369, 38.9072, 11) %>%
addBootstrapDependency() %>%
enableMeasurePath() %>%
addGeoJSONChoropleth(
geoJson,
valueProperty = "AREASQMI",
scale = c("white", "red"),
mode = "q",
steps = 4,
padding = c(0.2, 0),
labelProperty = "NAME",
popupProperty = propstoHTMLTable(
props = c("NAME", "AREASQMI", "REP_NAME", "WEB_URL", "REP_PHONE", "REP_EMAIL", "REP_OFFICE"),
table.attrs = list(class = "table table-striped table-bordered"),
drop.na = TRUE
),
color = "#ffffff", weight = 1, fillOpacity = 0.7,
highlightOptions = highlightOptions(
weight = 2, color = "#000000",
fillOpacity = 1, opacity = 1,
bringToFront = TRUE, sendToBack = TRUE
),
pathOptions = pathOptions(
showMeasurements = TRUE,
measurementOptions = measurePathOptions(imperial = TRUE)
)
)
## for more examples see
# browseURL(system.file("examples/geojsonv2.R", package = "leaflet.extras"))
# browseURL(system.file("examples/measurePath.R", package = "leaflet.extras"))
# browseURL(system.file("examples/search.R", package = "leaflet.extras"))
# browseURL(system.file("examples/TopoJSON.R", package = "leaflet.extras"))
## addKML
kml <- readr::read_file(
system.file("examples/data/kml/crimes.kml.zip", package = "leaflet.extras")
)
leaflet() %>%
setView(-77.0369, 38.9072, 12) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addWebGLKMLHeatmap(kml, size = 20, units = "px") %>%
addKML(
kml,
markerType = "circleMarker",
stroke = FALSE, fillColor = "black", fillOpacity = 1,
markerOptions = markerOptions(radius = 1)
)
## addKMLChoropleth
kml <- readr::read_file(
system.file("examples/data/kml/cb_2015_us_state_20m.kml.zip", package = "leaflet.extras")
)
leaflet() %>%
addBootstrapDependency() %>%
setView(-98.583333, 39.833333, 4) %>%
addProviderTiles(providers$CartoDB.Positron) %>%
addKMLChoropleth(
kml,
valueProperty = JS(
"function(feature){
var props = feature.properties;
var aland = props.ALAND/100000;
var awater = props.AWATER/100000;
return 100*awater/(awater+aland);
}"
),
scale = "OrRd", mode = "q", steps = 5,
padding = c(0.2, 0),
popupProperty = "description",
labelProperty = "NAME",
color = "#ffffff", weight = 1, fillOpacity = 1,
highlightOptions = highlightOptions(
fillOpacity = 1, weight = 2, opacity = 1, color = "#000000",
bringToFront = TRUE, sendToBack = TRUE
),
legendOptions = legendOptions(
title = "% of Water Area",
numberFormatOptions = list(
style = "decimal",
maximumFractionDigits = 2
)
)
)
## addCSV
csv <- readr::read_file(
system.file("examples/data/csv/world_airports.csv.zip", package = "leaflet.extras")
)
leaflet() %>%
setView(0, 0, 2) %>%
addProviderTiles(providers$CartoDB.DarkMatterNoLabels) %>%
addCSV(
csv,
csvParserOptions("latitude_deg", "longitude_deg"),
markerType = "circleMarker",
stroke = FALSE, fillColor = "red", fillOpacity = 1,
markerOptions = markerOptions(radius = 0.5)
)
## addGPX
airports <- readr::read_file(
system.file("examples/data/gpx/md-airports.gpx.zip", package = "leaflet.extras")
)
leaflet() %>%
addBootstrapDependency() %>%
setView(-76.6413, 39.0458, 8) %>%
addProviderTiles(
providers$CartoDB.Positron,
options = providerTileOptions(detectRetina = TRUE)
) %>%
addWebGLGPXHeatmap(airports, size = 20000, group = "airports", opacity = 0.9) %>%
addGPX(
airports,
markerType = "circleMarker",
stroke = FALSE, fillColor = "black", fillOpacity = 1,
markerOptions = markerOptions(radius = 1.5),
group = "airports"
)
## for a larger example see
# browseURL(system.file("examples/GPX.R", package = "leaflet.extras"))