【问题标题】:Merge spatialpolygons with external data and select polygons on attribute将空间多边形与外部数据合并并在属性上选择多边形
【发布时间】:2017-09-15 13:29:05
【问题描述】:

我正在尝试在 R 中绘制我的研究区域。到目前为止,我已经下载了人口普查 OA 边界数据,并将属性数据合并到我希望查看的 OA。
因此,让我们从总共 1,000 个 OA 中说。我只想查看其中的 500 个 OA,我有外部数据集。 Land 是我的空间多边形数据框,其中包含 1,000 个 OA。它有一列是 OA 名称“地理代码”。但是,它有它的坐标,因为你在运行:

coordinates(land)

它产生所有的坐标。

Houseprice 是一个数据框,其中包含房价和带有地理编码的列。

远代码:

library("sp")
library("GISTools")
library("maptools")
library("spatial")
library("ggplot2")
library("rgdal")

land@data = merge(land@data,houseprice,by.x="geocode", 
by.y="geocode",sort=FALSE)

View(land)

这表明我只有 500 个条目(这是我想要的)。

plot(land)

这最终绘制了整个 1,000 个 OA,而不仅仅是我想要的 500 个。

对于仅绘制数据的 500 个 OA,我必须做什么? 感谢您的帮助

【问题讨论】:

    标签: r mapping sp rgdal maptools


    【解决方案1】:

    您可以直接在空间数据上使用merge,因为有一种方法可以做到这一点。然后,您只选择在您添加的列中没有 NA 的行(在下面的示例中称为 my_col)。
    这里您只修改了属性表,但没有修改几何图形

    # Merge with external dataset
    land2 <- merge(land, houseprice,by.x="geocode", by.y="geocode",sort=FALSE, all.x = TRUE)
    # Select only rows of interest
    land500 <- land2[which(!is.na(land2$my_col)),]
    plot(land500)
    

    【讨论】:

    • 不幸的是,这仍然没有删除空多边形。 plot(land500) #这仍然会绘制所有的多边形还有什么帮助吗?
    • 没有你的数据或可重复的例子,我不能做更多
    • 当您从示例中创建land2 时,它会创建一个数据框,而不是保留一个空间多边形数据框。你知道解决办法吗?
    • 如果land是SpatialPolygonDataFrame,那么land2也应该是1。为确保使用正确的合并,请使用 sp::merge
    猜你喜欢
    • 2018-12-22
    • 1970-01-01
    • 2018-08-21
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2017-10-16
    相关资源
    最近更新 更多