我有一个包含船舶名称及其纬度和经度的数据框:
d <- data.frame(
object = c("TIGAN", "KETLIN", "VOSKHOD"),
long = c(59.38163, 59.42280, 59.90143),
lat = c(22.21518, 22.29112, 27.58729))
class(d)
我想在地图上绘制这些点。我已经从 shp 对象创建了一个地图。
library(sf)
map <- read_sf("C:\\Julia\\Estonia_shapefile\\ee_10km.shp")
class(map)
print(map)
plot(map)
library(ggplot2)
ggplot(st_union(map, by_feature = FALSE) %>% st_sf()) + geom_sf()
如何在地图上添加此对象?
你会做这样的事情:
library(sf)
library(ggplot2)
library(dplyr)
d <- data.frame(
object = c("TIGAN", "KETLIN", "VOSKHOD"),
long = c(59.38163, 59.42280, 59.90143),
lat = c(22.21518, 22.29112, 27.58729)) %>%
st_as_sf(coords = c("long", "lat"), crs = 4326)
map <- read_sf("C:\\Julia\\Estonia_shapefile\\ee_10km.shp")
ggplot() +
geom_sf(data = d, aes(color = object)) +
geom_sf(data = map) +
coord_sf()