Элемент управления слоем листовки не переключает или не отображает правильные данные из входных данных

#r #leaflet #layer

#r #листовка #слой

Вопрос:

Я пытаюсь добавить слои к карте листовки, в которой эти слои могут переключать маркеры окружностей по диапазонам (0-100, 100-200 и т. Д.), Но по какой-то причине, когда я переключаю слой 100-200 футов, на карте ничего не меняется. Слои ‘All’ и ‘AMA’ будут переключаться.

Более того, уровень 100-200 не отображает данные, которые находятся внутри фрейма данных B. Фрейм данных b содержит только значения от 100 до 200 в столбце dtw, но маркеры на карте отображают значения ниже 100 и выше 200. Однако x dataframe отобразит весь dataframe от 0 до 1000 и будет правильно переключаться. Все объекты sf находятся в одном и том же CRS и имеют один и тот же класс.

Я новичок в элементах управления листовками и слоями, и я был бы очень признателен за помощь. Вот изображения карты листовки, которая не переключается правильно. Спасибо!

 x = usgs_spatial %>% st_transform(4326)

ama3 = ama %>% st_transform(4326)


pal1 = RColorBrewer::brewer.pal(9,"Blues")
pal2 = RColorBrewer::brewer.pal(9,"YlOrRd")

pals1 = colorNumeric(pal1, domain = x$dtw)
pals2 = colorNumeric(pal2, domain = x$dtw)
pals3 = colorBin("magma", domain = 1:8)

a = dtw_range(x, 0, 100) %>% select(wellid, date, dtw, measurement_dist)
b = dtw_range(x, 100, 200) %>% select(wellid, date, dtw, measurement_dist)
c = dtw_range(x, 200, 300) %>% select(wellid, date, dtw, measurement_dist)
leaflet() %>% 
  addProviderTiles(providers$CartoDB.Positron,[enter image description here][1] group = 'Tiles') %>% 
  addCircleMarkers(data =  b, #clusterOptions = markerClusterOptions(interactive()),
                   color = ~pals2(dtw), fillOpacity = .5,
                   stroke = FALSE,
                   popup = leafpop::popupTable(st_drop_geometry(x[,c(4, 7, 8, 13)]),
                                               feature.id = FALSE, 
                                               row.numbers = FALSE), group = '100 - 200 ft') %>% 
  addCircleMarkers(data = x, #clusterOptions = markerClusterOptions(interactive()),
                   color = ~pals2(dtw), fillOpacity = .5,
                   stroke = FALSE,
                   popup = leafpop::popupTable(st_drop_geometry(x[,c(4, 7, 8, 13)]),
                                               feature.id = FALSE,
                                               row.numbers = FALSE), group = 'All') %>%
  addPolygons(data = ama3,
              fillColor  = ~pals3(OBJECTID),
              color = 'black',
              label = ~MAP_LABEL, group = 'AMA') %>%
  addLayersControl(overlayGroups = c('All', '100-200 ft', 'AMA'), baseGroups = c("Tiles"))
  

Ответ №1:

Я понял это, я не изменил аргумент x в popupTable () на соответствующий фрейм данных, и у меня также были пробелы между ‘-‘ в addlayGroup () для ‘100-200 футов’, поэтому опция переключения не была выбрана.