gpt4 book ai didi

r - 如何对 shapefile 进行子集化

转载 作者:行者123 更新时间:2023-12-02 08:31:43 25 4
gpt4 key购买 nike

shapefile“Property1A”的数据集是:

 df
# suburb area asst
# 0 Te Aro 14.541780 R076
# 1 Te Aro 7.655428 R076
# 2 Te Aro 3189.976134 <NA>
# 3 Te Aro 242.173386 0132
# 4 Karori 537.697290 R003
# 5 Pipitea 1116.954993 R105
# 6 Mt Cook 106.099900 R151
# 7 Te Aro 83.307421 R057
# 8 Aro Valley 544.665788 R105
# 9 Aro Valley 59.726882 R110

当我尝试对郊区“Te Aro”的 shapefile 进行子集化时,我使用的代码是:
TeAro <- subset(Property1A, suburb == "Te Aro") 

但是有一个错误:
TeAro <- subset(Property1A, suburb == "Te Aro")
# Error in eval(expr, envir, enclos) : object 'suburb' not found

为什么会出现错误?

最佳答案

subset与名字应该工作。您不需要 shapefiles如果您正在阅读 readOGR,请打包:

> require(rgdal)
Loading required package: rgdal
Loading required package: sp
rgdal: version: 0.8-14, (SVN revision 496)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.9.0, released 2011/12/29
Path to GDAL shared files: /usr/share/gdal/1.9
Loaded PROJ.4 runtime: Rel. 4.8.0, 6 March 2012, [PJ_VERSION: 470]
Path to PROJ.4 shared files: (autodetected)

将印度各州的 169 个多边形变成一个空间对象:
> India = readOGR(".","india_state")
OGR data source with driver: ESRI Shapefile
Source: ".", layer: "india_state"
with 169 features and 3 fields
Feature type: wkbPolygon with 2 dimensions

现在按名称子集:
> Gujarat = subset(India, NAME=="Gujarat")
> dim(Gujarat)
[1] 12 3
> dim(India)
[1] 169 3

我可以绘制这些对象,它们映射得很好:
> plot(Gujarat)

如果没有您的数据或不知道 R 的版本和您拥有的软件包,就无法知道为什么这对您来说失败了。

包装: rgdal
版本:0.8-14

包装:sp
版本:1.0-14

R 版本 3.0.2....

关于r - 如何对 shapefile 进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985395/

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