R: Adds a GeoJSON/TopoJSON to the leaflet map.

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.

Options to customize a Choropleth Legend

Adds a GeoJSON/TopoJSON Choropleth.

Adds a KML to the leaflet map.

Adds a KML Choropleth.

Options for parsing CSV

Adds a CSV to the leaflet map.

Adds a GPX to the leaflet map.

### 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 `addTiles`)
`markerType` | The type of marker. either "marker" or "circleMarker"
`markerIcons` | Icons for Marker. Can be a single marker using `makeIcon` or a list of markers using `iconList`
`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 `markerIcons`. In either case the result must be one of the indexes of markerIcons.
`markerOptions` | The options for markers
`clusterOptions` | if not `NULL`, markers will be clustered using Leaflet.markercluster; you can use `markerClusterOptions()` to specify marker cluster options
`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 `labelOptions` to provide label
`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 `popupOptions` to provide popups
`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 `NULL` you can use `highlightOptions()` to specify highlight options
`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 `csvParserOptions`() to supply csv parser options.
`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"))

[Package leaflet.extras version 1.0.0 Index]