【发布时间】:2021-10-09 00:48:20
【问题描述】:
我正在尝试在从 shapefile(在此link 下载)创建的地图上叠加几个点。我正在使用 sf 包来绘制我的地图,并且能够得到以下地图。
first.map<-ggplot()+
geom_sf(data = shp)+
ggtitle("First Map")
如您所见,这很好用,但是当我尝试叠加我的点时,我得到以下结果。
second.map<-ggplot()+
geom_sf(data = shp)+
geom_point(data=locations, aes(long,lat),inherit.aes = F)+
ggtitle("Second Map")
我认为这与 sf 如何解释我的点的坐标有关,但我不知道如何将我的点坐标变成 R 想要的坐标。下面是我试图覆盖的坐标。我在处理此类数据方面不是很有经验,因此我们将不胜感激。
locations<-data.frame(id=c(1,2,3,4,5),
long=c(96.73872,96.69264,96.69264,96.69250,96.68029),
lat=c(43.52769,43.53598,43.53598,43.54669,43.53585))
【问题讨论】:
-
查看
st_crs(shp)和st_coordinates(shp)。您的 CRS 以美国英尺为单位,并且似乎与您的位置数据具有非常不同的规模。我通常会尝试将我所有的空间数据变成 sf 对象(或一个都没有)以避免这种情况。尝试从点中制作一个 sf 并投影到与地区相同的 CRS -
修改我的评论,您的经度分量应该是负数。这使得这个边界成为一个错字