我正在制作一条地图,用弧线连接美国密苏里州的县。我已经通过取每个多边形的长/纬度的平均值来计算每个县的“足够好”的中心。这对于或多或少为方形的县都有效,但对形状较复杂的县则不太好。我认为这肯定是很常见的,但是我无法在线找到答案或使用我创建的任何功能找到答案。我想使用一个整洁的工作流程(即,如果可以帮助的话,请不要转换为空间对象)。是否有解决当前问题的方法。
您可以在下面的示例中看到问题。
library(tidyverse)
# import all state/county fortified
all_states <- as_tibble(map_data('county'))
# filter for missouri
mo_fortify <- all_states %>%
filter(region == 'missouri')
## Pull Iron county, which is relatively oddly shaped
mo_iron_fortify <- mo_fortify %>%
group_by(subregion) %>%
mutate(long_c = mean(long),
lat_c = mean(lat),
iron = ifelse(subregion == 'iron','Iron','Others')) %>%
ungroup()
# map a ggplot2 map
mo_iron_fortify %>%
ggplot(aes(long, lat, group = group))+
geom_polygon(aes(fill = iron),
color = 'white')+
geom_point(aes(long_c, lat_c))+
scale_fill_grey('Iron county is\na good example')+
coord_map()+
theme_bw()