2017-03-18 18 views
1

我想使用mapview包顯示數據。使用mapview顯示地圖包含data.frame中的多字節字符

但包含多字節字符,有時無法顯示地圖。

什麼是顯示地圖最好的東西?

library(mapview) 
data(atlStorms2005) 
test1 <- test2 <- atlStorms2005 

[email protected]$test <- as.factor(c("日本語", "てすと")) 
[email protected]$test <- as.factor(c("日本語", "五十嵐")) 

mapview(test1) # can show the map 
mapview(test2) # cannot show 

re.data.frame <- function(data, encoding = "UTF-8", fileEncoding="UTF-8"){ 
    write.csv(data, file("tmp.csv", encoding = encoding), row.names = F, fileEncoding=fileEncoding) 
    tmp <- readr::read_csv("tmp.csv", col_types = cols()) 
    return(tmp) 
} 

[email protected] <- re.data.frame([email protected]) 
mapview(test2) # can show 

但是,測試柱字符中的彈出框是損壞的文本。 enter image description here

數據無誤。

head([email protected]) 

# A tibble: 6 × 4 
Name MaxWind MinPress test 
<chr> <int> <int> <chr> 
    1 ALPHA  45  998 日本語 
2 ARLENE  60  989 五十嵐 
3 BRET  35  1002 日本語 
4 CINDY  65  991 五十嵐 
5 DELTA  60  980 日本語 
6 DENNIS  130  930 五十嵐 
+0

我在mapview github頁面上創建了一個問題,因爲這是一個比這裏更好的討論場所。 https://github.com/environmentalinformatics-marburg/mapview/issues/65請你可以前往那裏,讓我們知道一些關於你的操作系統,R版本,mapview版本,sessionInfo等的細節,以便我們可以找出問題的原因。正如問題所述,我無法在Linux機器上重現損壞的文本。 – TimSalabim

回答

1

從承諾bc2c57f開始,應該已經修正了。直到下一個CRAN版本mapview,只需使用開發版本(devtools::install_github("environmentalinformatics-marburg/mapview", ref = "develop"))即可解決此問題。

簡而言之,這種行爲與我們的Rcpp例程有關,這些例程在引擎下運行以確保彈出表的計算有效創建。在這裏,用戶的本地編碼被用來代替UTF-8來創建JSON輸出文件,導致UTF-8不是默認的一些機器上的文本輸出被破壞。

相關問題