gpt4 book ai didi

从 shapefile (R) 中只读数据槽?

转载 作者:行者123 更新时间:2023-12-04 11:55:42 24 4
gpt4 key购买 nike

我有一些非常大的 shapefile。我可以将它们读入 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)

最佳答案

Shapefile 是复合文件,将它们的属性数据存储在扩展名为 *.dbf 的文件中。 . (请参阅 Wikipedia shapefile article 作为引用。) dbf后缀指的是dBase file format , 可以通过函数 read.dbf() 读取在 foreign包裹。

所以,试试这个:

library(foreign)
df <- read.dbf("tl_2011_01_tabblock.dbf")
## And, more generally, read.dbf("path/to/shapefile/shapefile-name.dbf")

关于从 shapefile (R) 中只读数据槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com