我想问,
有一种方法可以从下载的RDS地理文件中获取经度和纬度变量(在data.frame中),例如:https://gadm.org/download_country_v3.html。
我知道我们可以轻松使用以下方法从该数据集中进行绘制:
df2 <- readRDS("C:/Users/petr7/Downloads/gadm36_DEU_1_sp.rds")
library(leaflet)
library(ggplot2)
# Using leaflet
leaflet() %>% addProviderTiles("CartoDB.Positron")%>%addPolygons(data=df, weight = 0.5, fill = F)
# Using ggplot
ggplot() +
geom_polygon(data = df2, aes(x=long, y = lat, group = group), color = "black", fill = F)
甚至没有df2$
都没有纬度和经度选项
我会做这样的事情:
# packages
library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
my_url <- "https://biogeo.ucdavis.edu/data/gadm3.6/Rsf/gadm36_ITA_0_sf.rds"
data <- readRDS(url(my_url))
italy_coordinate <- st_coordinates(data)
head(italy_coordinate)
#> X Y L1 L2 L3
#> [1,] 12.61486 35.49292 1 1 1
#> [2,] 12.61430 35.49292 1 1 1
#> [3,] 12.61430 35.49347 1 1 1
#> [4,] 12.61375 35.49347 1 1 1
#> [5,] 12.61375 35.49403 1 1 1
#> [6,] 12.61347 35.49409 1 1 1
由reprex package(v0.3.0)在2019-12-27创建
现在您只需要根据您的问题更改网址。阅读st_coordinates
功能(即?sf::st_coordinates
)的帮助页面,以了解L1,L2和L3列的含义。