全县平均经纬度

问题描述 投票:-1回答:2

我有一个大数据框(832k行),网格格式加上一个变量,纬度和经度。我想绘制每个县的这个变量的平均值。问题是我没有逐点识别县或州,只有坐标。

对不起,我不知道如何包含一个可复制的示例

r maps gis
2个回答
1
投票

两种方法:

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

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


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)
© www.soinside.com 2019 - 2024. All rights reserved.