在 R 中使用 lat 和 lng 坐标绘制地图
plot a map using lat and lng coordinates in R
我的数据集有 4 列,分别是 station_name、station_lat、station_lng,count.This 是我的数据集的示例。
站 <- data.frame(站 = c("StreeterDr", "MichiganAve", "WellsSt"), lat = c(41.89228, 41.90096, 41.91213), lng = c(-87.61204, - 87.62378, -87.63466), 计数 = c(2300, 5678, 3452))
我想在地图上绘制这些坐标。参考之前关于此主题的 post 我尝试了这段代码。但它不起作用。
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()
向 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()
我的数据集有 4 列,分别是 station_name、station_lat、station_lng,count.This 是我的数据集的示例。
站 <- data.frame(站 = c("StreeterDr", "MichiganAve", "WellsSt"), lat = c(41.89228, 41.90096, 41.91213), lng = c(-87.61204, - 87.62378, -87.63466), 计数 = c(2300, 5678, 3452))
我想在地图上绘制这些坐标。参考之前关于此主题的 post 我尝试了这段代码。但它不起作用。
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()
向 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()