如何通过纬度过滤sf对象?

时间:2019-06-11 15:21:02

标签: r sf

数据

我有一个安大略省边界的shapefile,内容如下:

library(sf)
library(here)
ontario <- sf::st_read(here::here("data", "messy_data", "Ontario.shp"), quiet = TRUE) %>%
  st_transform(4326)

它可以绘制如下:

enter image description here

问题

我只想保留ontario的{​​{1}}数据。但是由于它是latitude < 51对象,所以sf不起作用。我知道我可以使用dplyr::filter(latitude < 51)提取坐标,但是如何将它们重新加入数据以过滤出更高的海拔呢?
另外,st_coordinates()中是否可以使用任何函数进行过滤?我调查了帮助,但到目前为止找不到任何相关内容。

1 个答案:

答案 0 :(得分:2)

让我们从GADM数据中获取加拿大

public void setSwipeBack()
{
    swipeBack = false;
    buttonShowedState = ButtonsStates.GONE;

}

这应该是安大略省:

library(raster)
library(sf)
cdn = getData("GADM",country="can",level=1)

转换为ont = cdn[9,] ont$NAME_1 对象:

sf

现在开始营业-向北51度倾斜:

ont = st_as_sf(ont)

enter image description here