[R] 격자정보 및 U,V,풍속 정보를 이용하여 동아시아 지도에 매핑하기

 정보

  • 업무명     : [R] 격자정보 및 U,V,풍속 정보를 이용하여 동아시아 지도에 매핑하기
  • 작성자     : 박진만
  • 작성일     : 2021-01-30
  • 설   명      :
  • 수정이력 :

 

 내용

[개요]

  • 안녕하세요? 기상 연구 및 웹 개발을 담당하고 있는 해솔입니다.
  • 이전 포스팅에서는 U,V 그리고 풍속 정보를 입력받아 지도위에 매핑하는 프로그램입니다.
  • 즉 벡터와 스칼라를 동시에 표현하는 방법을 소개하고자 합니다.

 

[특징]

  • 지도를 불러온 후 벡터와 스칼라 동시에 표현하기

 

[기능]

  • shp 파일 없이 미리 정의된 지도 불러오기
  • 위의 지도 위에 벡터(U,V) 와 스칼라(WS) 값 동시 매핑

 

[활용 자료]

  • 자료명 : 동아시아 풍속자료

 

[자료 처리 방안 및 활용 분석 기법]

  • 없음

 

[사용법]

  • 소스 코드 참조

 

[사용 OS]

  • Windows 10

 

[사용 언어]

 

[사용 언어]

  • R v4.0.3

 

 소스 코드

[명세]

  • 라이브러리 읽기
library(jsonlite)
library(dplyr)
library(ggplot2)
library(sf)
library(rnaturalearth)
library(grid)

 

  • 데이터 읽기
    • 격자정보 및 값이 들어있음.
data <- read.csv("./20201005_12_024h.csv")
data

 

  • 지도 불러오기
    • rnaturalearth 패키지로부터 미리 정의된 세계지도를 불러오기
world <- ne_countries(scale = "medium", returnclass = "sf")
class(world)
world

 

  • ggplot2 를 이용하여 매핑 수행
    • 특정 국가를 그리는 것은 아니므로 x,y 축의 범위를 지정하여 그림을 그릴 영역 지정
    • 본 글에서는 육지 지역을 그리기를 원하지 않기 때문에 육지 지역에 색을 입혀 마스킹 처리를 하였음
ggplot() +
  theme_bw() +
   geom_tile(data=data, aes(x=lon,y=lat,color = WS),size = 8) +
  scale_color_gradientn(colours =c("blueviolet","blue","green","yellow","orange","red","darkred"),
                        breaks = seq(0,30,5), limits = c(0,30)) +
  geom_segment(data=data, mapping=aes(x=lon, y=lat, xend=lon+U/5, yend=lat+V/5),size=0.5,arrow = arrow(length = unit(0.1,"cm")), color="black") +
  geom_sf(data = world) +
  xlim(100,150) +
  ylim(0,60) +
  ggsave("./rev.png")

 

[코드 수행 결과]

 

 

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com