使用dplyr查找多边形的中心

时间:2018-12-19 22:53:37

标签: r dplyr spatial

我正在制作一条地图,用弧线连接美国密苏里州的县。我已经通过取每个多边形的长/纬度的平均值来计算每个县的“足够好”的中心。这对于或多或少为方形的县都有效,但对形状较复杂的县则不太好。我认为这肯定是很常见的,但是我无法在线找到答案或使用我创建的任何功能找到答案。我想使用一个整洁的工作流程(即,如果可以帮助的话,请不要转换为空间对象)。是否有解决当前问题的方法。

您可以在下面的示例中看到问题。

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()

Example from code above

0 个答案:

没有答案