将州线添加到地理编码数据

Adding state lines to geocoded data

我正在使用函数 mapview 绘制地理编码数据。我的代码示例如下:

locations_sf <- st_as_sf(locations, coords = c("LONGITUDE", "LATITUDE"), crs = 4326)
mapview(locations_sf,cex=locations$FR,color="black",legend = FALSE,label=locations$NAME)

到目前为止一切正常。但是,我的数据来自美国,我想在地图上添加州线。到目前为止,我还没有在 mapview 中找到如何执行此操作。有什么建议吗?

好问题。在开始之前要考虑的最重要的事情可能是您从哪里获取地理数据以及您想要使用哪种类型的地理数据。

有许多可用的数据集源,大多数 R 包都有一些映射 goedata。大量地理数据来自网站:

https://gadm.org/data.html

此网站提供了大量 select 地理数据。要获取美国的州界数据,请从国家/地区下拉列表中选择 select 美国,然后选择 USA_1 作为您想要的详细程度。 USA_0 不显示个别州界,USA_1 显示州界,USA_2 显示县和州界。

您需要决定您需要两种常用地理数据类型中的哪一种:sp 或 sf。我为这个例子选择了 sf 数据类型,因为 sf 数据易于使用。您示例中显示的数据已从 sp 格式转换为 sf 格式。

下载、读取文件并将其分配给变量后,夏威夷州和阿拉斯加州将从数据中删除。这使得只有大陆 48 个州的地图更易于使用。

之后,使用 mapview() 绘制数据,并打开一个显示地图的浏览器选项卡。此处使用了 None 的 mapview() 格式化选项。代码如下:

df_1 <- readRDS("C:/python/datasets/GADM_Maps/US/gadm36_USA_1_sf.rds")
head(df_1, 3)
df49 <- df_1[df_1$NAME_1 != "Alaska", ]                       # remove AK from data
df48 <- df49[df49$NAME_1 != "Hawaii", ]                       # remove HI from data

mapview(df48$geom)

可以在此link:

查看mapview浏览器页面