簡體   English   中英

無法在R中使用傳單包使用GeoJSON

[英]Unable to use GeoJSON using leaflet package in R

我正在嘗試使用Leaflet包在R中繪制GeoJSON。 下面是代碼和錯誤。

  library(geojsonio)
    library(leaflet)
    library(data.table)
    library(plyr)
    library(rgdal)
    library(sp)
    library(RColorBrewer)
    library(rgeos) #for simplification
    library(leafletR)
    library(sf)
    library(jsonlite)
    library(RJSONIO)

    mydata <- fromJSON("https://gist.githubusercontent.com/senthilthyagarajan/eb7a2771eab4639e94d5f9eaad28cb33/raw/1cfe355a56d2c1856a70a5389a4eadf06d782748/data.geojson",flatten=TRUE)


    leaflet(mydata) %>%
      addPolygons(color = "#444444", weight = 1, smoothFactor = 0.5,
                  opacity = 1.0, fillOpacity = 0.5,
                  fillColor = ~colorQuantile("YlOrRd", nghbrhd)(nghbrhd),
                  highlightOptions = highlightOptions(color = "white", weight = 2,
                                                      bringToFront = TRUE))


    Error: lexical error: invalid char in json text.
                                           FeatureCollection
                         (right here) ------^

請忽略上述軟件包的一長串。

您的數據必須為“ SpatialPolygonsDataFrame”類型。 當我在上面運行您的代碼時,mydata屬於類型列表,這會產生錯誤。 我使用來自geoj​​sonio包中的geojson_read讀取數據(指定sp:spatialpolygons數據類型),然后得到了傳單圖。 Flatten不是geojson_read函數中的參數,但是如果感興趣,您可以查看parse參數以在數據框中轉換geojson對象。

library(leaflet)
mydata <- geojsonio::geojson_read("https://gist.githubusercontent.com/senthilthyagarajan/eb7a2771eab4639e94d5f9eaad28cb33/raw/1cfe355a56d2c1856a70a5389a4eadf06d782748/data.geojson",what = "sp")

leaflet(mydata) %>%
  addPolygons(color = "#444444", weight = 1, smoothFactor = 0.5,
              opacity = 1.0, fillOpacity = 0.5,
              fillColor = ~colorQuantile("YlOrRd", nghbrhd)(nghbrhd),
              highlightOptions = highlightOptions(color = "white", weight = 2,
                                                  bringToFront = TRUE))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM