2016-07-27 1 views
0

기본적으로 내 질문은 마커를 배치 할 수 있도록 반짝이는 응용 프로그램에 PNG 또는 mapview 개체를 배치하는 방법입니다. 내가 노력하고비 지형 mapview 개체를 반짝 이는 응용 프로그램에 넣으십시오

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) 

: 그 다른 SO 사용자 question here의 도움 아래의 코드를 사용하여지도보기 개체로 변환 된 이상

enter image description here

나는 PNG와 같은 15 비 지리적 배치도의지도보기 개체가 모두 함께 넣어주는 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

이미 리플릿 위젯 개체입니다. 굉장해. Markers와 Shiny를 사용하여 지리적 공간 정보를 가져 오지 않는 귀중한 정보. – monkeyshines

+0

** mapview ** 문서에 모두 설명되어 있습니다. – TimSalabim

+1

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

관련 문제