Я делаю карту с линиями дуг, соединяющими графства в американском штате Миссури.Я рассчитал «достаточно хорошие» центры каждого графства, взяв среднее значение длинного / лат каждого многоугольника.Это хорошо работает для округов с более или менее квадратной формой, но в меньшей степени для округов с более сложной формой.Я думаю, что это должно быть обычным явлением, но я не могу найти ответ в Интернете или с помощью любой функции, которую я создал.Я хотел бы использовать рабочий процесс по принципу Tidyverse (т.е. не преобразовывать в пространственные объекты, если я могу помочь).Есть ли какие-либо решения проблемы под рукой.
Вы можете увидеть проблему в примерах ниже.
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()