从RDS gadm文件获取经度和纬度

问题描述 投票:0回答:1

我想问,

有一种方法可以从下载的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$都没有纬度和经度选项

ggplot2 leaflet maps
1个回答
0
投票

我会做这样的事情:

# 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列的含义。

© www.soinside.com 2019 - 2024. All rights reserved.