Не удается загрузить шейп-файл в R "Ошибка: функции не найдены" - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь прочитать шейп-файл, который вы можете загрузить с помощью этого url .

У меня есть код, аналогичный следующему, для автоматической загрузки файлов:

library("raster")}
url<-"http://www6.gipuzkoa.eus/CATASTRO/Planos/ZIP-A098.zip"
downloader::download(url, dest=paste0(getwd(),"/","my_file.zip"), mode="wb",quiet=T)

zipped_shape_names<-c("098_HELBIDE_SHP/ATRIBUTOAK-A098.cpg","098_HELBIDE_SHP/ATRIBUTOAK-A098.dbf","098_HELBIDE_SHP/ATRIBUTOAK-A098.shp","098_HELBIDE_SHP/ATRIBUTOAK-A098.shx")

unzip("my_file.zip", files=zipped_shape_names)
my_shape<-raster::shapefile("098_HELBIDE_SHP/ATRIBUTOAK-A098.shp")

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

Error in rgdal::readOGR(dirname(x), fn, stringsAsFactors = stringsAsFactors,  : 
  no features found
In addition: Warning messages:
1: In .local(x, ...) : .prj file is missing
2: In ogrFIDs(dsn = dsn, layer = layer) : no features found

Вы можете получить доступ к исходной веб-странице по этой ссылке и нажав «Descargar planos»

У меня нет этой проблемы с другими областями, только с этой и другой, но я не знаю, что происходит с этой конкретной областью.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Более простой код будет

library(raster)
url<-"http://www6.gipuzkoa.eus/CATASTRO/Planos/ZIP-A098.zip"
download.file(url, dest="my_file.zip")
unzip("my_file.zip")   
s <- raster::shapefile("098_HELBIDE_SHP/ATRIBUTOAK-A098.shp")

Очевидно, что этот файл пуст.Тем не менее, это работает для этого файла:

s <-raster::shapefile("098_LANDALUR_SHP/LANDALUR-PARTZELAK-A098.shp")
0 голосов
/ 22 октября 2018

Сообщение об ошибке совершенно ясно.no features found означает, что ваш шейп-файл пуст.Вы можете проверить это несколькими способами.

Одним из них является добавление шейп-файла в Q-Gis или любой другой инструмент ГИС-программного обеспечения.В случае Q-GIS ваш шейп-файл появится на панели слоев, но вы не увидите никаких функций.

Также можно проверить файл .dbf в R:

library(foreign)
read.dbf("098_HELBIDE_SHP/ATRIBUTOAK-A098.dbf")

.dbf должно содержать столько строк, сколько имеется объектов.В вашем случае None.

...