在 R 中使用 lat 和 lng 坐标绘制地图
Posted
技术标签:
【中文标题】在 R 中使用 lat 和 lng 坐标绘制地图【英文标题】:plot a map using lat and lng coordinates in R 【发布时间】:2022-01-03 19:49:47 【问题描述】:我的数据集有 4 列分别是 station_name、station_lat、station_lng 和 count。这是我的数据集的示例。
站
我想在地图上绘制这些坐标。参考之前关于这个主题的帖子,我尝试了这段代码。但它不起作用。
install.packages(c("leaflet", "sp"))
library(leaflet)
library(leaflet)
lon <- stations$start_lng
lat <- stations$start_lat
df <- as.data.frame(cbind(lon,lat))
coordinates(df) <- ~lon+lat
leaflet(df) %>% addMarkers() %>% addTiles()
【问题讨论】:
【参考方案1】:向 R 说明哪些列是 xy 是不够的。您还需要将 data.table 转换为 sf 对象,并说明您使用的地理坐标系。
#object with your data
#state which columns are lon and lat
coordinates(dt) <- ~lng+lat
#convert to sf object
dt <- st_as_sf(dt)
#set crs (WSG1984 seems to be used here)
st_crs(dt) <- 4326
#create leaflet
leaflet(dt) %>% addMarkers() %>% addTiles()
【讨论】:
我收到错误消息“值错误 [[3L]](cond):无法卸载包 'sp' 版本 1.4.5:unloadNamespace(package) 中的错误:命名空间 'sp' 是由“RgoogleMaps”导入,因此无法卸载”。 删除“RgoogleMaps”包并重新启动后,我可以停止此错误。然后安装“sf”包我得到了所需的结果。以上是关于在 R 中使用 lat 和 lng 坐标绘制地图的主要内容,如果未能解决你的问题,请参考以下文章