R 组合具有不同列的空间数据帧
我有三个不同的空间数据帧,我正试图将它们组合成一个大的。可复制代码如下所示:R 组合具有不同列的空间数据帧,r,leaflet,geospatial,raster,sp,R,Leaflet,Geospatial,Raster,Sp,我有三个不同的空间数据帧,我正试图将它们组合成一个大的。可复制代码如下所示: library(sf) library(sp) library(leaflet) library(tigris) library(rgdal) library(raster) library(dplyr) # Dataset 1 --------------------------------------------------------------- set1 <- voting_districts("
library(sf)
library(sp)
library(leaflet)
library(tigris)
library(rgdal)
library(raster)
library(dplyr)
# Dataset 1 ---------------------------------------------------------------
set1 <- voting_districts("nevada")
set1 <- subset(set1,set1$COUNTYFP10 != '003')
set1 <- subset(set1,set1$COUNTYFP10 != '031')
# Dataset 2 ---------------------------------------------------------------
#Dataset Download Link:
#https://opendata.arcgis.com/datasets/3e738fdaca2b4aeba0c18a2478cae956_0.zip?outSR=%7B%22wkid%22%3A102707%2C%22latestWkid%22%3A3421%7D
dsn <- "./Precincts"
set2 = readOGR(dsn)
# Dataset 3 ---------------------------------------------------------------
#Dataset Download Link:
#https://opendata.arcgis.com/datasets/fcab7fcd0b2e4243b4f6d7292c2e4daa_7.zip?outSR=%7B%22latestWkid%22%3A3423%2C%22wkid%22%3A102709%7D
dsn <- "./Voter_Districts"
set3 = readOGR(dsn)
# Transform ---------------------------------------------------------------
set1 <- spTransform(set1, CRS("+init=epsg:4326"))
set2 <- spTransform(set2, CRS("+init=epsg:4326"))
set3 <- spTransform(set3, CRS("+init=epsg:4326"))
# Plot --------------------------------------------------------------------
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( fillColor = "red",
color = "black",
weight = 1.0, data = set1) %>%
addPolygons( fillColor = "blue",
color = "black",
weight = 1.0, data = set2) %>%
addPolygons(fillColor = "green",
color = "black",
weight = 1.0, data = set3)
这可能吗?考虑到它们是三个不同的数据集,有不同的列,我不确定是否可以做到。正如评论中所说,有解决方案。
bind
和graster::union
对我都有效
ab <- bind(set2,set3)
ab <- raster::union(set2,set3)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( fillColor = "blue",
color = "black",
weight = 1.0, data = ab)
ab%
添加多边形(fillColor=“蓝色”,
color=“黑色”,
重量=1.0,数据=ab)
您好,很抱歉,如果没有这些文件,它是不可复制的。但是这个链接能帮助你吗?[@johannestötzer我确实包含了这些文件。set2和set3包含下载链接。
ab <- bind(set2,set3)
ab <- raster::union(set2,set3)
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons( fillColor = "blue",
color = "black",
weight = 1.0, data = ab)