Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 手动创建传单地图的点_R_Geospatial_R Leaflet - Fatal编程技术网

R 手动创建传单地图的点

R 手动创建传单地图的点,r,geospatial,r-leaflet,R,Geospatial,R Leaflet,我正在创建一些点,以便在传单-R地图上绘制。 但是,当尝试使用addCircles绘制点时,我得到了错误: Warning: Error in derivePoints: Point data not found; please provide addCircles with data and/or lng/lat arguments 有关空间数据帧的信息如下所示: Simple feature collection with 3 features and 4 fields geometry

我正在创建一些点,以便在传单-R地图上绘制。 但是,当尝试使用addCircles绘制点时,我得到了错误:

Warning: Error in derivePoints: Point data not found; please provide addCircles with data and/or lng/lat arguments
有关空间数据帧的信息如下所示:

Simple feature collection with 3 features and 4 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: -79.48837 ymin: 43.66537 xmax: -79.29187 ymax: 43.71345
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs
我有另一个空间数据框,可以工作,所有信息都是相同的,除了+datum=WGS84被+ellps=WGS84替换。是吗?如果是,我该如何进行此更改

示例代码

library(shiny)
library(leaflet)

ui <- fluidPage(
  leafletOutput("mymap")
)

server <- function(input, output, session) {

  # Create tree geometries
  tree_1g <- st_point(c(-79.2918671415814, 43.6760766531298))
  tree_2g <- st_point(c(-79.4883669334101, 43.6653747165064))
  tree_3g <- st_point(c(-79.2964680812039, 43.7134458013647))

  # Create sfc object with multiple sfg objects
  points_sfc <- st_sfc(tree_1g, tree_2g, tree_3g, crs = 4326)

  # Create tree attributes
  data <- data.frame (
    id = c(1, 2, 3),
    address = c(10, 20, 30),
    street = c("first", "second", "third"),
    tname = c("oak", "elm", "birch")
)

  tree_data <- st_sf(data, geometry = points_sfc)

  output$mymap <- renderLeaflet({
    leaflet() %>%
      addProviderTiles(providers$Stamen.Watercolor) %>%

      # Centre the map in the middle of Toronto
      setView(lng = -79.384293, 
              lat = 43.685, #43.653908, 
              zoom = 11) %>% 

      addCircles(tree_data)
  })
}

shinyApp(ui, server)
库(闪亮)
图书馆(单张)
用户界面解决方案
您需要指定
data=tree\u data
,因为在
addCircles()
调用中,
data
参数是最后一个参数

leaflet() %>%
    addProviderTiles(providers$Stamen.Watercolor) %>%
    setView(lng = -79.384293, 
                    lat = 43.685,
                    zoom = 11) %>% 

    addCircles(data = tree_data)

解释
addCircles()
调用中的第一个参数是
map
,它是通过
%>%
操作符传入的。第二个参数是
lng
,因此您在调用中所做的操作相当于

addCircles(lng = tree_data)

可供替代的 另一种将数据发送到
addCircles()
函数的方法是通过
spool()
调用

leaflet(tree_data) %>%
    addProviderTiles(providers$Stamen.Watercolor) %>%
    setView(lng = -79.384293, 
                    lat = 43.685,
                    zoom = 11) %>% 
    addCircles()

呜呜!谢谢你的帮助!