在 R 中提取相交值
Extracting Intersect Values in R
我想知道是否有一种特定的方法可以让我从 QLD sf 对象中提取 sa3_code_2016 并将每个相应的值添加到测试数据帧中。
已解决,需要使用相同的 CRS 广告 QLD 分配积分并执行 st_join()
示例数据:
library(absmapsdata)
library(leaflet)
library(tidyverse)
QLD <- sa32016 %>%
filter(state_name_2016 == "Queensland") %>%
dplyr::select(sa3_code_2016,geometry)
Points <- data.frame(Longitude = c(148.275355, 148.872268, 150.490145),
Latitude = c(-23.683148, -21.228157,-22.705135),
names = c("First", "Second", "Last"))
Points <- st_as_sf(Points, coords = c("Longitude", "Latitude")) %>%
st_set_crs(st_crs(QLD))
leaflet() %>%
addTiles() %>%
addPolygons(data=QLD,
color = "#b3acc2",
fillOpacity = 0.5) %>%
addMarkers(data=Points)
library(sf)
Test <- st_join(Points, QLD)
您的错误源于过滤 sa32016,但您没有使用过滤后的数据,而是在选择过程中再次使用未过滤的版本。这会导致你的错误。通过将完整数据分配给 QLD 然后通过管道,您的过程工作正常。
library(absmapsdata)
library(leaflet)
library(tidyverse)
QLD <- sa32016 # note this step
QLD <- QLD %>%
filter(state_name_2016 == "Queensland") %>%
select(sa3_code_2016,geometry)
name <- c("First", "Second", "Last")
lat <- c(-23.683148, -21.228157,-22.705135)
long <- c(148.275355, 148.872268, 150.490145 )
test <- cbind(name,lat,long)
leaflet() %>%
addTiles() %>%
addPolygons(data=QLD,
color = "#b3acc2",
fillOpacity = 0.5) %>%
addMarkers(data=test,
lng = long,
lat = lat)
我想知道是否有一种特定的方法可以让我从 QLD sf 对象中提取 sa3_code_2016 并将每个相应的值添加到测试数据帧中。
已解决,需要使用相同的 CRS 广告 QLD 分配积分并执行 st_join()
示例数据:
library(absmapsdata)
library(leaflet)
library(tidyverse)
QLD <- sa32016 %>%
filter(state_name_2016 == "Queensland") %>%
dplyr::select(sa3_code_2016,geometry)
Points <- data.frame(Longitude = c(148.275355, 148.872268, 150.490145),
Latitude = c(-23.683148, -21.228157,-22.705135),
names = c("First", "Second", "Last"))
Points <- st_as_sf(Points, coords = c("Longitude", "Latitude")) %>%
st_set_crs(st_crs(QLD))
leaflet() %>%
addTiles() %>%
addPolygons(data=QLD,
color = "#b3acc2",
fillOpacity = 0.5) %>%
addMarkers(data=Points)
library(sf)
Test <- st_join(Points, QLD)
您的错误源于过滤 sa32016,但您没有使用过滤后的数据,而是在选择过程中再次使用未过滤的版本。这会导致你的错误。通过将完整数据分配给 QLD 然后通过管道,您的过程工作正常。
library(absmapsdata)
library(leaflet)
library(tidyverse)
QLD <- sa32016 # note this step
QLD <- QLD %>%
filter(state_name_2016 == "Queensland") %>%
select(sa3_code_2016,geometry)
name <- c("First", "Second", "Last")
lat <- c(-23.683148, -21.228157,-22.705135)
long <- c(148.275355, 148.872268, 150.490145 )
test <- cbind(name,lat,long)
leaflet() %>%
addTiles() %>%
addPolygons(data=QLD,
color = "#b3acc2",
fillOpacity = 0.5) %>%
addMarkers(data=test,
lng = long,
lat = lat)