Не могу прочитать файл shp в R - PullRequest
1 голос
/ 18 апреля 2020

Я пытался открыть файл shp на моем Ma c, используя этот код:

library(tidyverse)
library(sf)
library(rgeos)
sf_trees_raw <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-01-28/sf_trees.csv')
temp_shapefile <- tempfile()
download.file("https://www2.census.gov/geo/tiger/TIGER2017//ROADS/tl_2017_06075_roads.zip", temp_shapefile)
sf_roads <- unzip(temp_shapefile, "tl_2017_06075_roads.shp") %>%
  read_sf()

Но я получаю это сообщение об ошибке:

Error: Cannot open "/Users/name/Documents/Playground/Trees_SF/tl_2017_06075_roads.shp"; The source could be corrupt or not supported. See `st_drivers()` for a list of supported formats.

Я пробовал другой shp файлы, и я получаю то же сообщение об ошибке:

map <- read_sf("per_admbnda_adm1_2018.shp")
Error: Cannot open "/Users/name/Documents/Playground/Trees_SF/per_admbnda_adm1_2018.shp"; The source could be corrupt or not supported. See `st_drivers()` for a list of supported formats.

Я пытался скопировать файлы shx и dbf, но это не решает проблему.

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 18 апреля 2020

Попробуйте сначала распаковать всю загрузку, а затем прочитать файл shapefile. Хотя для sf вам нужно только указать на файл .shp, все остальные (.cpg, .prj, .shx, et c) должны быть разархивированы и находиться в том же каталоге.

temp_shapefile <- tempfile()
download.file("https://www2.census.gov/geo/tiger/TIGER2017//ROADS/tl_2017_06075_roads.zip", temp_shapefile)
unzip(temp_shapefile)

sf_roads <- read_sf('tl_2017_06075_roads.shp')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...