簡體   English   中英

在 Shinyapps.io 上托管 flexdashboard 時顯示地圖時出錯

[英]Error in displaying maps when hosting flexdashboard on shinyapps.io

我創建了一個帶有交互式閃亮組件(包括地圖)的 flexdashboard。

---
title: "Coronavirus Dashboard"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: scroll
    theme: readable
runtime: shiny
---

```{r setup, include=FALSE, echo=FALSE, warning=FALSE}
library(flexdashboard)
library(leaflet)
library(rgdal)
library(readr)
library(dplyr)
library(sf)
library(ggplot2)
library(tmap)

該地圖顯示源自在線 .csv 的數據,並使用源自下載並本地存儲在名為data的目錄中的 .zip 文件的形狀文件創建:

renderLeaflet({
covid_cases <- read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv")

# .zip downloaded from: https://www.naturalearthdata.com/downloads/50m-cultural-vectors/50m-admin-0-countries-2/
countries <- st_read("data/ne_50m_admin_0_countries/ne_50m_admin_0_countries.shp", stringsAsFactors=FALSE, quiet=TRUE)

在對數據進行一些處理以創建結合covid_casescountries數據幀的單個數據幀后,該應用程序會繪制每個國家/地區的案例:

map <- tm_shape(map_and_cases) + tm_polygons("Percent of Population", id="country_name")
tmap_leaflet(map)
})

每當我運行文檔時,這在 RStudio 中都非常有效。 但是,每當我嘗試在 Shinyapps.io 上托管儀表板時,都會遇到以下錯誤消息:

“錯誤:發生錯誤。請檢查您的日志或聯系應用程序作者以進行澄清。”

檢查日志我有:

2020-03-24T14:41:08.709221+00:00 shinyapps[1985429]: List of 3
2020-03-24T14:41:08.709701+00:00 shinyapps[1985429]:  $ echo   : logi FALSE
2020-03-24T14:41:08.862558+00:00 shinyapps[1985429]: 
  |                                                                       
  |.........................................                        |  64%
2020-03-24T14:41:08.710474+00:00 shinyapps[1985429]:  $ message: logi FALSE
2020-03-24T14:41:08.710489+00:00 shinyapps[1985429]: 
2020-03-24T14:41:08.862596+00:00 shinyapps[1985429]:   ordinary text without R code
2020-03-24T14:41:08.862597+00:00 shinyapps[1985429]: 
2020-03-24T14:41:08.862698+00:00 shinyapps[1985429]: 
  |                                                                       
  |...............................................                  |  73%
2020-03-24T14:41:08.863090+00:00 shinyapps[1985429]: label: unnamed-chunk-3
2020-03-24T14:41:08.876049+00:00 shinyapps[1985429]: 
  |                                                                       
  |.....................................................            |  82%
2020-03-24T14:41:08.876064+00:00 shinyapps[1985429]:   ordinary text without R code
2020-03-24T14:41:08.876064+00:00 shinyapps[1985429]: 
2020-03-24T14:41:08.876168+00:00 shinyapps[1985429]: 
  |                                                                       
  |...........................................................      |  91%
2020-03-24T14:41:08.876547+00:00 shinyapps[1985429]: label: unnamed-chunk-4
2020-03-24T14:41:08.888545+00:00 shinyapps[1985429]:   ordinary text without R code
2020-03-24T14:41:08.889867+00:00 shinyapps[1985429]: output file: /tmp/RtmpJQ4ULR/covid_dashboard.knit.md
2020-03-24T14:41:08.889868+00:00 shinyapps[1985429]: 
2020-03-24T14:41:08.888693+00:00 shinyapps[1985429]: 
2020-03-24T14:41:08.899598+00:00 shinyapps[1985429]: /opt/connect/ext/pandoc2/pandoc +RTS -K512m -RTS /tmp/RtmpJQ4ULR/covid_dashboard.utf8.md --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output /tmp/RtmpJQ4ULR/file1a850267e7e.html --email-obfuscation none --standalone --section-divs --template /opt/R/3.6.1/lib/R/library/flexdashboard/rmarkdown/templates/flex_dashboard/resources/default.html --id-prefix section- --variable 'theme:readable' --mathjax --variable 'mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' --lua-filter /opt/R/3.6.1/lib/R/library/rmarkdown/rmd/lua/pagebreak.lua --lua-filter /opt/R/3.6.1/lib/R/library/rmarkdown/rmd/lua/latex-div.lua --include-in-header /tmp/RtmpJQ4ULR/file1a873f90aahtml --highlight-style pygments --include-before-body /tmp/RtmpJQ4ULR/file1a831797393.html --include-after-body /tmp/RtmpJQ4ULR/file1a857f3714c.html 
2020-03-24T14:41:09.009122+00:00 shinyapps[1985429]: 
2020-03-24T14:41:09.009124+00:00 shinyapps[1985429]: Output created: /tmp/RtmpJQ4ULR/file1a850267e7e.html
2020-03-24T14:41:08.888512+00:00 shinyapps[1985429]: 
  |                                                                       
  |.................................................................| 100%
2020-03-24T14:41:08.888546+00:00 shinyapps[1985429]: 
2020-03-24T14:41:09.758017+00:00 shinyapps[1985429]: Parsed with column specification:
2020-03-24T14:41:09.758019+00:00 shinyapps[1985429]: cols(
2020-03-24T14:41:09.758022+00:00 shinyapps[1985429]: )
2020-03-24T14:41:09.758021+00:00 shinyapps[1985429]:   .default = col_double(),
2020-03-24T14:41:09.758021+00:00 shinyapps[1985429]:   `Province/State` = col_character(),
2020-03-24T14:41:09.786949+00:00 shinyapps[1985429]:   `Province/State` = col_character(),
2020-03-24T14:41:09.786947+00:00 shinyapps[1985429]: Parsed with column specification:
2020-03-24T14:41:09.758021+00:00 shinyapps[1985429]:   `Country/Region` = col_character()
2020-03-24T14:41:09.786948+00:00 shinyapps[1985429]: cols(
2020-03-24T14:41:09.758672+00:00 shinyapps[1985429]: See spec(...) for full column specifications.
2020-03-24T14:41:09.786949+00:00 shinyapps[1985429]:   .default = col_double(),
2020-03-24T14:41:09.786949+00:00 shinyapps[1985429]:   `Country/Region` = col_character()
2020-03-24T14:41:09.786949+00:00 shinyapps[1985429]: )
2020-03-24T14:41:09.787306+00:00 shinyapps[1985429]: See spec(...) for full column specifications.
2020-03-24T14:41:09.826539+00:00 shinyapps[1985429]: Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet,  :
2020-03-24T14:41:09.826541+00:00 shinyapps[1985429]:   GDAL Error 4: Unable to open /srv/connect/apps/covid_dashboard/data/ne_50m_admin_0_countries/ne_50m_admin_0_countries.shx or /srv/connect/apps/covid_dashboard/data/ne_50m_admin_0_countries/ne_50m_admin_0_countries.SHX.Try --config SHAPE_RESTORE_SHX true to restore or create it
2020-03-24T14:41:09.829788+00:00 shinyapps[1985429]: Warning: Error in : Cannot open "/srv/connect/apps/covid_dashboard/data/ne_50m_admin_0_countries/ne_50m_admin_0_countries.shp"; The source could be corrupt or not supported. See `st_drivers()` for a list of supported formats.
2020-03-24T14:41:09.837934+00:00 shinyapps[1985429]:   114: <Anonymous>
2020-03-24T14:41:09.874249+00:00 shinyapps[1985429]: 

我嘗試了以下方法來解決此問題,但沒有找到解決方案:

  1. 使用不同的函數讀取形狀文件: readOGR()而不是st_read() - 沒有變化。
  2. 將 .Rmd 文件放在與形狀文件相同的目錄中,並托管它 - 沒有變化。
  3. 更改代碼以獨立下載、解壓縮和打開形狀文件 - 遇到訪問正確目錄的問題。

還有什么我可以嘗試的嗎? 有什么簡單的東西我錯過了。 讓我知道是否應該在代碼中添加更多細節,或者我是否可以澄清任何內容。

我發現st_read()shiny環境中可能並不總是很好地工作:

通過 st_read 在 Shiny/Leaflet 中添加線串

再次單擊時,閃亮的傳單單擊事件返回 NULL

為了解決我的問題,我使用st_read()在本地讀取形狀文件,將其保存為 .RData 文件,然后將該 .RData 文件加載到應用程序中使用。 下面是一個例子:

countries <-st_read("data/ne_50m_admin_0_countries/ne_50m_admin_0_countries.shp", stringsAsFactors=FALSE, quiet=TRUE)
save(countries, file="./shapeFile.RData")
load("shapeFile.RData")

我在托管儀表板時將 .RData 文件上傳到了 Shinyapps.io,現在它似乎可以正常工作而沒有出現該錯誤。

暫無
暫無

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

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