2016-07-27 6 views
0

基本的に私の質問は、PNGまたはマップビューオブジェクトを光沢のあるアプリに配置して、マーカー上にマーカーを配置できるようにすることです。私がしようとしています地理的でないマップビューオブジェクトをShinyアプリケーションに配置

library(raster) 
library(png) 
library(mapview) 

ohs<-data.frame(OHS_no=c(1001:1010), x=runif(10, 0, 1), y = runif(10, 0, 0.8), AGE = c(4, 15, 15, 43, 5, 50, 67, 77, 77, 28)) 
web_img <- "http://i.stack.imgur.com/8aSe9.png" 

png <- readPNG(readBin(web_img, "raw", 1e6)) 

rst_blue <- raster(png[, , 1]) 
rst_green <- raster(png[, , 2]) 
rst_red <- raster(png[, , 3]) 

img <- brick(rst_red, rst_green, rst_blue) 

m <- viewRGB(img) 
abs(cbind(rnorm(40), rnorm(40))) 
[email protected] %>% addMarkers(lng = ohs$x, lat = ohs$y) 

:私はそれ以上のPNGのような15非地理的なフロアプランのMapViewオブジェクトは、別のSOユーザーquestion hereの支援を受けて、以下のコードを使用してのMapViewオブジェクトに変換した持ち

enter image description here

すべて一緒に配置するためのShinyアプリケーションを作成するが、renderLeafletコマンドにはまっていて、アプリケーション内にm @ mapオブジェクトを配置する方法がわからない。基本的に以下の機能はリーフレットとしてのマップオブジェクトです。

library(shiny) 
library(leaflet) 
ohs<-data.frame(OHS_no=c(1001:1010), x=runif(10, 0, 1), y = runif(10, 0, 0.8)) 
r_colors <- rgb(t(col2rgb(colors())/255)) 
names(r_colors) <- colors() 

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

) 

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



    output$mymap <- renderLeaflet({ 
    leaflet() %>% 
     addProviderTiles("Stamen.TonerLite", 
         options = providerTileOptions(noWrap = TRUE) 
    ) %>% 
     addMarkers(lng = ohs$x, lat = ohs$y) 
    }) 
} 

shinyApp(ui, server) 

答えて

2

これが私の作品:

library(shiny) 
library(mapview) 
library(png) 
library(raster) 

ohs<-data.frame(OHS_no=c(1001:1010), x=runif(10, 0, 1), y = runif(10, 0, 0.8)) 
r_colors <- rgb(t(col2rgb(colors())/255)) 
names(r_colors) <- colors() 

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

) 

server <- function(input, output, session) { 
    web_img <- "http://i.stack.imgur.com/8aSe9.png" 

    png <- readPNG(readBin(web_img, "raw", 1e6)) 

    rst_blue <- raster(png[, , 1]) 
    rst_green <- raster(png[, , 2]) 
    rst_red <- raster(png[, , 3]) 

    img <- brick(rst_red, rst_green, rst_blue) 

    m <- viewRGB(img) 

    output$mymap <- renderLeaflet({ 
    [email protected] %>% 
     addMarkers(lng = ohs$x, lat = ohs$y) 
    }) 
} 

shinyApp(ui, server) 

は、単純に(リーフレットウィジェットの目的である)[email protected]leaflet()を交換してください。ラスタがジオリファレンスされていない場合、プロバイダタイルを追加することは意味がありません。

+0

すでにリーフレットウィジェットオブジェクトです。驚くばかり。マーカとシャイニーを使用して地理空間情報を持たない貴重な情報 – monkeyshines

+0

これはすべて** mapview **のドキュメントに記載されています。 – TimSalabim

+1

http://environmentalinformatics-marburg.github.io/mapview/introduction.html – TimSalabim

関連する問題