добавить государственные границы к выходным данным листовки, где входными данными является шейп-файл округов

Я скачал округ shapefile из data.gov. Я могу использовать их в брошюре следующим образом, чтобы нанести на карту округа в Вашингтоне, Айдахо и Орегон. Я хотел бы сделать государственные границы толще. Как я могу это сделать?

counties <- readOGR(paste0(dir, "/tl_2017_us_county.shp"),
                    layer = "tl_2017_us_county", GDAL1_integer64_policy = TRUE)

counties <- counties[counties@data$STATEFP %in% c("16", "41", "53"), ]
counties <- subset(counties, STATEFP %in% c("16", "41", "53") )
counties <- rmapshaper::ms_simplify(counties)

counties %>%
leaflet() %>%
setView(lng = -118.4942, lat = 47.2149, zoom = 5) %>%
addPolygons( fillColor = "green", fillOpacity = 0.5,
             color = "black", opacity = 1.0, weight = .6, smoothFactor = 0.5,
             highlightOptions = highlightOptions(color="white", weight=2, bringToFront = TRUE),
             label= ~ NAME) 

P.S. Я хотел бы сделать это в R studio, я не знаю никаких дополнительных кодов здесь: https://leafletjs.com/

введите здесь описание изображения


Изменить Цель состояла в том, чтобы сделать состояния различимыми, что я и сделал с помощью следующего:

factpal <- colorFactor(topo.colors(5), counties$category)

counties %>%
leaflet() %>%
# addTiles() %>% 
setView(lng = -118.4942, lat = 47.2149, zoom = 5) %>%
addPolygons( fillColor = ~factpal(STATEFP), fillOpacity = 0.5,
             # The following line is associated with borders
             color = "black", opacity = 1.0, weight = .6, smoothFactor = 0.5,
             highlightOptions = highlightOptions(color="white", weight=2, bringToFront = TRUE),
             label= ~ NAME)

Я все еще хотел бы узнать, как сделать границы толще.

введите здесь описание изображения


person OverFlow Police    schedule 19.06.2019    source источник
comment
в следующий раз постарайтесь включить воспроизводимый код. Тогда потенциальные ответы можно лучше проверить, а не угадывать...   -  person Tonio Liebrand    schedule 19.06.2019


Ответы (1)


Вероятно, для этого нет встроенной опции, поскольку вы пытаетесь построить контур всех полигонов округов, принадлежащих штату. Конечно, это работает, когда вы выделяете состояния, окрашивая все полигоны внутри него.

Чтобы добиться того, чего вы хотите с пакетом sp, вы можете сделать это:

library(sp)
library(leaflet)

states <- aggregate(counties[, "STATEFP"], by = list(ID = counties@data$STATEFP), 
                    FUN = unique, dissolve = T)

counties %>%
  leaflet() %>%
  setView(lng = -118.4942, lat = 47.2149, zoom = 5) %>%
  addPolygons( fillColor = "green", fillOpacity = 0.5,
               color = "black", opacity = 1.0, weight = .6, smoothFactor = 0.5,
               highlightOptions = highlightOptions(color="white", weight=2, bringToFront = TRUE),
               label= ~ NAME) %>%
  addPolylines(data = states, color = "black", opacity = 1, weight = 3)

введите здесь описание изображения

person Humpelstielzchen    schedule 21.06.2019