2016-07-20 2 views
4

나는 다음과 같은 멋진 template for interactive map and histogram추가는 R

의 라인을 따라 리플릿, 빛나는 및 Shinydashboard를 사용하여 병원 OHS 사고의 마커 대화 형지도를 만들 계획하고있는 리플릿, 빛나는 및 Shinydashboard 패키지지도로 사용하기 위해 이미지 좌표

제 문제는 좌표 참조 시스템이 지형 객체가 아니기 (위도 및 경도 없음) 때문에 필요하지 않습니다. 또한 그것은 래스터 형태입니다.

지도처럼 처리 할 수있는 CRS (좌표 참조 시스템)가있는 바닥 평면도를 어떻게 만들 수 있습니까? 이다 Ward 2 East

, 나는 등 마커를 추가, 확대를 패닝 할 수 있기를 원하는

그러나 내가 익숙하지 않은 나처럼 R에서이 작업을 수행하기 위해 기대했다이 사용하는 자바를 할 수있는 방법이있을 나타납니다

자바와. 당신이 할 수있는 Coordinates to space map

+1

QGIS와 같은 표준 GIS 소프트웨어를 사용하여 수동으로 이미지를 georeference해야합니다. 예 : 여기 http://www.qgistutorials.com/en/docs/georeferencing_basics.html – TimSalabim

+0

R에서 이것을 수행 할 수있는 방법이 있습니까? – monkeyshines

+1

나는 알고있다. 계산적으로 수행 할 수는 없지만 수동으로 수행해야하므로 R에서 수행 할 수 없습니다. 특히이 작업에 대해 대화 형 작업을 수행하려는 경우 (특히 확대/축소). – TimSalabim

답변

1

다음은 m을 사용하는 해결책입니다. apview : 이미지의 좌측 하단에 기원을 조정

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

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) 

[email protected] %>% addMarkers(lng = 0.5, lat = 0.5) 

주, (0, 0)으로하고,이 경우에 스케일 (0, 1)의 하단 우측 모서리에서 (0.859 , 1) 오른쪽 위 모서리에 가로 세로 비율을 유지합니다. 이 로컬 좌표 참조 시스템 내에 마커를 추가하는 것이 쉬워야합니다.

+0

지도를 반짝이는 것으로 통합하려고합니다. 수동으로 경도를 추가했습니다. 무엇 "이 renderLeaflet 명령 다음에 오는 출력 $의 내지도. <- renderLeaflet ({ 카달로그() %> % addMarkers (데이터 = 점()) }) – monkeyshines

+0

나는 당신의 질문을 이해하지 못하고 있었다 – TimSalabim

+0

사과를 모두 비밀과 게으른. 여기에 자세한 질문을 다시 게시했습니다. 응용 프로그램은 와드 시각화 주위에 구축됩니다 http://stackoverflow.com/questions/38607045/place-non-geographic-mapview-object-into-shiny-app – monkeyshines

1

참조 : 당신이 볼 수있는 네 개의 레이어 지리 RasterBrick 개체 (RGB + 알파)를 제공

library(raster) 
b <- brick("8aSe9.png") 

을 물론

plotRGB(b) 

은 지리는 관계없는과 다른 공간 객체와 비교할 수도 있지만, 이것은 당신에게 중요하지 않을 수 있습니다.

당신은 (그들이 모두 동일) 단일 레이어 객체 (RasterLayer)는 3 개 개의 층을 사용할 수 있습니다를 원하는 경우 파일에서

r <- b[[1]] 

직접 :

r <- raster("8aSe9.png") 

다음

image(r, col=gray(seq(0,1,.1))) 
# or plot(r, col=gray(seq(0,1,.1)), legend=F) 
+1

물론 참조되지 않은 이미지를 읽고 그림을 그릴 수는 있지만 임의의 테이블 좌표가 아닌 절대 좌표가 필요하므로 지리 ​​참조 된지도 배경 (** 전단지 **처럼)을 플로팅 할 수 없습니다. 또한'8aSe9.png'은 정확히 무엇입니까? 어디에서 찾을 수 있습니까? – TimSalabim

+0

병원용 평면도 (특정 병동을보기 위해 잘린)의 집합입니다. 나는 그것이 원래 drafters 방식으로 CAD 소프트웨어를 사용하여 만들어 졌다고 생각하지만, 나에게 .pdf 파일로 주어졌다. – monkeyshines

+0

죄송합니다. 귀하의 의도를 오해 한 것 같습니다. 나는 네가지도 배경을 원한다고 생각했다. 지도 배경이없는 솔루션의 경우 내 대답을 참조하십시오. – TimSalabim

관련 문제