在 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 坐标绘制地图的主要内容,如果未能解决你的问题,请参考以下文章

在图像上绘制 lat/lng 点

如何使用坐标数组在谷歌地图 API 中绘制多边形?

如何将 Google Maps plus 代码转换为 Lng 和 Lat 坐标

点击 Mapbox GL JS 显示 Lat Lng 坐标

百度地图腾讯地图,地图坐标标准转换

php 百度地图 腾讯地图 转换坐标