2017-04-11 3 views
3

Ich arbeite gerade mit geographischen Daten, um sie abzubilden. Ich habe zwei verschiedene Shapefiles. Ich möchte eine fette Grenze zwischen Kanada und den USA setzen und ich habe keine Ahnung, wie ich das machen soll.Hinzufügen fetter Grenzen zwischen USA und Kanada in r.

# Load packages ---------------------------------------------------------------- 
library(dplyr) 
library(readr) 
library(ggplot2) 
library(rgdal) 
library(ggmap) 

# Load data -------------------------------------------------------------------- 
canada <- readOGR(dsn = "00-raw/gcd_000b11a_e/", layer = "canada") %>% fortify() 
us <- readOGR(dsn = "00-raw/usmaps/us/", layer = "co99_d90") %>% fortify() 

# Maps ------------------------------------------------------------------------- 
gg <- ggplot() + geom_map(data=canada, map=canada, 
        aes(long, lat, map_id=id), 
        size=0.1, fill=NA, color = "black") + 
    coord_map("stereographic", xlim=c(-120, -60)) + 
    geom_map(data=us, map=us, 
      aes(long, lat, map_id=id), 
      size=0.1, fill=NA, color = "black") + 
    theme_nothing(legend = T) 

enter image description here

Antwort

3

Verwenden Sie eine Funktion geospatial Statistiken von Paket sf die Grenze "Form" zu finden. Dann einfach darüber streichen.

library(sf) 
border <- st_intersection(us, canada) 
gg + geom_map(data=border, map=us, 
     aes(long, lat, 
     size=0.1, fill=NA, color = "red") 
Verwandte Themen