地块标记大小与地块面积之比是多少?

问题描述

geoplot with constant marker size

data table

我有美国野火的数据,在 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

解决方法

不幸的是,无法以像素为单位控制标记的大小,以使其以某种已知方式缩放到底层地图上的等效英亩。地图像素和英亩之间的映射取决于图形大小、缩放级别、边距等变量,而标记的像素大小是根据数据进行的简单计算,标记不会缩放/shrink 与地图同步。