将数据框转换为空间对象

Converting a data frame to a spatial object

我正在尝试在 Shiny 上发布地图,但请 运行关注此问题。

我们称data.frameregion。以下是列:

  library(mapedit)
  library(mapview)
  library(shiny)
  library(leaflet)
  library(leaflet.extras)   



  region$address
  region$city
  region$state
  region$zip
  region$county
  region$xcol (these are the longitude coordinates)
  region$ycol (these are the latitude coordinates)

但是当我 运行 时 mapview(region)@map 它会产生以下错误:

Error: oops! Arguments xcol and/or ycol are missing! You probably expected turf_clean to be a spatial object. However it is of class data.frame. Either convert turf_clean to a spatial object or provide xcol and ycol.

我提供了 x 和 y 列,但它仍然无法生成我需要的内容。

sf 及其 st_as_sf() 是一种将 data.frame 转换为空间对象的方法。 crs 指的是基准和投影,我只是猜测假设你的 lat/long 是相对于 WGS84 基准的。我相信投影是 maps.google.com 使用的 - web 墨卡托辅助球体。

library(sf)
turf_clean <- st_as_sf(region, coords = c("xcol", "ycol"), crs = 4326)