У меня есть несколько очень больших шейп-файлов. Я могу прочитать их в SpatialPolygonsDataFrame
с помощью функции rgdal
readOGR
, но это занимает очень много времени для каждого файла. На самом деле меня интересует только data.frame
, который появляется в слоте @data
. Есть ли способ прочитать только данные, минуя ресурсоемкие полигоны?
Пример кода:
## State of Alabama census blocks (152 MB compressed, 266 MB uncompressed)
shpurl <- "http://www2.census.gov/geo/tiger/TIGER2011/TABBLOCK/tl_2011_01_tabblock.zip"
tmp <- tempfile(fileext=".zip")
download.file(shpurl, destfile=tmp)
unzip(tmp, exdir=getwd())
## Read shapefile
nm <- strsplit(basename(shpurl), "\\.")[[1]][1]
lyr <- readOGR(dsn=getwd(), layer=nm)
## Data I want
head(lyr@data)
readOGR
? Это вполне может указывать либо на отдельные чтения из исходного файла для разных фрагментов данных, либо на то, что такого нет. - person Carl Witthoft   schedule 14.11.2012@data
, может быть проще создать собственную функцию для чтения непосредственно из этот файл. - person Carl Witthoft   schedule 14.11.2012data.frame
для слота@data
. - person attitude_stool   schedule 14.11.2012