经纬度的县平均值

时间:2019-04-18 17:02:10

标签: r maps gis

我有一个大数据框(83.2万行),具有经网格格式的纬度和经度以及一个变量。我想绘制每个县这个变量的平均值。问题是我没有按点识别县或州的信息,只有坐标。

抱歉,我不确定如何添加可复制的示例

2 个答案:

答案 0 :(得分:1)

两种方法:

1)计算所有纬度/经度网格的平均值。这种方法会使您的县中心偏向更高密度的网格

2)计算网格的边界[min-max lat / lon]并平均边界。这种方法将县中心放置在网格跨度的中心。

答案 1 :(得分:0)

您将需要获取县(或州)数据,然后在空间上将其与数据框合并。此类数据的一种可能来源是美国人口普查发布的TIGER形状文件(例如,参见https://catalog.data.gov/dataset/tiger-line-shapefile-2016-nation-u-s-current-county-and-equivalent-national-shapefile)。

然后您可以使用sf包将shapefile读取到R中,将其与数据连接起来,然后使用常规的汇总功能按县汇总数据。

library(sf)

filename <- 'https://www2.census.gov/geo/tiger/TIGER2016/COUNTY/tl_2016_us_county.zip'
tmpfile <- tempfile()
tmpdir <- tempdir()
download.file(filename,tmpfile)
unzip(zipfile = tmpfile, exdir = tmpdir)
county_data <- st_read(paste0(tmpdir, '/tl_2016_us_county.shp'))
unlink(tmpfile)
unlink(tmpdir)