r - 使用 R 中的 shapefile 显示区域的子集

标签 r gis shapefile

我有一个英国的 shapefile:https://geoportal.statistics.gov.uk/Docs/Boundaries/Local_authority_district_(GB)_2014_Boundaries_(Generalised_Clipped).zip

我已将 shapefile 读入变量,UK

>UK <- readOGR(dsn = "....."
>England <- UK

我只想显示英语地方政府区域。它们在 LAD_DEC_2014_GB_BGC.dbf 中指定,其中 LAD14CD 以“E”开头

>UK@data

      LAD14CD                      LAD14NM                 LAD14NMW

0   E06000001                   Hartlepool                     <NA>
1   E06000002                Middlesbrough                     <NA>
2   E06000003         Redcar and Cleveland                     <NA>
371 W06000015                      Cardiff                 Caerdydd

>#filter UK@data and replace England@data with only English regions
>England@data <- UK@data$LAD14CD[c(grep("^E", UK$LAD14CD))]

>plot(England)

但是 grep 命令似乎将 shapefile 更改为一个因子,这意味着绘图如下所示: enter image description here

最佳答案

使用此命令:

England <- UK@data$LAD14CD[c(grep("^E", UK$LAD14CD))]

...您仅对数据槽中的一列进行子集化,而不是对整个 shapefile 进行子集化,并将其分配给英格兰

这应该可以完成工作:

England <- UK[grep("^E", UK@data$LAD14CD),]

注意,您需要在其中添加逗号!另外,您不需要将 grep 语句包装在 c() 中,但这并没有什么坏处,只是没有必要。

关于r - 使用 R 中的 shapefile 显示区域的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597899/

相关文章:

r - 将全局环境中的多个数据框合并到一个文件中

c# - 全局坐标集(UTM 与 Geo)

c# - 形状文件到 SQL Server

c# - 使用 C# 将 shapefile(.shp) 转换为 SQL Server 2008?

r - 使用 purrr 创建 quosures 列表

R Lavaan 包错误 : some latent variable names collide with observed variable names

r - 如何轻松地用 rvest 友好的 UTF-8(十六进制)替换特殊字符

javascript - 在 OpenLayers 中拥有多边形的 removeLastPoint() 函数

python - 使用纬度经度坐标从卫星图像获取最近的像素值

r - ggplot2:组合来自两个不同地理数据集的形状文件