0

具有恒定标记大小的地理图

数据表

我有美国野火的数据,坐标和它们各自的面积以 ACRES 为单位。到目前为止,我已经能够使用恒定的标记大小(比如等于 1)来绘制它。问题是,一些森林火灾跨越了 10000 多英亩,因此我不能使用 fire_size 的列作为标记大小。我还希望标记的大小与区域成正比,并且我想将其匹配到地图/地理图上,因此更大的火在地图上看起来更大,并且它们的大小准确匹配。如果有人知道美国土地面积的大小对应于标记大小为 1,我将能够将 ACRES 正确转换到地理图上。到目前为止,我已经在 R 中做到了这一点。这是我的代码,我在网上附上了一张图片。

coords = read_csv("us_fires_coords.csv")

geo_properties = list(
  scope = 'usa',
  projection = list(type = 'albers usa'),
  showland = TRUE,
  showsubunits = FALSE,
  landcolor = toRGB('gray10'),
  showlakes = TRUE,
  lakecolor = toRGB('white')
)

coords_map = plot_geo(coords %>% sample_n(10000),
                      lat = ~LATITUDE,
                      lon = ~LONGITUDE,
                      marker = list(size = 2, color = "#DC143C", opacity = 0.25)) %>%
  add_markers(hoverinfo = "none") %>%
  config(displayModeBar = FALSE) %>%
  layout(geo = geo_properties) 

coords_map

4

1 回答 1

1

不幸的是,没有办法以像素为单位控制标记的大小,以便以某种已知的方式将其缩放到基础地图上的等效英亩数。地图像素和英亩之间的映射取决于图形大小、缩放级别、边距等变量,而标记的像素大小是从数据中简单计算出来的,标记不会缩放/shrink 与地图同步。

于 2021-04-16T17:24:54.460 回答