在传单R中创建最小的网格

Create smallest grid in leaflet R

我想在传单 R 中尽可能创建最小的网格。我应该怎么做?

我当前的代码是:-

leaflet()%>%
  addTiles() %>%
  setView(lng = 101.9758, lat = 4.21053, zoom = 10)) %>%
  addGraticule(interval = 0.02, sphere = FALSE) %>%
  addMarkers(101.6995, 3.1473) 

这里是缩放前代码输出的图片

这里是放大后的图片

网格 相当大 放大后,但如果我更改 addGraticule(interval = 0.01),我的 笔记本电脑挂起 并且无输出结果。我希望网格像下图一样小

还有其他方法可以实现我的目标吗?

我发现了其他可能有用的功能,即

addSimpleGraticule(
  map,
  interval = 20,
  showOriginLabel = TRUE,
  redraw = "move",
  hidden = FALSE,
  zoomIntervals = list(),
  layerId = NULL,
  group = NULL
)

zoomIntervals :- 在不同的缩放级别使用不同的间隔。如果未指定,所有缩放级别都使用间隔选项中的值。

但我不确定如何指定 zoomIntervals 参数。

R 函数的文档 addSimpleGraticule 不是很冗长,但您可以获得有关所需数据结构的提示 here

您可以使用 zoomIntervals 选项根据缩放级别设置每米的网格线数:

library(leaflet)

leaflet() %>%
  addTiles() %>%
  setView(lng = 101.6995, lat = 3.1473, zoom = 20) %>%
  addMarkers(101.6995, 3.1473) %>%
  addSimpleGraticule(
    showOriginLabel = TRUE,
    redraw = "move",
    hidden = FALSE,
    zoomIntervals = list(
      list(start = 1, end = 3, interval = 10),
      list(start = 4, end = 9, interval = 1),
      list(start = 10, end = 17, interval = 0.1),
      list(start = 18, end = 20, interval = 0.0002)
    ),
    layerId = NULL,
    group = NULL
  )