Tôi đang gặp một số khó khăn khi vẽ dữ liệu không gian của mình bằng ggplot2. Bản đồ trông ổn khi được vẽ bằng cách sử dụng spplot, vì vậy tôi cho rằng sự xé rách xảy ra ở giai đoạn củng cố.
Mã như sau:
#install the packages
library(rgdal)
library(mapproj)
library(raster)
library(rgeos)
library(ggplot2)
library(plyr)
if (!require(gpclib)) install.packages("gpclib", type="source")
gpclibPermit()
setwd("C:/Users/My Documents")
#read in laa to regional mapping
#must aggregate to higher level regions as data is provided at this higher level
laa_region_mapping <- read.csv("laa_region.csv", header = TRUE)
#read in LAA polygons
laa_polygons <- readOGR("ctyua_ew_generalised_WGS84.json", "OGRGeoJSON")
#merge by laa to add region column to polygon data
laa_polygons_with_region_data <- merge(laa_polygons, laa_region_mapping,
by.x = "CTYUA13NM", by.y = "LAA",
all.x = TRUE, all.y = TRUE)
# aggregate laa polygons by the 21 regions (aggregate by regoin_code)
region_polygons <- raster::aggregate(laa_polygons_with_region_data, "region_code")
Tập hợp đã hoạt động, như spplot có thể nhìn thấy (lưu ý: Tôi đã tìm thấy cách tổng hợp theo các vùng từ bài SE này: Tham gia đa giác không gian theo mã trong R )
#plot the resulting polygons using spplot
spplot(region_polygons)
Nhưng khi tôi củng cố dữ liệu không gian để tôi có thể sử dụng ggplot, có rách xung quanh các cạnh.
#fortify and merge to create the data frame ggplot will show on the map
region_polygons@data$id <- rownames(region_polygons@data)
region_polygons.points <- fortify(region_polygons, region = "id")
# plot the fortified df using ggplot
ggplot(data = region_polygons.points, aes(x= long, y = lat, group = id, fill=id)) + geom_polygon()
Làm thế nào tôi có thể ngăn chặn sự xé này?
Tôi đã xem xét các phản hồi tương tự trên SE, nhưng các phản hồi cho thấy hiện tượng xé rách xảy ra trong quá trình hợp nhất ( Nguyên nhân của việc "xé rách" đa giác (tạo tác) bằng R, ggplot và geom_polygon là gì? ). Tôi nghĩ rằng sự xé rách của tôi xảy ra ở giai đoạn củng cố như là spplot trước khi củng cố có vẻ tốt.