我正在尝试使用ggplot2创建一个简单的地图,以显示一系列流域和数据点。
数据点存储在.csv文件中,如下所示:
我已经投影了点并创建了SpatialPointDataFrame,然后将它们存储在数据框中:
points <- read.csv(c(paste0("./Points/", "points.csv")), header = T, sep = ",")
coordinates(points) <- ~Lat + Lon
cord <- "+init=epsg:2163"
proj4string(points) <- CRS(cord)
points_df <- as.data.frame(points, region = "id")
所有盆地文件都存储在同一目录中,并且已被读取到单个空间多边形数据框中,如下所示:
然后使用以下方法将其转换为数据框:
basins_TX$id <- rownames(basins@data)
basins_TX_df <- tidy(basins, region = "id")
然后我尝试使用以下代码创建地图:
ggplot() +
geom_polygon(data = basins_df,
aes(x = long, y = lat, group = group),
fill = "white", color = "black") +
geom_point(data = points_df,
aes(x = Lon, y = Lat),
color = "red")
这将创建一个包含多边形和一个点位于0,0的地图:
无论我正在查看数据的哪一部分,都将发生这种情况。我想准确显示点和多边形。
答案 0 :(得分:0)
问题实际上与我的数据预测有关。我已经定义了点文件的投影而不是投影它,所以它是不正确的。我能够通过正确地重新定义并使用spTransform
将其保留,以防其他遇到类似问题,尽管该错误不在ggplot2脚本中。