KR20220000266A - System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information - Google Patents

System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information Download PDF

Info

Publication number
KR20220000266A
KR20220000266A KR1020200078009A KR20200078009A KR20220000266A KR 20220000266 A KR20220000266 A KR 20220000266A KR 1020200078009 A KR1020200078009 A KR 1020200078009A KR 20200078009 A KR20200078009 A KR 20200078009A KR 20220000266 A KR20220000266 A KR 20220000266A
Authority
KR
South Korea
Prior art keywords
data
terrain
environment information
display unit
skin
Prior art date
Application number
KR1020200078009A
Other languages
Korean (ko)
Other versions
KR102392074B1 (en
Inventor
김건우
정우식
나하나
Original Assignee
인제대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단 filed Critical 인제대학교 산학협력단
Priority to KR1020200078009A priority Critical patent/KR102392074B1/en
Publication of KR20220000266A publication Critical patent/KR20220000266A/en
Application granted granted Critical
Publication of KR102392074B1 publication Critical patent/KR102392074B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30192Weather; Meteorology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The present invention relates to a system and a method for optimizing 3D visualization of atmospheric environmental information to increase the efficiency of weather and atmospheric environment information analysis through optimization using Unreal Engine 4 and volume rendering techniques. The system includes: a DEM data extraction and 3D terrain generation unit configured to extract digital elevation model (DEM) data of a desired area into a height map format, and apply the extracted DEM height map data to a landscape function of Unreal Engine 4, thereby generating a 3D topography; a terrain skin and contour display unit for utilizing the material function of Unreal Engine for the 3D terrain created in the DEM data extraction and 3D terrain generation unit to apply a skin that distinguishes the height of the terrain and the sea and land; a weather element display unit for expressing a weather element on the terrain skin and outline display screen by the terrain skin and outline display unit; and an air environment information display unit for three-dimensionally expressing atmospheric environment information on the terrain skin and outline display screen by the terrain skin and outline display unit to display the movement, diffusion, and vertical distribution of air pollutants.

Description

대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법{System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information}Apparatus and method for optimizing three-dimensional display of atmospheric environment information {System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information}

본 발명은 대기 환경 정보 처리에 관한 것으로, 구체적으로 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법에 관한 것이다.The present invention relates to atmospheric environment information processing, and more specifically, an apparatus and method for optimizing the three-dimensional display of atmospheric environment information to increase the efficiency of weather and atmospheric environment information analysis through optimization using Unreal Engine 4 and volume rendering technique is about

최근 공간 데이터를 기반으로 한 3차원 GIS(Geographic Information System) 기술의 발전으로 다양한 기상관련 데이터를 시각화하여 서비스하는 방법이 다양하게 개발되고 있다.Recently, with the development of 3D Geographic Information System (GIS) technology based on spatial data, various methods for visualizing and servicing various weather-related data are being developed.

또한, 레이더, 위성, AWS(Automatic Weather System) 등을 활용한 기상관측 방법 역시 고도화되어 실시간 관측 데이터의 양이 보다 다양화됨과 동시에 대용량화되고 있다. 이에 따라, 기상장비에 의해 관측되고 가공된 정보를 사용자에게 직관적으로 전달하기 위한 방법으로 관측 데이터의 시각화에 대한 연구가 활발히 진행되고 있다.In addition, weather observation methods using radar, satellite, AWS (Automatic Weather System), etc. have also been advanced, and the amount of real-time observation data is diversifying and increasing in capacity. Accordingly, research on visualization of observation data is being actively conducted as a method for intuitively delivering information observed and processed by meteorological equipment to a user.

특히, 직관적 정보 전달을 위한 3차원 가시화 도구에 대한 필요성이 다양한 분야에서 제기되고 있으며, 과거에 비해 보다 사용자 친화적이며 효율적인 의사 결정을 위한 수단으로 3차원 가시화 도구들이 직간접적으로 활용되고 있는 추세이다. In particular, the need for a 3D visualization tool for intuitive information transfer is being raised in various fields, and 3D visualization tools are being used directly or indirectly as a means for more user-friendly and efficient decision-making compared to the past.

관측 데이터의 시각화는 복잡하고 거대한 관측 데이터를 시각적으로 표현함으로써 그 데이터 내부에 내재된 정보들을 보다 신속하고 효과적으로 파악하고자 하는 목적에서 출발하게 된다.Visualization of observation data starts with the purpose of quickly and effectively grasping the information contained in the data by visually expressing complex and huge observation data.

그럼에도 기상 및 대기환경 정보룰 처리하는 현장에서는 기상 및 대기환경 정보 등 과학적인 데이터를 가시화하는데 대부분 2차원 표출이 사용되고 있다.Nevertheless, most of the two-dimensional display is used to visualize scientific data such as meteorological and atmospheric environment information in the field where meteorological and atmospheric environment information rules are processed.

특히, 3차원 가시화의 경우 단순히 2차원 표출을 겹쳐 표시하고 있다In particular, in the case of 3D visualization, the 2D expression is simply displayed overlaid.

종래 기술의 일 예로, 강우 관측 데이터의 3차원 시각화 모니터링 및 분석 시스템 및 이에 대한 방법(대한민국 등록특허 제10-1994200호) 및 3차원 대기환경 자료 생성 시스템 및 가시화 방법(대한민국 공개특허 제10-2018-0001195호)등 있으나, 이런 방식의 표출은 3차원 데이터의 수직 분포와 구조 및 공간상의 전체적인 경향을 파악하는데 제한이 있다.As an example of the prior art, a three-dimensional visualization monitoring and analysis system for rainfall observation data and a method therefor (Korean Patent No. 10-1994200) and a three-dimensional atmospheric environment data generation system and visualization method (Korea Patent Publication No. 10-2018 -0001195)), but this method of expression has limitations in understanding the vertical distribution of 3D data and overall trends in structure and space.

다른 기상 요소를 3차원으로 표출하는 연구로 국립기상과학원에서 연구 개발한 지구환경 3차원 가시화 시스템(지구 ON)의 경우 실제 구형 스크린에 투시하는 방식으로 많은 공간과 자원이 필요하며 구형 스크린에만 한정된다는 제한이 있다.In the case of the Earth Environment 3D Visualization System (Earth ON), which was researched and developed by the National Academy of Meteorological Sciences as a study to express different meteorological elements in three dimensions, it requires a lot of space and resources and is limited to the spherical screen as it is projected on a real spherical screen. There are limitations.

그리고 미래기후㈜의 Mirae Wave와 ㈜한국해양기상기술의 3차원 데이터 가시화 엔진 GVTX 등의 상용 프로그램들의 경우에도 3차원 공간에서 등치선, 벡터 등, 2차원 표출이 주로 이루어지며 3차원 표출의 경우도 2차원 표출을 겹쳐 나타내는 것에 그치고 있다.In the case of commercial programs such as Mirae Wave of Mirae Climate Co., Ltd. and 3D data visualization engine GVTX of Korea Marine Meteorological Technology Co., Ltd., 2D expression such as isolines and vectors is mainly performed in 3D space, and 3D expression is also 2 It is limited to superimposing the dimensional expression.

해외의 경우 VAPOR라는 소프트웨어가 많이 활용되고 있지만 소프트웨어 자체가 무겁고 복잡하다는 단점이 있다. 또한, 이런 과학적 데이터 가시화 소프트웨어 대부분이 전 지구나 대륙 규모의 가시화에 특화되어 있어 국지규모의 데이터를 가시화하는데 제한이 있다.In the case of overseas, software called VAPOR is widely used, but the software itself is heavy and complicated. In addition, since most of these scientific data visualization software are specialized for global or continental scale visualization, there is a limitation in visualizing data on a local scale.

따라서, 새로운 표출 기법을 통해 여러 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 하는 새로운 대기 환경 정보 처리 기술의 개발이 요구되고 있다.Therefore, there is a demand for the development of a new atmospheric environment information processing technology that enables the analysis of weather and atmospheric environment information from various viewpoints through a new expression technique.

대한민국 등록특허 제10-1994200호Republic of Korea Patent Registration No. 10-1994200 대한민국 공개특허 제10-2018-0001195호Republic of Korea Patent Publication No. 10-2018-0001195 대한민국 공개특허 제10-2017-0059469호Republic of Korea Patent Publication No. 10-2017-0059469

본 발명은 종래 기술의 대기 환경 정보 처리 기술의 문제점을 해결하기 위한 것으로, 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is to solve the problems of the atmospheric environment information processing technology of the prior art, and 3D expression of atmospheric environment information to increase the efficiency of weather and atmospheric environment information analysis by optimization using Unreal Engine 4 and volume rendering technique An object of the present invention is to provide an apparatus and method for optimization.

본 발명은 예측 및 관측 자료를 볼륨 텍스쳐로 만들고 만들어진 볼륨 텍스쳐를 이용하여 언리얼 엔진 4와 볼륨 렌더링 기법을 활용하여 3차원 가시화 작업의 효율성을 높일 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is an apparatus for optimizing the 3D display of atmospheric environment information that makes prediction and observation data into volume textures and uses the volume textures created to increase the efficiency of 3D visualization work using Unreal Engine 4 and volume rendering techniques and to provide a method.

본 발명은 접근 및 사용에서 유리하고 그래픽 표출의 측면에서 우수한 언리얼 엔진 4를 이용하여 수치 모델 결과를 잘 반영하고, 새로운 표출 기법을 통해 다른 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is advantageous in access and use and uses Unreal Engine 4, which is excellent in terms of graphic expression, to reflect numerical model results well, and to analyze weather and atmospheric environment information from different perspectives through a new expression technique. An object of the present invention is to provide an apparatus and method for optimizing the three-dimensional display of information.

본 발명은 기상 요소 및 대기질 정보 표출 프로그램(meteorological and air quality information visualization engine, MAIVE)을 구현하여 고해상도 수치표고 모델 자료를 활용하여 3차원 지형을 구현하고 지형 위에서 기상 및 대기질 정보를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention implements a meteorological and air quality information visualization engine (MAIVE) to implement a three-dimensional topography using high-resolution numerical elevation model data and to effectively express meteorological and air quality information on the topography. An object of the present invention is to provide an apparatus and method for optimizing the three-dimensional display of atmospheric environment information.

본 발명은 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib, Grib2, Ascii 등 대부분의 포맷을 지원하여 기상 요소 및 대기질 정보를 2차원의 평면적 표출뿐만 아니라 3차원 공간에서의 분포 및 변화를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.In the present invention, meteorological factors such as wind direction, wind speed, humidity, temperature, precipitation, etc. and air quality information such as fine dust and yellow dust concentration are expressed in three dimensions, and the file format is NetCDF, Grib, Grib2, Ascii, etc. The purpose of this is to provide an apparatus and method for optimizing the three-dimensional display of atmospheric environment information that supports not only the two-dimensional planar expression of meteorological elements and air quality information but also the distribution and change in the three-dimensional space effectively. have.

본 발명은 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 효과적으로 표출할 수 있도록 한 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention optimizes the visual level and performance by using Unreal Engine 4, a commercial development engine, and the latest rendering technique, and adds stream vectors and stream lines, which are vectors flowing along the wind field, as well as the existing expression methods, and raymarching. The purpose of this is to provide an apparatus and method for optimizing the three-dimensional display of atmospheric environment information that can effectively express cloud and air quality information by applying the volume rendering technique.

본 발명은 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하였으며 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하도록 하여 활용성을 높인 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.In the present invention, the distribution and trend of two-dimensional data values such as temperature and precipitation can be identified through the contour map, and by fusion with various skins of the terrain, the user can select the desired picture. An object of the present invention is to provide an apparatus and method for optimizing 3D expression.

본 발명은 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하였으며 높이에 따른 색을 달리하는 기본 스킨과, 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용하여 표출 및 사용자 인지 특성을 높인 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법을 제공하는데 그 목적이 있다.The present invention expresses a three-dimensional topography using DEM data for a basic 3D topography. A basic skin with different colors according to height, a mask skin with different colors for land and sea, and a contour line to indicate the boundary between land and sea An object of the present invention is to provide an apparatus and method for optimizing the three-dimensional display of atmospheric environment information, which is expressed by applying a skin and improved user recognition characteristics.

본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Other objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned will be clearly understood by those skilled in the art from the following description.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치는 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부;DEM 자료 추출 및 3차원 지형 생성부에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출부;지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부;를 포함하는 것을 특징으로 한다.The apparatus for optimizing the three-dimensional expression of atmospheric environment information according to the present invention for achieving the above object extracts DEM (Digital Elevation Model) data of a desired area in a height map format, and extracts the extracted DEM height map data in Unreal Engine DEM data extraction and 3D terrain generation unit that generates 3D terrain by applying it through the landscape function of 4; Terrain skin and contour display unit that applies a skin that distinguishes height and sea and land; Weather element display unit that displays weather elements on the screen; Terrain skin and contour display unit It is characterized in that it includes; an air environment information display unit that displays the air environment information data in three dimensions on the topographic skin and contour display screen by the , so that the movement, diffusion, and vertical distribution of air pollutants can be known.

여기서, 지형 스킨 및 윤곽선 표출부는, 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용하는 것을 특징으로 한다.Here, the terrain skin and outline display unit utilizes the material function of Unreal Engine to selectively select a basic skin that colors according to the height of the terrain, a mask skin that distinguishes the sea and land, and an outline skin that displays the boundary between the sea and land. characterized by application.

그리고 기상 요소 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 것을 특징으로 한다.And the weather element display unit reads three-dimensional data through C++ language, makes it a volume texture, and performs volume rendering with the Raymarching algorithm applied to the volume texture created by wind information, cloud information, temperature information, precipitation information, 3-second gust It is characterized in that the information is processed to express the weather element.

그리고 대기환경 정보 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 초미세먼지(PM2.5), 미세먼지(PM10), 일산화탄소(CO), 일산화질소(NO), 아황산가스(SO2) 정보를 처리하여 대기환경 정보를 표출하는 것을 특징으로 한다.In addition, the atmospheric environment information display unit reads 3D data through C++ language, makes it a volume texture, and performs volume rendering with the Raymarching algorithm applied to the created volume texture to obtain ultra-fine dust (PM2.5), fine dust (PM10), Carbon monoxide (CO), nitrogen monoxide (NO), sulfurous acid gas (SO 2 ) It is characterized in that the information is displayed by processing the information.

그리고 기상 요소 표출부는, 수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부와,QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부와,C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장하여 기온 정보를 처리하는 기온 정보 처리부와,C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부와,3-second gust를 등치선으로 표출하는 3-second gust 처리부를 포함하는 것을 특징으로 한다.And the meteorological element display unit converts the u, v components of the wind vector, which is the result of the numerical model, into wind direction and wind speed, and performs wind vector field, stream vector, stream line expression and isoline processing using the QCLOUD variable. The cloud information processing unit that performs 3D visualization processing by volume rendering of cloud information, and the C++ source code to read the raw data of temperature from the raw data and convert it to the ℃ unit system, subtract 273.15, the absolute zero value, from the read data A temperature information processing unit that processes temperature information by storing the data in the given array, normalizing the data, collating it with the color legend, and storing the corresponding color in the array, and reading RAINC and RAINNC from the raw data through C++ code and adding them to the array The precipitation information processing unit that processes the precipitation information by subtracting the Rain array value of the previous time from the Rain array value of the time to be saved and created and storing it in the array by comparing it with the color legend, and 3- that expresses the 3-second gust as an isoline It is characterized in that it includes a second gust processing unit.

그리고 바람 정보 처리부는, C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부와,바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부와,스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부와,풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부를 포함하는 것을 특징으로 한다.And the wind information processing unit extracts the u and v components of the wind from the raw data using C++ source code and reads them, calculates the wind direction and wind speed, stores them in an array, reads them from Unreal Engine, and reflects them in each wind field vector. A wind vector field display unit that implements a stream vector that is a wind vector flowing along the wind field, a stream line display unit that implements a streamline flowing along the wind field similarly to a stream vector, and wind speed data. It is characterized in that it includes an isoline processing unit that normalizes from 0.0 to 1.0 to match the color of the legend color, stores the corresponding color information in an array, and creates a texture to be fused with the terrain skin.

그리고 기상 요소 표출 및 대기환경 정보 표출을 위하여 입력되는 데이터는 NetCDF, Grib, Grib2, Ascii 파일 포맷을 지원하고, 입력되는 데이터는 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System)의 데이터를 포함하는 것을 특징으로 한다.In addition, the input data supports NetCDF, Grib, Grib2, and Ascii file formats for the expression of weather elements and atmospheric environment information, and the input data is WRF (Weather Research and Forecasting), CMAQ (Community Multiscale Air Quality), AWS ( Automatic Weather Station), characterized in that it includes data from the Automated Surface Observing System (ASOS).

그리고 기상 요소 표출부 및 대기환경 정보 표출부는, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 위하여, 광 흡수에 의한 불투명도 생성과정과 조명,산란에 의한 색상 생성과정으로 수행하고, 볼륨의 불투명도를 생성하기 위한 지점의 밀도나 두께를,

Figure pat00001
으로 정의하고, 여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도인 것을 특징으로 한다.In addition, the weather element display unit and the atmospheric environment information display unit read 3D data through C++ language, then make a volume texture, and the created volume texture applies the Raymarching algorithm for volume rendering. , as a process of color generation by scattering, the density or thickness of points to create volume opacity,
Figure pat00001
, where Transmittance is the transmittance, t is the distance traveled in the volume, and d is the density of the volume.

그리고 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이,And as the ray passes through all voxels in the volume, the absorption is calculated by multiplying the color of the ray by the inverse opacity of the current voxel, the color of the current voxel multiplied by the opacity of the current voxel,

Figure pat00002
으로 정의되고, 여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색인 것을 특징으로 한다.
Figure pat00002
where voxel refers to a pixel in three-dimensional space, C out is the color after passing through the voxel, C in is the color before passing through the voxel, Opacity(x) is the opacity of the x position, and Color(x) is It is characterized in that it is the index of the x position.

그리고 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정하기 위하여,And after obtaining the thickness of the volume at each point, to estimate the opacity, which is the amount of light blocked by the volume, using the thickness value,

선형밀도는

Figure pat00003
와 같이 점 x에서 x′까지 광선을 따라 누적되고, 점 x에서 x′까지 광선 길이에 대한 투과율은
Figure pat00004
으로 정의되는 것을 특징으로 한다.linear density is
Figure pat00003
is accumulated along the ray from point x to x', and the transmittance for the ray length from point x to x' is
Figure pat00004
characterized in that it is defined as

그리고 볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산을 하고, 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은 And when calculating the density of the volume, the shadow by lighting is calculated, and the amount of scattering made from the light in the w direction from the x point in the volume to the corresponding point is

Figure pat00005
으로 정의되고, 여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점으로 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미하는 것을 특징으로 한다.
Figure pat00005
where w is the direction of light and l is the point toward the negative direction of light outside the volume -LinearDensity(x, l) is the linear density by light from point x until reaching the volume boundary. It is characterized in that it means the amount of particles that absorb light.

그리고 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지고, 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환하는 것은,And the OutScattering term is multiplied by the Opacity to calculate the proportion of light absorbed based on the opacity of the volume, returning the total scattering at all points along the ray through the volume,

Figure pat00006
으로 정의되는 것을 특징으로 한다.
Figure pat00006
characterized in that it is defined as

그리고 대기환경 정보 표출부는, 시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부와,미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부와,일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부와,일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부와,아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부를 포함하는 것을 특징으로 한다.In addition, the atmospheric environment information display unit provides a screen showing the isoline expression of PM2.5 concentration over time, a screen viewed from the top, a screen viewed from the bottom to see the vertical distribution, and an isoline expression of PM2.5 concentration over time. Using the fine dust (PM2.5) display unit and the three-dimensional data of PM10 representing fine dust, the fine dust concentration is rendered in three dimensions and the fine dust (PM10), which represents the data for each altitude as an isoline. The carbon monoxide concentration is expressed in three dimensions by volume rendering using the three-dimensional data of CO representing carbon monoxide, and the carbon monoxide (CO) display section showing the data for each altitude as an isoline, and NO representing nitrogen monoxide. Using dimensional data, the nitrogen monoxide concentration is expressed in three dimensions by volume rendering, and the nitrogen monoxide (NO) display part that shows the data for each altitude as an isoline, and the sulfur dioxide gas using the three-dimensional data of SO 2 representing sulfur dioxide gas It is characterized in that it includes a sulfur dioxide (SO 2 ) display unit that expresses the concentration in three dimensions by volume rendering and displays the data for each altitude as an isoline.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 바람 벡터장을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 기능, 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 하는 기능, 바람 벡터장의 간격을 설정하고, 바람 벡터장의 크기를 조절하는 기능을 제공하는 것을 특징으로 한다.And the screen for 3D expression through the weather element display unit and the atmospheric environment information display unit includes a menu to control the wind vector field, and turns on and off the wind vector field colored according to the wind speed through the screen menu on the screen. It is characterized in that it provides a function, a function of displaying and erasing a single black wind vector field, a function of setting an interval of the wind vector field, and a function of adjusting the size of the wind vector field.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 스트림 벡터와 라인을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 기능,검은색으로 통일한 스트림 벡터를 표출하는 기능, 스트림 라인을 화면상에 표출하고 지우는 기능, 스트림 벡터와 스트림 라인은 동시에 표출되도록 하는 기능을 제공하는 것을 특징으로 한다.And the screen for 3D expression through the weather element display unit and the atmospheric environment information display unit includes a menu to control stream vectors and lines, and a function to turn on and off the stream vector of a color according to wind speed on the screen through the screen menu , It is characterized in that it provides a function to express a stream vector unified in black, a function to display and delete a stream line on the screen, and a function to display a stream vector and a stream line at the same time.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, Contour map을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 지형에 contour map이 융합되어 표출하게 하는 기능, 현재 보고자 하는 기상 요소 및 대기질 정보를 선택하는 기능, contour map을 모든 지형 스킨에서 적용할 수 있도록 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 하는 기능을 제공하는 것을 특징으로 한다.And the screen for three-dimensional expression through the weather element display unit and the atmospheric environment information display unit includes a menu to control the contour map, and the function to display the contour map fused to the terrain through the screen menu, the current weather It is characterized by providing the function to select the element and air quality information, and to apply the contour map to all terrain skins so that the user can use the skin according to the desired picture.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 시간에 따른 애니메이션을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화 및 멈추도록 하는 기능, 애니메이션의 속도를 조절하는 기능을 제공하는 것을 특징으로 한다.And the screen for three-dimensional expression through the weather element display unit and the atmospheric environment information display unit includes a menu for controlling animation according to time, and weather elements and air quality information currently appearing over time through the screen menu are displayed. It is characterized by providing a function to change and stop according to the time, and a function to adjust the speed of the animation.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 볼륨 렌더링을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 표출을 원하는 요소의 볼륨 렌더링을 표출하고 지우는 기능을 제공하는 것을 특징으로 한다.And the screen for three-dimensional expression through the weather element display unit and the atmospheric environment information display unit includes a menu for controlling the volume rendering, and provides a function to express and erase the volume rendering of the element desired to be expressed through the screen menu. characterized.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 지형의 스킨을 변경하는 메뉴를 포함하고, 화면 메뉴를 통하여 높이에 따른 색을 입힌 기본 스킨, 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있도록 하는 기능을 제공하는 것을 특징으로 한다.And the screen for three-dimensional expression through the weather element display unit and the atmospheric environment information display unit includes a menu to change the skin of the terrain, and the basic skin colored according to the height through the screen menu, the land is white, and the sea is It is characterized by providing a function that allows you to switch to a mask skin that is expressed in black and an outline skin that displays the boundary between land and sea in white.

그리고 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이, 사례를 고를 수 있는 홈 화면으로 돌아가거나, 프로그램을 종료하는 기능 및, 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴를 제공하는 것을 특징으로 한다.In addition, the screen for three-dimensional expression through the weather element display unit and the atmospheric environment information display unit returns to the home screen where you can select a case, ends the program, and displays the time on the data and a menu to control the color legend. It is characterized by providing.

다른 목적을 달성하기 위한 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 방법은 원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성 단계;DEM 자료 추출 및 3차원 지형 생성 단계에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출 단계;지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출 단계; 및,지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출 단계;를 포함하는 것을 특징으로 한다.The method for optimizing the three-dimensional expression of atmospheric environment information according to the present invention for achieving another object is to extract DEM (Digital Elevation Model) data of a desired area in a height map format, and extract the extracted DEM height map data in Unreal Engine 4 DEM data extraction and 3D terrain generation stage to create 3D terrain by applying it through the landscape function; By utilizing the material function of Unreal Engine for the 3D terrain created in the DEM data extraction and 3D terrain generation phase, the height and height of the terrain and A terrain skin and outline expression step of applying a skin that distinguishes the sea and land; A weather element expression step of expressing a weather element on the terrain skin and outline expression screen by the terrain skin and outline expression step; And, Atmospheric environment information expression step of expressing air environment information data three-dimensionally on the terrain skin and outline expression screen by the terrain skin and outline expression step to know the movement, diffusion, and vertical distribution of air pollutants; It is characterized in that it includes.

이상에서 설명한 바와 같은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 다음과 같은 효과가 있다.The apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention as described above have the following effects.

첫째, 언리얼 엔진 4와 볼륨 렌더링 기법을 이용한 최적화로 기상 및 대기환경 정보 분석의 효율성을 높일 수 있도록 한다.First, optimization using Unreal Engine 4 and volume rendering techniques can increase the efficiency of weather and atmospheric environment information analysis.

둘째, 예측 및 관측 자료를 볼륨 텍스쳐로 만들고 만들어진 볼륨 텍스쳐를 이용하여 언리얼 엔진 4와 볼륨 렌더링 기법을 활용하여 3차원 가시화 작업의 효율성을 높일 수 있도록 한다.Second, it is possible to increase the efficiency of 3D visualization work by making prediction and observation data into volume textures and using the volume textures created with Unreal Engine 4 and volume rendering techniques.

셋째, 접근 및 사용에서 유리하고 그래픽 표출의 측면에서 우수한 언리얼 엔진 4를 이용하여 수치 모델 결과를 잘 반영하고, 새로운 표출 기법을 통해 다른 관점에서 기상 및 대기환경 정보를 분석할 수 있도록 한다.Third, the numerical model results are well reflected using Unreal Engine 4, which is advantageous in access and use and excellent in graphic expression, and enables analysis of weather and atmospheric environment information from different perspectives through a new expression technique.

넷째, 기상 요소 및 대기질 정보 표출 프로그램(meteorological and air quality information visualization engine, MAIVE)을 구현하여 고해상도 수치표고 모델 자료를 활용하여 3차원 지형을 구현하고 지형 위에서 기상 및 대기질 정보를 효과적으로 표출할 수 있도록 한다.Fourth, it is possible to implement a meteorological and air quality information visualization engine (MAIVE) to realize a three-dimensional topography using high-resolution numerical elevation model data and to effectively express weather and air quality information on the topography. let it be

다섯째, 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib,Grib2, Ascii 등 대부분의 포맷을 지원하여 기상 요소 및 대기질 정보를 2차원의 평면적 표출뿐만 아니라 3차원 공간에서의 분포 및 변화를 효과적으로 표출할 수 있도록 한다.Fifth, three-dimensional display of meteorological factors such as wind direction, wind speed, humidity, temperature, and precipitation and air quality information such as fine dust and yellow dust concentration. Thus, it is possible to effectively express not only the two-dimensional planar expression of meteorological elements and air quality information, but also the distribution and change in three-dimensional space.

여섯째, 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하여 직관성을 높이고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 효과적으로 표출할 수 있도록 한다.Sixth, by using Unreal Engine 4, a commercial development engine, and the latest rendering techniques, the visual level and performance are optimized, and in addition to the existing expression method, stream vectors, which are vectors flowing along the wind field, and stream lines, which are streams, are added to increase intuition. , apply the raymarching volume rendering technique to effectively express cloud and air quality information.

일곱째, 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하였으며 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하도록 하여 활용성을 높일 수 있다.Seventh, the distribution and trend of two-dimensional data values such as temperature and precipitation can be identified through the contour map, and by fusion with various skins of the terrain, the user can select the desired picture to increase the usability.

여덟째, 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하였으며 높이에 따른 색을 달리하는 기본 스킨과, 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용하여 표출 및 사용자 인지 특성을 높일 수 있다.Eighth, for basic three-dimensional topography, three-dimensional topography was expressed using DEM data. A basic skin with different colors according to height, a mask skin with different colors for land and sea, and an outline skin to indicate the boundary between land and sea. can be applied to increase expression and user recognition characteristics.

도 1은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 기본 개념을 나타낸 구성도
도 2a내지 도 2e는 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 전체 처리 과정을 나타낸 구성도
도 3은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치의 구성 블록도
도 4는 DEM 자료를 활용한 3차원 지형 표출의 일 예를 나타낸 구성도
도 5a내지 도 5c는 본 발명에 적용되는 기본 스킨, 마스크 스킨, 윤곽선 스킨의 예를 나타낸 구성도
도 6은 본 발명에 따른 기상 요소 표출부의 상세 구성도
도 7은 본 발명에 따른 바람 정보 처리부의 상세 구성도
도 8은 바람 벡터장을 3차원 지형 위에서 표출하기 위한 일 예를 나타낸 구성도
도 9는 스트림 벡터의 표출을 위한 예를 나타낸 구성도
도 10은 스트림 라인의 표출을 위한 예를 나타낸 구성도
도 11은 등치선 표출을 위한 예를 나타낸 구성도
도 12는 본 발명에 따른 기본 스킨, 마스크 스킨, 윤곽선 스킨이 적용되는 등치선 표출의 예를 나타낸 구성도
도 13a와 도 13b는 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도 및 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도
도 14는 shader 코드를 노드 화하여 구름 객체의 Material에 적용한 구성 및 볼륨 텍스쳐의 예를 나타낸 구성도
도 15는 기온을 등치선으로 표출한 일 예를 나타낸 구성도
도 16은 강수량을 등치선으로 표출한 일 예를 나타낸 구성도
도 17은 3-second gust를 등치선으로 표출한 일 예를 나타낸 구성도
도 18은 본 발명에 따른 대기환경 정보 표출부의 상세 구성도
도 19a 내지 도 19c는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면 구성도
도 20a 내지 도 20c는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 21a 내지 도 21c는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 22a 내지 도 22c는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 23a 내지 도 23c는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도
도 24는 본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성도
도 25는 바람 벡터장을 제어하는 메뉴 설명을 위한 구성도
도 26은 스트림 벡터와 라인을 제어하는 메뉴 설명을 위한 구성도
도 27은 Contour map을 제어하는 메뉴 설명을 위한 구성도
도 28은 볼륨 렌더링을 제어하는 메뉴 설명을 위한 구성도
도 29는 지형의 스킨을 변경하는 메뉴 설명을 위한 구성도
도 30은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴 설명을 위한 구성도
1 is a block diagram showing the basic concept of an apparatus and method for optimizing the three-dimensional expression of atmospheric environment information according to the present invention;
2a to 2e are block diagrams showing the entire processing process of the apparatus and method for optimizing the three-dimensional expression of atmospheric environment information according to the present invention;
3 is a block diagram of an apparatus for optimizing the three-dimensional expression of atmospheric environment information according to the present invention;
4 is a configuration diagram showing an example of a three-dimensional topography expression using DEM data.
5A to 5C are configuration diagrams showing examples of a basic skin, a mask skin, and an outline skin applied to the present invention;
6 is a detailed configuration diagram of a weather element display unit according to the present invention;
7 is a detailed configuration diagram of a wind information processing unit according to the present invention;
8 is a configuration diagram showing an example for expressing a wind vector field on a three-dimensional topography
9 is a block diagram showing an example for expression of a stream vector
10 is a configuration diagram showing an example for the expression of a stream line
11 is a configuration diagram showing an example for isoline expression
12 is a block diagram showing an example of isoline expression to which a basic skin, a mask skin, and an outline skin are applied according to the present invention;
13A and 13B are a schematic diagram showing that the volume texture at each point is read step by step while a camera beam passes through a volume, and a schematic diagram showing how shadow density overlaps when a beam is shot from a single sphere
14 is a configuration diagram showing an example of a configuration and volume texture applied to the material of the cloud object by nodeizing the shader code
15 is a configuration diagram showing an example in which temperature is expressed as an isoline;
16 is a configuration diagram showing an example in which the amount of precipitation is expressed as an isoline;
17 is a configuration diagram showing an example of expressing 3-second gust as an isoline
18 is a detailed configuration diagram of an air environment information display unit according to the present invention;
19A to 19C are screen configuration diagrams expressing the PM2.5 concentration in the Korean peninsula over time through volume rendering.
20A to 20C are diagrams showing the three-dimensional display of fine dust concentration by volume rendering using three-dimensional data of PM10.
21A to 21C are diagrams showing a three-dimensional screen configuration by volume-rendering carbon monoxide concentration using three-dimensional data of CO.
22A to 22C are diagrams showing the three-dimensional display of the nitrogen monoxide concentration by volume rendering using the three-dimensional data of NO.
23a to 23c are screen diagrams showing the volume rendering of sulfur dioxide concentration using three-dimensional data of SO 2 and expressing it in three dimensions;
24 is a block diagram of a screen menu of the MAIVE program according to the present invention.
25 is a configuration diagram for explaining a menu for controlling a wind vector field
26 is a configuration diagram for explaining a menu for controlling stream vectors and lines;
27 is a configuration diagram for explaining a menu for controlling a contour map
28 is a configuration diagram for explaining a menu for controlling volume rendering
29 is a configuration diagram for explaining a menu for changing the skin of the terrain
30 is a configuration diagram for explaining a menu indicating time on data and controlling a color legend

이하, 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.Hereinafter, preferred embodiments of the apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention will be described in detail as follows.

본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.Features and advantages of the apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention will become apparent through detailed description of each embodiment below.

도 1은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 기본 개념을 나타낸 구성도이고, 도 2a내지 도 2e는 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법의 전체 처리 과정을 나타낸 구성도이다.1 is a block diagram showing the basic concept of an apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention, and FIGS. 2A to 2E are an apparatus for optimizing the three-dimensional display of atmospheric environment information according to the present invention And it is a block diagram showing the entire processing process of the method.

본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 3차원 예측 및 관측 데이터를 다양한 시점에서 관찰, 분석하기 위해 단순히 2차원 표출을 겹치는 방식이 아닌 상용 엔진인 언리얼 엔진 4와 볼륨 렌더링 기법을 이용하여 3차원 가시화를 가능하도록 한 것이다.The apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention is a commercial engine, Unreal Engine 4 and volume, rather than simply overlapping the two-dimensional display in order to observe and analyze three-dimensional prediction and observation data from various viewpoints. 3D visualization was made possible using a rendering technique.

이를 위하여 본 발명은 상용 개발 엔진인 언리얼 엔진 4와 최신 렌더링 기법을 이용하여 비주얼적인 수준과 성능을 최적화하고 기존의 표출 방식뿐만 아니라 바람장을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인을 추가하고, raymarching volume rendering 기법을 적용하여 구름 및 대기질 정보를 표출하는 구성을 포함할 수 있다.To this end, the present invention optimizes the visual level and performance by using Unreal Engine 4, a commercial development engine, and the latest rendering technique, and adds stream vectors and stream lines that are vectors flowing along the wind field as well as the existing expression methods. , it may include a composition that expresses cloud and air quality information by applying a raymarching volume rendering technique.

본 발명은 풍향, 풍속, 습도, 기온, 강수량 등과 같은 기상요소들과 미세먼지, 황사 농도와 같은 대기질 정보를 3차원 적으로 표출하며 파일 포맷은 NetCDF, Grib, Grib2, Ascii 등의 포맷을 지원하는 구성을 포함할 수 있다.The present invention displays meteorological factors such as wind direction, wind speed, humidity, temperature, precipitation, etc. and air quality information such as fine dust and yellow dust concentration in three dimensions, and the file format supports formats such as NetCDF, Grib, Grib2, Ascii, etc. It may include a configuration that

본 발명의 데이터 처리 과정은 도 1에서와 같이, 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만든다.In the data processing process of the present invention, as shown in FIG. 1 , 3D data is read through the C++ language and then made into a volume texture.

만들어진 볼륨 텍스쳐는 볼륨 렌더링 기법을 활용하여 언리얼 엔진 4에서 3차원 가시화에 사용된다.The created volume texture is used for 3D visualization in Unreal Engine 4 using the volume rendering technique.

볼륨 렌더링 기법에는 Raymarching 알고리즘을 적용하고, Raymarching 알고리즘의 기본 개념은 3차원 볼륨에 광선을 비춘다고 가정할 때 볼륨을 통과하는 광선과 볼륨이 교차하는 각각의 지점에 대해 불투명도와 그림자를 포함한 색상을 계산하는 것을 말한다.The Raymarching algorithm is applied to the volume rendering technique, and the basic concept of the Raymarching algorithm is to calculate the color including opacity and shadow for each point where the ray passing through the volume and the volume intersect, assuming that a ray is irradiated on a 3D volume. say to do

이와 같이 볼륨과 광선이 교차하는 각 픽셀에 대해 불투명도와 색상을 반환하는 것을 의미하고, 이 과정은 크게 광 흡수에 의한 불투명도 생성과정과 조명, 산란에 의한 색상 생성과정으로 이루어져 있으며 이를 shader를 이용하여 표출한다.This means that the opacity and color are returned for each pixel where the volume and light intersect. This process is largely composed of the opacity generation process by light absorption and the color generation process by lighting and scattering. express

그리고 상용 엔진 중 업데이트가 활발히 이루어지고 무료 라이선스이며 비주얼적인 면에서 뛰어난 unreal engine 4를 사용하여 기본적인 3차원 지형을 위해 DEM 자료를 활용하여 입체 지형을 표출하고, 높이에 따른 색을 달리하는 기본 스킨과 육지와 바다의 색을 달리한 마스크 스킨, 육지와 바다의 경계선을 표시하는 윤곽선 스킨을 적용한다.And using unreal engine 4, which is actively updated among commercial engines and has a free license, which is excellent in terms of visuals, uses DEM data for basic 3D topography to express three-dimensional topography, Apply a mask skin with different colors of land and sea, and an outline skin that displays the boundary between land and sea.

특히, 기상 요소 및 대기질 정보를 3차원 표출하기 위해 다양한 기법들을 적용하고, 바람과 같은 벡터값은 기본적인 벡터장뿐만 아니라 바람을 따라 흐르는 벡터인 스트림 벡터와 유선인 스트림 라인 기법을 추가하여 바람의 흐름을 보다 직관적으로 볼 수 있도록 한다.In particular, various techniques are applied to three-dimensionally express meteorological elements and air quality information, and the vector value such as wind is not only a basic vector field, but also a stream vector that is a vector flowing along the wind and a stream line technique that is a streamline. It makes the flow more intuitive.

또한, 기온, 강수량 등의 2차원 적인 데이터 값은 contour map을 통해 그 분포와 경향을 파악할 수 있도록 하고, 지형의 다양한 스킨과 융합하여 사용자가 원하는 그림을 선택하는 구성을 포함한다.In addition, the two-dimensional data values such as temperature and precipitation allow the distribution and trend to be grasped through the contour map, and includes a configuration in which the user selects the desired picture by fusion with various skins of the terrain.

본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 도 2a 내지 도 2e에서와 같은 과정으로 대기 환경 정보의 3차원 표출 최적화를 구현하는 것이다.The apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention implement the three-dimensional display optimization of the atmospheric environment information through the same process as in FIGS. 2A to 2E .

도 2a에서와 같이, 데이터 입력이 이루어지면 3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만든다.As shown in FIG. 2A , when data is input, 3D data is read through the C++ language and then made into a volume texture.

데이터 입력은 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System) 등 기상 및 대기환경 정보(Ascii, Text, Csv 등)가 입력된다.Data input includes weather and atmospheric environment information (Ascii, Text, Csv, etc.) such as WRF (Weather Research and Forecasting), CMAQ (Community Multiscale Air Quality), AWS (Automatic Weather Station), and ASOS (Automated Surface Observing System) .

WRF 모델은 기상 수치예보 모델이자 기상 시뮬레이션 시스템으로, 기온, 강수량, 구름, 습도 등 기상 정보 예측 자료이고, CMAQ 모델은 제 3세대 대기오염 모델로 미세먼지, 초미세먼지, 일산화질소 등 대기환경 정보 예측 자료이다.The WRF model is a weather numerical forecasting model and a weather simulation system, and it is a forecast data of weather information such as temperature, precipitation, clouds, and humidity. prediction data.

도 2b는 볼륨 텍스쳐 생성 과정을 나타낸 것이다.2B shows a volume texture generation process.

만들어진 볼륨 텍스쳐는 볼륨 렌더링 기법을 활용하여 언리얼 엔진 4에서 3차원 가시화에 사용된다.The created volume texture is used for 3D visualization in Unreal Engine 4 using the volume rendering technique.

도 2c는 볼륨 렌더링 기법으로 Raymarching 알고리즘을 적용하는 것을 나타낸 것이다.Figure 2c shows the application of the Raymarching algorithm as a volume rendering technique.

도 2d는 언리얼 엔진 4의 마테리얼 기능을 이용해 볼륨 텍스쳐에 Shader를 적용하는 과정을 나타낸 것이고, 도 2e는 언리얼 엔진 4의 마테리얼 기능을 적용하여 기상 요소 및 대기질 정보의 3차원 표출의 일 예를 나타낸 것이다.2D shows a process of applying a shader to a volume texture using the material function of Unreal Engine 4, and FIG. 2E is an example of three-dimensional expression of weather elements and air quality information by applying the material function of Unreal Engine 4 is shown.

도 3은 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치의 구성 블록도이다.3 is a block diagram of an apparatus for optimizing the three-dimensional display of atmospheric environment information according to the present invention.

본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치는 원하는 영역의 DEM 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부(10)와, DEM 자료 추출 및 3차원 지형 생성부(10)에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부(20)와, 지형 스킨 및 윤곽선 표출부(20)에 의한 지형 스킨 및 윤곽선 표출 화면에 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 기상 요소 표출부(30)와, CMAQ 모델 결과를 사용하여 볼륨 렌더링 기법을 활용하여 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부(40)를 포함한다.The apparatus for optimizing the three-dimensional display of atmospheric environment information according to the present invention extracts DEM data of a desired area in a height map format, and applies the extracted DEM height map data through the landscape function of Unreal Engine 4 to create a three-dimensional topography Using the material function of Unreal Engine for the 3D terrain generated by the DEM data extraction and 3D terrain generation unit 10 and the DEM data extraction and 3D terrain generation unit 10, the height of the terrain and the sea and land are calculated. Wind information, cloud information, temperature information, precipitation information, 3-second The meteorological element display unit 30 that processes gust information to express the meteorological elements, and the volume rendering technique using the CMAQ model results to three-dimensionally express the air environment information data, the movement and diffusion of air pollutants, It includes an atmospheric environment information display unit 40 that displays the vertical distribution so that it can be known.

여기서, 지형 스킨 및 윤곽선 표출부(20)는 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용한다.Here, the terrain skin and outline display unit 20 utilizes the material function of Unreal Engine to apply a color according to the height of the terrain, a basic skin, a mask skin to distinguish the sea and land, and an outline skin to display the boundary between the sea and land. is applied selectively.

본 발명에서 기상 및 대기환경 정보의 3차원 표출을 위해 가장 먼저 3차원 지형을 구현하여야 하는데, 본 발명의 일 실시 예에서는 DEM 자료를 활용한다.In the present invention, a three-dimensional topography must first be implemented for the three-dimensional expression of weather and atmospheric environment information. In an embodiment of the present invention, DEM data is used.

도 4는 DEM 자료를 활용한 3차원 지형 표출의 일 예를 나타낸 구성도이다.4 is a configuration diagram illustrating an example of a three-dimensional topography expression using DEM data.

본 발명에서는 30m 해상도의 수치표고 모델(Digital Elevation Model, DEM) 자료를 활용하여 사례별 지형을 표출하는 것을 예로 설명한다.In the present invention, an example of expressing the topography for each case using a digital elevation model (DEM) data of 30 m resolution will be described as an example.

DEM 자료를 활용하기 위해 원하는 영역의 DEM 자료를 높이맵 형식으로 추출할 필요가 있으며 본 발명의 일 실시 예에서는 global mapper 프로그램을 이용하여 30m 해상도의 DEM 자료를 추출하는 것을 예로 한다.In order to utilize the DEM data, it is necessary to extract the DEM data of a desired area in the form of a height map, and in an embodiment of the present invention, the 30m resolution DEM data is extracted using a global mapper program as an example.

추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하고, 추가로 언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용한다.The extracted DEM height map data is applied through the landscape function of Unreal Engine 4 to create a three-dimensional terrain, and additionally, by using the material function of Unreal Engine, a basic skin that colors according to the height of the terrain, a basic skin that distinguishes the sea from the land Optionally apply a mask skin, an outline skin that marks the boundary between the sea and land.

도 4에서와 같이, 생성된 직후는 지형의 스킨을 입히지 않아 기본적인 회색으로 나오지만, DEM을 잘 반영하여 지형과 제주도 등이 나타나는 것을 볼 수 있다.As shown in FIG. 4 , immediately after creation, the skin of the terrain is not applied, so the basic gray color appears, but it can be seen that the topography and Jeju Island appear by reflecting the DEM well.

도 5a내지 도 5c는 본 발명에 적용되는 기본 스킨, 마스크 스킨, 윤곽선 스킨의 예를 나타낸 구성도이다.5A to 5C are configuration diagrams illustrating examples of a basic skin, a mask skin, and an outline skin applied to the present invention.

스킨을 적용하기 위해 지형의 고도에 따라 지형의 색을 달리하여 표출한다.To apply the skin, the color of the terrain is displayed differently depending on the altitude of the terrain.

언리얼 엔진의 Material 기능을 활용하여 지형의 고도에 따른 지형 색의 값을 달리 주어 스킨을 적용한다.By using the Material function of Unreal Engine, the skin is applied by giving different values of the terrain color according to the altitude of the terrain.

도 5a는 지형에서 고도에 따른 지형 색을 입힌 기본 스킨의 모습으로, 바다와 육지가 쉽게 구분되며 지형의 고도에 따라 색이 달라서 지형의 높낮이를 쉽게 구분할 수 있도록 한 것이다.5A is a view of a basic skin that is colored according to altitude in the terrain, and the sea and land are easily distinguished, and the color is different according to the altitude of the terrain, so that the height of the terrain can be easily distinguished.

도 5b는 복잡한 윤곽선이 아니라 Land-Sea Mask처럼 육지와 바다의 구분이 잘 보이게 하도록 특정 고도 이하의 지형은 검은색, 그 이상은 흰색으로 그린 마스크 스킨을 나타낸 것이다.5B shows the mask skin painted in black for terrain below a certain altitude and white above a certain altitude so that the distinction between land and sea can be clearly seen like a Land-Sea Mask, rather than a complex outline.

도 5c는 지형의 윤곽선을 표시하기 위해 Material 기능을 통해 특정 고도의 지형 색 값을 흰색으로 두고 나머지 지형 색 값을 검은색으로 한 윤곽선 스킨(contour skin)이다.5C is a contour skin in which the terrain color value of a specific elevation is set to white and the remaining terrain color values are set to black through the Material function to display the contour of the terrain.

특정 고도와 비교하여 특정 고도(Line1) 이하이거나 또 다른 고도(Line2) 이상이면 검은색, 그 사이의 고도에서는 흰색을 나타내게 해서 윤곽선을 표현한 것으로, 이때 두 고도 사이의 차가 윤곽선의 두께가 되어 윤곽선을 적용한 지형으로 복잡한 해안선을 잘 나타내고 있음을 알 수 있다.Compared to a specific elevation, if the elevation is below a certain elevation (Line1) or above another elevation (Line2), the outline is expressed in black, and the elevation in between is displayed in white. It can be seen that the applied topography well represents the complex coastline.

이와 같은 3가지 스킨의 경우 사용자가 원하는 스킨을 언제든지 선택하여 변경할 수 있도록 한다.In the case of these three skins, the user can select and change the desired skin at any time.

도 6은 본 발명에 따른 기상 요소 표출부의 상세 구성도이다.6 is a detailed configuration diagram of a weather element display unit according to the present invention.

본 발명에 따른 기상 요소 표출부(30)는 도 6에서와 같이, 수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부(31)와, QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부(32)와, C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 Contour Texture를 생성하는 기온 정보 처리부(33)와, C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부(34)와, 3-second gust를 등치선으로 표출하는 3-second gust 처리부(35)를 포함한다.As shown in FIG. 6 , the weather element display unit 30 according to the present invention converts the u and v components of the wind vector, which is the result of the numerical model, into wind direction and wind speed, and processes the wind vector field, stream vector, stream line, and isolines The wind information processing unit 31, which performs 3D visualization processing by volume rendering of cloud information using the QCLOUD variable, and the C++ source code to read the raw data of temperature from the raw data To convert to and ℃ unit system, subtract 273.15, the absolute zero value, from the read data, store it in an array, normalize the data, compare it with the color legend, save the corresponding color in the array, and then use the UpdateTextureRegions function to create a Contour Texture The temperature information processing unit 33, which reads RAINC and RAINNC from raw data through C++ code, sums them up, stores them in an array, and subtracts the Rain array value of the previous time from the Rain array value of the time to be created and compares it with the color legend and a precipitation information processing unit 34 for processing the precipitation information by storing it in an array, and a 3-second gust processing unit 35 for expressing 3-second gust as an isoline.

기상 정보 대부분은 2차원 자료로 이루어져 있어 2차원 등치선으로 표출할 수 있으며 고도별로 값이 존재하는 구름과 같은 3차원 자료의 경우는 볼륨 렌더링으로 표출할 수 있다.Most of the weather information consists of two-dimensional data, so it can be expressed as a two-dimensional isoline, and in the case of a three-dimensional data such as a cloud with values for each altitude, it can be expressed by volume rendering.

자료만 주어진다면 어떤 요소들이든 표출할 수 있지만 본 발명의 일 실시 예에서는 대표적인 기상 정보인 바람, 기온, 강수량, 구름의 표출 방법을 설명한다.Any element can be expressed as long as data is given, but in an embodiment of the present invention, a method of expressing wind, temperature, precipitation, and clouds, which are representative weather information, will be described.

WRF 모델 결과에는 기상 정보 중 구름을 나타내는 많은 변수가 존재하며 본 발명에서는 변수 중 QVAPOR, QRAIN, QCLOUD를 이용해 볼륨 렌더링 기법으로 3차원 구름을 표출하여 실제 구름과 가장 유사하게 표출되는 변수인 QCLOUD 변수를 선택한다.In the WRF model results, there are many variables representing clouds among the weather information. In the present invention, the QCLOUD variable, which is the most similarly expressed variable to the actual cloud, is expressed by the volume rendering technique using QVAPOR, QRAIN, and QCLOUD among the variables. choose

QVAPOR는 수증기 혼합 비율로 단위 질량의 공기와 혼합된 수증기의 질량을 뜻한다. QRAIN는 단위 질량의 공기와 혼합된 빗물의 질량, QCLOUD는 단위 질량의 공기와 혼합된 운수의 질량을 의미하며 세 변수의 단위는 kg / kg로 같다.QVAPOR is the water vapor mixing ratio, meaning the mass of water vapor mixed with a unit mass of air. QRAIN is the mass of rainwater mixed with a unit mass of air, QCLOUD is the mass of transport mixed with a unit mass of air, and the unit of the three variables is the same as kg / kg.

바람의 경우는 크기와 방향 성분이 있어 벡터를 통해 나타내는데, 바람을 표출하기 위해서는 바람의 방향인 풍향과 크기인 풍속이 필요하다. In the case of wind, there are magnitude and direction components and it is expressed through a vector.

하지만 수치 모델의 결과는 풍향, 풍속이 아닌 바람 벡터의 u, v 성분으로 나오기 때문에 이를 풍향, 풍속으로 변환할 필요성이 있다.However, it is necessary to convert the numerical model results into the wind direction and wind speed because the result is not the wind direction and the wind speed, but the u and v components of the wind vector.

u, v 성분으로 이루어진 바람 벡터를 삼각함수를 이용해 각도인 θ를 구한다.The angle θ is calculated using a trigonometric function for the wind vector composed of u and v components.

Figure pat00007
Figure pat00007

수학식 1에서와 같이, 삼각함수에 의해 u 성분은 풍속과 sin θ의 곱, v 성분은 풍속과 cos θ의 곱이 된다. 두 식을 θ에 의해 정리하면 수학식 2에서와 같은 결과를 얻을 수 있다.As in Equation 1, the u component becomes the product of the wind speed and sin θ by the trigonometric function, and the v component becomes the product of the wind speed and cos θ. If the two equations are arranged by θ, the same result as in Equation 2 can be obtained.

Figure pat00008
Figure pat00008

여기서 구한 θ는 radian 값이므로 프로그램에서 쓰기 위해 degree 값으로 변환할 필요가 있다. 1 radian은 호의 길이가 반지름과 같게 되는 각도를 말하며 약 57.3°를 나타낸다.Since θ obtained here is a radian value, it is necessary to convert it to a degree value for use in the program. 1 radian is the angle at which the arc length is equal to the radius and represents about 57.3°.

수학식 3에서와 같이 degree와 radian 사이에는 180°는 π radian(3.141592…….)라는 관계가 성립되면 이를 이용하여 radian 값에 π에서 180°를 나눠준 값을 곱해주면 degree 값을 구할 수 있게 된다. 반대로 degree 값에 180°에서 π를 나눠준 값을 곱하였을 때 radian 값으로 변환되어 진다.As shown in Equation 3, if the relationship that 180° is π radian (3.141592....) is established between degree and radian, the degree value can be obtained by multiplying the radian value by the value obtained by dividing π by 180° using this. . Conversely, when the degree value is multiplied by the value divided by π at 180°, it is converted to a radian value.

Figure pat00009
Figure pat00009

풍속의 경우는 피타고라스 정리에 따라 u와 v 성분을 제곱하여 더한 후 루트를 씌워서 구하게 된다.The wind speed is obtained by squaring and adding the u and v components according to the Pythagorean theorem, and then covering the root.

Figure pat00010
Figure pat00010

도 7은 본 발명에 따른 바람 정보 처리부의 상세 구성도이다.7 is a detailed configuration diagram of the wind information processing unit according to the present invention.

본 발명에 따른 바람 정보 처리부(31)는 C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부(31a)와, 바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부(31b)와, 스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부(31c)와, 풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부(31d)를 포함한다.The wind information processing unit 31 according to the present invention extracts and reads the u and v components of the wind from the raw data by using the C++ source code, calculates the wind direction and the wind speed, stores them in an array, and reads them from the Unreal engine to each wind field A wind vector field expression unit 31a to reflect the vector of , a stream vector expression unit 31b for implementing a stream vector that is a wind vector flowing along the wind field, and a streamline flowing along the wind field similarly to the stream vector A streamline display unit 31c to implement, and an isoline processing unit that normalizes wind speed data from 0.0 to 1.0 to match the color of the legend color, stores the corresponding color information in an array, and creates a texture to be fused with the terrain skin ( 31d).

도 8은 바람 벡터장을 3차원 지형 위에서 표출하기 위한 일 예를 나타낸 구성도이다.8 is a configuration diagram illustrating an example for expressing a wind vector field on a three-dimensional topography.

기상 요소 표현을 위한 바람 벡터장에 관하여 설명하면 다음과 같다.The wind vector field for expressing meteorological elements will be described as follows.

바람을 나타내는 가장 기본적인 바람장을 표출하기 위해 C++ 소스 코드를 활용해 raw 데이터로부터 바람의 u, v 성분을 추출하여 읽어오고, 읽어온 u, v 값을 이용하여 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 프로그램을 한다.In order to express the most basic wind field representing the wind, the C++ source code is used to extract and read the u and v components of the wind from the raw data, and using the read u and v values, the wind direction and speed are calculated and stored in an array. And read it from Unreal Engine and program it to reflect each vector of the wind field.

저장한 배열은 언리얼 엔진 4의 블루프린트를 통해서 각 바람 벡터의 성분에 반영하도록 한다.The saved arrangement is reflected in the components of each wind vector through Unreal Engine 4's Blueprint.

Data라는 DataManager 클래스에서 WindAngle, WindSpeed 배열을 불러오게 된다. 이때 배열의 인덱스는 바람장의 x 격자와 y 격자, 레이어 인덱스, 시간 인덱스에 의해 계산되며 Get 노드를 통해 계산한 인덱스의 배열 값을 읽어오게 된다.The WindAngle and WindSpeed arrays are called from the DataManager class called Data. At this time, the index of the array is calculated by the x grid and y grid of the wind field, the layer index, and the time index, and the array value of the calculated index is read through the Get node.

바람장의 경우 단일 면의 경우는 레이어가 하나이지만, 등압면의 경우 고도별로 레이어를 두어 고도에 따라 풍향, 풍속이 변하도록 작성한다.In the case of a wind field, in the case of a single surface, there is one layer, but in the case of an isostatic surface, it is written so that the wind direction and wind speed change according to the altitude by placing layers for each altitude.

이를 위해 DataManager 클래스에서 레이어 인덱스를 설정하고 배열 인덱스 계산에 활용한다.To do this, set the layer index in the DataManager class and use it to calculate the array index.

그리고 Raw 자료의 원본 해상도보다 낮은 해상도로도 표출할 수 있도록 한다. 바람 벡터장의 해상도가 높으면 바람 벡터를 표출하는 데 있어서 사용자의 컴퓨터에 부하가 많이 걸리므로 상황에 맞게 해상도를 변경할 수 있도록 하는 것이 바람직하다.In addition, it is possible to display even at a resolution lower than the original resolution of the raw material. If the resolution of the wind vector field is high, it is desirable to change the resolution according to the situation because it takes a lot of load on the user's computer to express the wind vector.

이와 같은 바람 벡터장을 3차원 지형 위에서 다양한 방법으로 도 8의 (a)(b)는 태풍 사례의 한 시간대로 바람 벡터장에 풍속에 따른 색을 주었을 때와 색을 하나로 통일했을 때의 화면이다.This wind vector field is applied in various ways on a three-dimensional topography, and Fig. 8 (a) (b) is a screen when colors according to wind speed are given to the wind vector field in one time period of a typhoon case and when colors are unified into one. .

풍속에 따른 색을 주었을 때는 전체 풍속의 경향을 쉽게 볼 수 있으며 하나의 색으로 통일했을 때는 배경색과 잘 구별되어 벡터의 크기가 작아도 알아볼 수 있는 장점이 있다.When colors according to wind speed are given, the trend of the overall wind speed can be easily seen.

도 8의 (c)(d)의 경우는 벡터장의 격자 간격을 달리했을 때의 화면으로 (c)의 경우는 (a), (b)와 같은 45km 간격이며 (d)의 경우는 Raw 자료와 같은 9km 간격의 경우이다.In the case of (c)(d) of FIG. 8, the screen is obtained when the grid spacing of the vector field is different. This is the case for the same 9 km interval.

격자 간격이 넓은 경우 (a), (b)와 같이 중규모 이상의 넓은 영역의 바람을 파악하는 데는 좋으나 (c)에서처럼 국지규모로 들어오면 한 번에 표시되는 벡터의 수가 줄어 바람의 경향을 보기가 힘들다.When the grid spacing is wide, it is good to grasp winds in a wide area larger than mesoscale as in (a) and (b), but as in (c), it is difficult to see the wind trend as the number of vectors displayed at a time decreases as the number of vectors displayed at a time is reduced as in (c). .

반대로 격자 간격이 좁은 경우 사용자의 컴퓨터에 부하가 많이 걸리고 중규모 이상의 영역에서는 벡터 크기가 너무 작아져 파악하기가 힘들지만 좁은 영역에서의 바람을 살펴보는 데는 큰 도움이 되는 것을 알 수 있다.Conversely, if the grid spacing is narrow, the user's computer is heavily loaded, and the vector size becomes too small in the medium-scale or larger region, making it difficult to understand, but it can be seen that it is of great help in observing the wind in a narrow region.

도 9는 스트림 벡터의 표출을 위한 예를 나타낸 구성도이다.9 is a block diagram illustrating an example for expressing a stream vector.

바람 벡터장의 경우 바람의 경향을 한눈에 보기에는 좋으나 바람의 흐름을 나타내기에는 한계가 있다.In the case of a wind vector field, it is good to see the wind trend at a glance, but there is a limit to representing the wind flow.

본 발명에서는 이를 보완하기 위해 바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현한다.In order to compensate for this, the present invention implements a stream vector that is a wind vector flowing along the wind field.

스트림 벡터는 고정된 바람 벡터장과 달리 이동하면서 변화하므로 바람의 흐름을 나타내기에 적합한 표출방식이다.Unlike the fixed wind vector field, the stream vector changes as it moves, so it is an appropriate expression method to represent the wind flow.

먼저 지형의 영역 정보를 불러와 영역 안에서 생성될 불규칙한 위치를 Random Float in Range 노드를 통해서 정한다.First, the area information of the terrain is called and the irregular position to be created within the area is determined through the Random Float in Range node.

그리고 사용자의 카메라의 높이를 불러와 이 높이에 비례하게 스트림 벡터의 크기를 지정하게 된다. 이는 카메라의 줌인에 따라 스트림 벡터의 크기를 자동으로 조절하기 위해서이다.Then, the height of the user's camera is called and the size of the stream vector is specified in proportion to this height. This is to automatically adjust the size of the stream vector according to the zoom of the camera.

언리얼 엔진의 For Loop 노드와 Spawn Actor From Pool 노드를 통해 한 번에 다수의 스트림 벡터 클래스를 생성하게 된다. 이렇게 생성된 클래스는 클래스 자체에서 현 위치의 풍향, 풍속을 읽어와 반영할 것이므로 자료를 읽어오는데 필요한 변수들을 전달해주어야 한다. 그리고 Stream Count 변수를 For Loop 노드에 사용하여 한 번에 생성되는 스트림 벡터의 양을 사용자가 조절할 수 있도록 한다.You will create multiple stream vector classes at once through Unreal Engine's For Loop node and Spawn Actor From Pool node. The class created in this way will read and reflect the wind direction and speed of the current location from the class itself, so you need to pass the variables necessary to read the data. In addition, the Stream Count variable is used for the For Loop node so that the user can control the amount of stream vectors created at one time.

각각의 스트림 벡터는 불특정 위치에서 생성되어 그 위치의 풍향, 풍속을 반영하여 움직이게 된다. 현재 스트림 벡터의 월드 상의 위치를 역으로 계산해 Raw 자료의 x, y 좌표를 계산하고 이를 이용해 현 위치에서의 풍향, 풍속 값을 읽어오게 된다. 읽어온 풍속 값은 스트림 벡터의 전방 벡터 GetForwardVector와 곱해져서 벡터가 움직이는 속도를 결정하는 데 쓰이고 풍향은 SetActorLocation 노드를 통해 움직이려는 방향을 결정하는 데 반영된다.Each stream vector is generated at an unspecified location and moves by reflecting the wind direction and speed of the location. The current stream vector's position on the world is calculated inversely to calculate the x, y coordinates of the raw data, and the wind direction and wind speed values are read from the current position. The read wind speed value is multiplied by the stream vector's forward vector GetForwardVector, which is used to determine the moving speed of the vector, and the wind direction is reflected to determine the moving direction through the SetActorLocation node.

마지막으로 한번 생성된 스트림 벡터는 영역 밖으로 나가거나, 일정 시간이 지나면 소멸하게 된다.Finally, the stream vector created once goes out of the area or disappears after a certain period of time.

본 발명에서는 도 9의 (a)(b)에서와 같이, 스트림 벡터도 바람장과 같이 풍속에 따른 색을 줄 경우와 단일 색일 경우로 나눠서 표출한다.In the present invention, as in (a) (b) of FIG. 9 , the stream vector is divided into a case of giving a color according to the wind speed like a wind field and a case of a single color and expressed.

풍속에 따른 색을 줄 경우는 풍속의 세기를 가늠할 수 있으며 단일 색의 경우는 지형과 구분이 잘된다는 장점이 있다. 그리고 줌인했을 경우 스트림 벡터의 크기가 변하지 않는다면 상대적으로 화면 안의 벡터 크기가 너무 커지는 경우가 발생하여 사용자의 카메라 위치에 따라 자동으로 스트림 벡터의 크기를 조절하는 기능을 포함한다.If the color according to the wind speed is given, the strength of the wind speed can be estimated, and in the case of a single color, it has the advantage of being well distinguished from the terrain. In addition, if the size of the stream vector does not change when zoomed in, the size of the vector in the screen may become relatively large, so it includes a function to automatically adjust the size of the stream vector according to the user's camera position.

도 9의 (c)(d)는 줌인을 한 경우를 나타낸 것으로, (a)(b)보다 바람 벡터의 크기가 줄어든 것을 볼 수 있다.(c) (d) of FIG. 9 shows a case of zooming in, and it can be seen that the magnitude of the wind vector is reduced compared to (a) (b).

도 10은 스트림 라인의 표출을 위한 예를 나타낸 구성도이다.10 is a configuration diagram illustrating an example for displaying a stream line.

스트림 벡터의 경우 벡터의 모양이 변하지는 않아 벡터의 방향이 바뀔 때 종종 요동치는 모습들이 발생하는데, 더 자연스러운 흐름을 표출하기 위해 스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현한다.In the case of a stream vector, the shape of the vector does not change, so it often fluctuates when the direction of the vector changes. To express a more natural flow, a streamline flowing along the wind field is implemented similar to a stream vector.

스트림 벡터와 다른 점은 바람 벡터가 아니라 하나의 유선을 그리게 된다는 점이다. 스트림 라인의 구현 방법은 스트림 벡터와 같지만 단순한 객체였던 스트림 벡터와 다르게 스트림 라인은 파티클이라는 언리얼 엔진에서 지원하는 그래픽 기법을 이용하여 표출한다.The difference from stream vectors is that one streamline is drawn instead of a wind vector. The implementation method of the stream line is the same as the stream vector, but unlike the stream vector, which was a simple object, the stream line is expressed using the graphic technique supported by the Unreal Engine called particles.

언리얼 엔진의 Random Float in Range from Stream 노드를 통해 영역 내의 불특정 위치를 선정하고 For Loop 노드를 통해 스트림 라인을 생성하게 된다. 그리고 스트림 벡터와 마찬가지로 카메라의 높이에 따른 크기 및 길이의 변화를 자동화하였고 Stream Count 변수를 통해 사용자가 한 번에 생성되는 정도를 정할 수 있도록 한다.Unreal Engine's Random Float in Range from Stream node selects an unspecified location within the region and creates a stream line through the For Loop node. And, like the stream vector, the change in size and length according to the height of the camera is automated, and the Stream Count variable allows the user to determine the degree of generation at once.

스트림 라인의 생성은 스트림 벡터와 마찬가지로 SpawnActor 노드를 사용하여 스트림 라인 클래스를 생성하며 데이터를 읽어오기 위한 변수들을 생성된 클래스에 전달해준다.Like stream vector, stream line creation uses SpawnActor node to create stream line class and passes variables for reading data to the created class.

스트림 라인 역시 불특정 위치에서 생성될 경우 자신의 위치를 불러와 이를 역으로 계산해 데이터의 x, y 좌푯값을 구해내고 이 값을 통해 현재 위치의 풍향, 풍속을 불러오게 된다.If a stream line is also created at an unspecified location, it retrieves its own location and calculates it inversely to obtain the x and y coordinate values of the data, and the wind direction and speed of the current location are retrieved through these values.

스트림 벡터와 마찬가지로 영역 밖으로 나가거나 일정 시간이 지나면 소멸하며 구한 풍향, 풍속을 SetActorLocation 노드를 통해 현재 객체에 적용하게 된다.Like the stream vector, it goes out of the area or disappears after a certain period of time, and the obtained wind direction and speed are applied to the current object through the SetActorLocation node.

도 10은 태풍 사례의 특정 시간대의 스트림 라인을 표출한 것이다.10 is an expression of a stream line of a specific time period of a typhoon case.

도 10의 (a)는 한반도 영역으로 줌아웃 한 화면으로 유선으로 이루어져 있는 스트림 라인이 앞의 스트림 벡터보다 바람의 흐름을 잘 표현하는 것을 볼 수 있다. 10 (a) is a screen zoomed out to the Korean peninsula, and it can be seen that stream lines composed of wired lines express the wind flow better than the previous stream vectors.

또한, 태풍의 중심에 가까울수록 풍속이 커져서 스트림 라인의 길이가 길어지는 것을 볼 수 있다.In addition, it can be seen that the closer to the center of the typhoon, the greater the wind speed and the longer the stream line length.

도 10의 (b)는 제주도까지 줌인 한 화면으로 카메라의 줌인, 아웃에 따라 스트림 벡터와 같이 스트림 라인의 크기와 선의 길이가 변하는 것을 볼 수 있다. 줌아웃했을 때와 비교하면 제주도 부근의 바람 흐름 변화를 더 상세하게 볼 수 있다.FIG. 10 (b) is a zoomed-in screen to Jeju Island, and it can be seen that the size of the stream line and the length of the line change as in the stream vector according to the zoom in and out of the camera. Compared to zooming out, you can see the wind flow change around Jeju Island in more detail.

도 11은 등치선 표출을 위한 예를 나타낸 구성도이다.11 is a configuration diagram illustrating an example for isoline expression.

등치선은 기상 및 대기환경 정보와 같은 다양한 자료를 색으로 표현하여 2차원 자료의 경향과 분포를 시각적으로 쉽게 볼 수 있게 하는 장치이다.The isoline is a device that makes it easy to visually see the trends and distribution of two-dimensional data by expressing various data such as weather and atmospheric environment information in color.

Figure pat00011
Figure pat00011

표 1의 소스 코드는 기상 정보 중 하나인 풍속을 Contour Texture로 만드는 코드이며 자료의 범위를 최소값인 MinValue와 최대값인 MaxValue의 차로 계산한 뒤 풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시킨다.The source code in Table 1 is the code that makes the wind speed, which is one of the weather information, into a contour texture. After calculating the difference between the minimum value of MinValue and the maximum value of MaxValue, the range of the data is normalized from 0.0 to 1.0 to match the color of the legend color and respond

대응된 색 정보는 ContourTemp 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 배열의 값을 텍스쳐로 생성한다.The corresponding color information is stored in the ContourTemp array, and the value of the array is created as a texture using the UpdateTextureRegions function.

그리고 코드를 통해 생성된 Contour Texture를 지형 스킨에 덮어씌워 지형과 기상 및 대기환경 정보가 일치하게 한다.And the Contour Texture created through the code is overlaid on the terrain skin so that the terrain and weather and atmospheric environment information match.

Figure pat00012
Figure pat00012

표 2는 언리얼 엔진에서 지형의 Material 중 등치선과 관련한 블루프린트이며 TexCoord 노드와 u, v 노드를 이용해 지형에 Contour Texture를 uv 매핑시킨다.Table 2 is a Blueprint related to isolines among the materials of the terrain in Unreal Engine, and uv maps the contour texture to the terrain using the TexCoord node and u and v nodes.

uv 매핑은 3차원 오브젝트를 2차원 텍스쳐로 정의하는 텍스쳐 매핑의 한 종류로 xy 좌표계와 구별하기 위해 uv 좌표계를 이용하여 매핑하는 것이며 0.0 ~ 1.0 사이의 값을 가지게 된다. ContourTexture라는 노드를 통해 UV 매핑된 등치선을 불러오게 되며 Lerp 노드를 통해 선형보간되어 지형 스킨과 융합하게 된다. 이때 Alpha 노드 값에 의해 보간 정도가 결정된다.The uv mapping is a type of texture mapping that defines a 3D object as a 2D texture. It maps using the uv coordinate system to distinguish it from the xy coordinate system, and has a value between 0.0 and 1.0. A UV-mapped isoline is imported through a node called ContourTexture, and it is linearly interpolated through a Lerp node to fuse with the terrain skin. At this time, the degree of interpolation is determined by the value of the Alpha node.

최종적으로, ContourManager 클래스에서 DataManager 클래스로부터 Contour Texture를 읽어와 이를 지형인 랜드스케이프 Material의 ContourTexture 노드에 연결해주게 된다. 그러기 위해서 먼저 ContourManager 클래스가 시작할 때 Dynamic Material Instance(DMI)를 생성시켜주어야 한다. DMI는 Material 안의 노드에 접근하는 데 필요한 동적 변수로 이 변수를 통해서만 실행 도중에 Material의 변화가 가능하다.Finally, the ContourManager class reads the Contour Texture from the DataManager class and connects it to the ContourTexture node of the Landscape Material, which is the terrain. To do this, you must first create a Dynamic Material Instance (DMI) when the ContourManager class starts. DMI is a dynamic variable required to access the nodes in the Material, and only through this variable, the material can be changed during execution.

클래스가 생성될 때 Create Dynamic Material Instance 노드를 이용해 만들 수 있으며 Set Material 노드를 통해 클래스의 Mesh Component에 적용해 준다. 만들어진 DMI는 Update Texture 함수를 통해 랜드스케이프 Material의 등치선과 Alpha 노드를 변경하는 데 이용된다.When a class is created, it can be created using the Create Dynamic Material Instance node and applied to the class's Mesh Component through the Set Material node. The created DMI is used to change the isolines and Alpha nodes of the Landscape Material through the Update Texture function.

이때 랜드스케이프의 Set Landscape Material Texture Parameter Value 노드와 Set Landscape Material Scalar Parameter Value 노드를 이용하는데 노드 이름과 같이 앞의 노드는 텍스쳐 값을 변경하고, 뒤의 노드는 스칼라값을 변경한다.At this time, the Set Landscape Material Texture Parameter Value node and the Set Landscape Material Scalar Parameter Value node of the landscape are used. As in the node name, the front node changes the texture value and the rear node changes the scalar value.

도 11은 태풍 사례의 한 시간대의 풍속 등치선을 표출한 것으로, (a)는 기본적인 풍속 범위인 0 ~ 50m/s로 지정했을 경우이고, (b)는 풍속 범위 최대를 20m/s로 지정했을 경우의 등치선이다.11 shows the wind speed isolines for one time period of a typhoon case, (a) is when the basic wind speed range of 0 ~ 50 m/s is specified, (b) is when the maximum wind speed range is specified as 20 m/s is the isoline of

(b)의 경우가 (a)의 경우보다 풍속의 강약이 더 또렷이 구별되며 태풍의 중심을 파악하기가 쉬운 것을 알 수 있다.It can be seen that in the case of (b), the strength and weakness of wind speed are more clearly distinguished than in the case of (a), and it is easy to identify the center of the typhoon.

본 발명에서는 지형 스킨이 변경되는 경우, 등치선에도 반영되도록 구현한다.In the present invention, when the terrain skin is changed, it is implemented to be reflected in the isolines.

도 12는 본 발명에 따른 기본 스킨, 마스크 스킨, 윤곽선 스킨이 적용되는 등치선 표출의 예를 나타낸 구성도이다.12 is a configuration diagram showing an example of isoline expression to which a basic skin, a mask skin, and an outline skin are applied according to the present invention.

도 12는 태풍 사례 중 한 시간대의 풍속 등치선으로 태풍의 중심이 한반도 서쪽에 자리 잡고 있음을 볼 수 있다.12 is an isoline of the wind speed at one time of the typhoon case, showing that the center of the typhoon is located in the western part of the Korean Peninsula.

(a)는 기본적인 지형 스킨을 적용한 화면으로 지형 색과 등치선의 융합에 따라 지형 색이 섞임으로써 등치선과 지형을 동시에 볼 수 있는 특징이 있다.(a) is a screen with a basic terrain skin applied, and the terrain color is mixed according to the fusion of the terrain color and the isoline, so that the isoline and the terrain can be viewed at the same time.

(b)는 Mask를 적용한 화면으로 육지와 바다의 구별이 쉬우며 (c)의 경우는 윤곽선 스킨을 적용했을 경우로 가장 등치선의 본래 색을 잘 나타낸다는 특징이 있다. (b) is a screen with a mask applied, and it is easy to distinguish between land and sea, and in (c), when an outline skin is applied, the original color of the isolines is best displayed.

도 13a와 도 13b는 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도 및 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도이다.13A and 13B are a schematic diagram showing that the volume texture at each point is read step by step while a camera beam passes through a volume, and a schematic diagram showing how shadow density overlaps when a beam is shot from a single sphere.

본 발명에서는 구름 및 미세먼지 등 3차원으로 표출하기 어려운 변수들을 볼륨 렌더링을 이용해 표출할 수 있도록 한다.In the present invention, variables that are difficult to express in 3D, such as clouds and fine dust, can be expressed using volume rendering.

볼륨 렌더링은 3차원 자료를 2차원으로 화면 투영하여 보여주기 위한 기술의 집합으로, 볼륨 렌더링을 위한 다양한 기법들이 존재하는데 본 발명의 일 실시 예에서는 Raymarching 알고리즘을 적용하고, 이로 제한되지 않는다.Volume rendering is a set of techniques for projecting 3D data onto a screen and showing it in 2D. Various techniques for volume rendering exist. In an embodiment of the present invention, a Raymarching algorithm is applied, but is not limited thereto.

Raymarching 알고리즘의 기본 개념은 광선을 볼륨에 비췄을 때 볼륨을 통과하는 광선을 평가하는 것으로 볼륨과 광선이 교차하는 각 픽셀에 대해 불투명도와 색상을 반환하는 것을 의미한다.The basic concept of the Raymarching algorithm is to evaluate the ray passing through the volume when the ray strikes the volume, which means returning the opacity and color for each pixel where the volume and the ray intersect.

이 과정은 크게 광 흡수에 의한 불투명도 생성과정과 조명, 산란에 의한 색상 생성과정으로 이루어져 있다.This process largely consists of the opacity generation process by light absorption and the color generation process by lighting and scattering.

볼륨의 불투명도를 생성하려면 보이는 지점의 밀도나 두께를 알아야 하는데 이를 위해 Beer-Lambert 법칙을 통해 수학식 5를 정의한다.To create volume opacity, you need to know the density or thickness of the visible point. For this, Equation 5 is defined through the Beer-Lambert law.

Figure pat00013
Figure pat00013

여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도이다.Here, Transmittance is the transmittance, t is the distance traveled in the volume, and d is the density of the volume.

수학식 6은 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이다.As the ray passes through all voxels of the volume, absorption is calculated by multiplying the color of the ray by the inverse opacity of the current voxel, and the color of the current voxel is multiplied by the opacity of the current voxel.

Figure pat00014
Figure pat00014

여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색을 말한다.Here, voxel refers to a pixel in 3D space, C out is the color after passing through the voxel, C in is the color before passing through the voxel, Opacity(x) is the opacity at the x position, and Color(x) is the color at the x position. say

수학식 5 및 수학식 6을 이용하여 먼저 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정할 수 있다. First, the thickness of the volume at each point is obtained using Equations 5 and 6, and then the opacity, which is the amount of light blocked by the volume, can be estimated using the thickness value.

도 13a는 간단한 구의 예시로 카메라 광선이 볼륨을 통과하는 동안 단계별로 각 지점에서의 볼륨 텍스쳐를 읽어오는 것을 나타낸 모식도이다.13A is a schematic diagram illustrating reading a volume texture at each point step by step while a camera ray passes through a volume as an example of a simple sphere.

광선이 볼륨의 안에 위치하는 단계의 경우 광선의 길이를 도면에서 보이는 Distance Traveled within media와 같은 누적변수에 저장한다.In the case of a step where the ray is located inside the volume, the length of the ray is stored in a cumulative variable such as Distance Traveled within media shown in the drawing.

그리고 이 도면의 경우 적은 단계로 수행한 경우라 볼륨을 계산한 노란 점들이 구의 형태와는 많이 차이가 나는 것을 볼 수 있다. 단계를 늘릴수록 실제 볼륨과 비슷한 형태를 계산하지만, 계산 시간이 길어지게 된다.And in the case of this drawing, since it was performed in small steps, it can be seen that the yellow dots for which the volume was calculated differ a lot from the shape of the sphere. As the number of steps increases, a shape similar to the actual volume is calculated, but the calculation time becomes longer.

선형밀도는 수학식 7에서와 같이 점 x에서 x′까지 광선을 따라 누적된다. The linear density is accumulated along the ray from the point x to x' as in Equation 7.

따라서 점 x에서 x′까지 광선 길이에 대한 투과율은 수학식 8에서와 같이 정의된다.Therefore, the transmittance for the ray length from the point x to x' is defined as in Equation 8.

Figure pat00015
Figure pat00015

Figure pat00016
Figure pat00016

위 식을 shader 코드로 작성하면 표 3과 같은 형태가 된다. If the above expression is written as a shader code, it has the form shown in Table 3.

Figure pat00017
Figure pat00017

이 코드는 normalize 함수를 이용해 텍스쳐 공간에서 0 ~ 1 사이에 볼륨 텍스쳐를 설정하고 for 문과 PseudoVolumeTexture 함수를 이용해 단계별로 광선을 통과시켜 선형밀도를 계산하여 반환시켜 준다. 이 경우, MaxSteps 변수를 통해 계산하는 단계 수를 제어할 수 있다.This code uses the normalize function to set the volume texture between 0 and 1 in the texture space, and uses the for statement and PseudoVolumeTexture function to pass the rays step by step to calculate and return the linear density. In this case, you can control the number of steps it counts through the MaxSteps variable.

볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산도 필요하다.When calculating the density of the volume, it is also necessary to calculate the shadow caused by the lighting.

도 13b는 단일 구체에서 광선을 쏘았을 때 그림자 밀도가 어떻게 중첩되는지 보여주는 모식도이다.13B is a schematic diagram showing how shadow density overlaps when a ray is shot from a single sphere.

밀도 계산과 마찬가지로 조명의 방향에 따라 빛이 볼륨 내를 통과할 경우 단계별로 작업을 수행하고 그 거리를 Shadow Density Accumulation에 누적시킨다.As with the density calculation, if the light passes through the volume depending on the direction of the light, the operation is performed step by step and the distance is accumulated in the Shadow Density Accumulation.

각각의 단계별 지점에서 밀도를 측정하여 얼마나 많은 빛을 분산시키는지 결정하며 이는 다음 단계에서 불투명도가 얼마나 증가하는지 영향을 미친다.At each step point, the density is measured to determine how much light is scattered, which affects how much opacity increases in the next step.

이 계산을 위해서는 수학식 8에 각 위치에서의 빛에 의한 계산이 추가되어야 한다.For this calculation, calculation by light at each position should be added to Equation (8).

조명을 추가하기 위해 광선을 따라 각 지점에서의 빛의 산란과 흡수를 고려해야 한다. 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은 수학식 9에서와 같다.To add illumination, we need to consider the scattering and absorption of light at each point along the ray. The amount of scattering made from the light in the w direction from the x point in the volume to the corresponding point is the same as in Equation 9.

Figure pat00018
Figure pat00018

여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점이다. 즉 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미한다. where w is the direction of the light and l is the point towards the negative direction of the light outside the volume. That is, -LinearDensity(x, l) represents the linear density due to light from the point x until reaching the volume boundary, which means the amount of particles absorbing light.

여기에 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지게 된다.Here, the OutScattering term is multiplied by Opacity to calculate the ratio of absorbed light based on the opacity of the volume.

수학식 10에서와 같이 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환한다.Returns the total scatter at all points along the ray through the volume as in equation (10).

Figure pat00019
Figure pat00019

도 14는 shader 코드를 노드 화하여 구름 객체의 Material에 적용한 구성 및 볼륨 텍스쳐의 예를 나타낸 구성도이다.14 is a configuration diagram showing an example of a configuration and volume texture applied to the material of the cloud object by nodeizing the shader code.

shader 코드를 노드 화하여 구름 객체의 Material에 적용한 것이 도 14의 (a)이다.Fig. 14 (a) shows that the shader code is nodeized and applied to the material of the cloud object.

Density Raymarch 노드에서 shader 코드가 적용되며 Cloudtexture 노드에서 볼륨 텍스쳐를 읽어오게 된다. 그 후, LightColor 노드와 곱해져서 구름의 색이 결정되게 된다.The shader code is applied from the Density Raymarch node and the volume texture is read from the Cloudtexture node. After that, it is multiplied by the LightColor node to determine the color of the cloud.

도 14의 (b)는 볼륨 텍스쳐이며 각 층을 나타내는 텍스쳐가 하나로 합쳐진 모습을 나타내고 있다. 태풍 사례의 경우 WRF 모델 결과의 3차원 자료가 29개 층으로 이루어져 있어 5 X 5개로 나누어 저장한 것이다.14(b) is a volume texture and shows a state in which textures representing each layer are combined into one. In the case of typhoon, the 3D data of the WRF model result consists of 29 layers and is stored in 5 X 5 sections.

Density Raymarch 노드에서는 이 볼륨 텍스쳐를 읽어와 각각을 나눠서 하나의 층으로 그리게 된다.The Density Raymarch node reads this volume texture and divides them into one layer.

도 15는 기온을 등치선으로 표출한 일 예를 나타낸 구성도이다.15 is a configuration diagram illustrating an example in which temperature is expressed as an isoline.

기온은 등치선으로 표출하기 가장 적합한 요소이다.Temperature is the most suitable factor to express as an isoline.

본 발명의 일 실시 예에서는 지표면에서 2m 높이의 기온을 표출하는 것을 예로 설명한다.In an embodiment of the present invention, an example of expressing the temperature at a height of 2 m from the earth's surface will be described.

먼저 C++ 코드를 이용해서 기온의 Raw 자료를 읽어온다.First, read raw data of Gion using C++ code.

다른 자료들을 읽어오는 부분과 같으나, 수치 모델 결과의 온도값은 K 단위계를 사용하므로 우리가 자주 사용하는 ℃ 단위계로 변환할 필요가 있다. 이를 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장한다.It is the same as reading other data, but the temperature value of the numerical model result uses the K unit system, so it is necessary to convert it to the ℃ unit system that we often use. For this, the absolute zero value of 273.15 is subtracted from the read data and stored in an array.

표 4는 저장한 배열을 이용해 Contour Texture를 생성하는 코드이다. Table 4 is the code to create a Contour Texture using the saved array.

Figure pat00020
Figure pat00020

자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장한 뒤 UpdateTextureRegions 함수를 이용해 Contour Texture를 생성하게 된다.After the data is normalized, the corresponding color is stored in an array by comparing it with the color legend, and then the Contour Texture is created using the UpdateTextureRegions function.

도 15는 태풍 사례 중 한 시간대의 2m 기온을 등치선으로 표출한 것이다.15 is an isoline of the temperature of 2 m in one time zone among typhoon cases.

도 15의 (a)는 색 범례의 범위를 -10 ~ 40℃로, (b)는 -10 ~ 30℃로 지정한 것이다.In (a) of FIG. 15, the range of the color legend is designated as -10 to 40°C, and (b) is designated as -10 to 30°C.

(a)와 비교하면 (b)의 그림이 기온의 분포를 파악하기에 쉽다는 것을 알 수 있다. (b)에서 기온이 한반도 서쪽의 태풍 중심을 따라 태풍의 형태를 따라 변화하는 것을 볼 수 있으며 동쪽의 태백산맥을 경계로 지형에 의한 기온 차이가 확연히 구별되는 것을 볼 수 있다. (a)와 (b)의 비교처럼 사례에 따라 기온의 분포가 다르므로 각 사례의 특징을 잘 나타낼 수 있는 범위를 지정할 필요성이 있다.Comparing with (a), it can be seen that the figure in (b) is easy to grasp the distribution of temperature. In (b), it can be seen that the temperature changes according to the type of typhoon along the center of the typhoon in the western part of the Korean Peninsula, and the temperature difference due to the topography is clearly distinguished with the Taebaek Mountains in the east as the boundary. As in the comparison between (a) and (b), the distribution of temperature varies depending on the case, so it is necessary to designate a range that can represent the characteristics of each case well.

도 16은 강수량을 등치선으로 표출한 일 예를 나타낸 구성도이다.16 is a configuration diagram illustrating an example in which the amount of precipitation is expressed as an isoline.

강수량은 일정 시간 동안 한 지역에서 내린 비의 양이므로 하나의 층인 2차원 자료만 가지게 되므로 등치선으로 표출하기에 적합한 기상 요소이다.Since precipitation is the amount of rain falling in one area for a certain period of time, it has only one layer, two-dimensional data, so it is a suitable meteorological element to express as an isoline.

강수량을 나타내는 다양한 변수들이 존재하지만 본 발명의 일 실시 예에서는 WRF 모델 결과를 사용하여 표출하는 것을 예로 설명한다.Although various variables indicating the amount of precipitation exist, in an embodiment of the present invention, the expression using the WRF model result will be described as an example.

WRF 모델 결과에서는 누적 강수량만 주어지므로 이를 현 시간의 강수량으로 나타내기 위해서는 수학식 11에서와 같이 현 시간의 누적 강수량에서 그 전 시간의 누적 강수량을 빼주어야 한다.Since only the cumulative precipitation is given in the WRF model result, in order to represent this as the current time's precipitation, as in Equation 11, the current time's accumulated precipitation must be subtracted from the previous time's accumulated precipitation.

Figure pat00021
Figure pat00021

그리고 WRF 모델 결과에서 나타내는 누적 강수량은 두 가지가 존재하며 RAINC는 적운 모수화(the cumulus parameterization)에 의해 생성되며 RAINNC는 미세물리과정과 강수를 생성하는 별도의 프로세서에 의해 생성되는 변수이다.And, there are two types of cumulative precipitation shown in the WRF model result. RAINC is generated by the cumulus parameterization, and RAINNC is a variable generated by a microphysical process and a separate processor that generates precipitation.

일반적으로 WRF 모델에서 누적 강수량은 RAINC와 RAINNC의 합으로 쓰이며 단위는 mm이다.In general, the cumulative precipitation in the WRF model is used as the sum of RAINC and RAINNC, and the unit is mm.

먼저 C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장한다. First, RAINC and RAINNC are read from raw data through C++ code, summed and stored in an array.

표 5에서와 같이 getline 함수를 통해 각각의 자료를 읽어온 후 ParseIntoArray 함수로 이를 x 좌표에 따라 분류한 뒤 두 값을 합하여 Rain 배열에 저장한다.As shown in Table 5, after each data is read through the getline function, it is classified according to the x-coordinate with the ParseIntoArray function, and the two values are combined and stored in the Rain array.

Figure pat00022
Figure pat00022

저장한 배열을 이용하여 Contour Texture를 생성하는 코드를 이용하여 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장한다.Using the code that creates the contour texture using the saved array, subtract the Rain array value of the previous time from the Rain array value of the time you want to create, compare it with the color legend, and save it in the array.

그리고 처음 시간의 경우 이전 시간이 존재하지 않으므로 If 문을 활용하여 처음 시간의 Rain 배열 값을 배열에 저장하게 된다.And in the case of the first time, since the previous time does not exist, the Rain array value of the first time is stored in the array by using the If statement.

저장한 배열은 UpdateTextureRegions 함수를 통해 Contour Texture를 생성하게 된다.The saved array creates a Contour Texture through the UpdateTextureRegions function.

도 16은 태풍 사례 중 한 시간대의 강수량을 등치선으로 표현한 것이다.16 is an isoline representation of the amount of precipitation in one time period among typhoon cases.

비가 많이 오는 곳을 붉은색으로 표현이 되어 있고 적은 곳은 푸른색으로, 오지 않은 곳은 색이 없음을 알 수 있다. 태풍의 중심 부근에는 많은 비가 오고 있지만, 상대적으로 태풍의 서쪽에 있는 한반도에는 강수량이 많지 않은 것을 볼 수 있다.It can be seen that the places where it rains a lot are expressed in red, the places where there is little rain are expressed in blue, and the places where it does not rain are colorless. Although it rains a lot near the center of the typhoon, it can be seen that there is not much precipitation in the Korean peninsula, which is relatively west of the typhoon.

도 17은 3-second gust를 등치선으로 표출한 일 예를 나타낸 구성도이다.17 is a configuration diagram showing an example in which 3-second gust is expressed as an isoline.

본 발명은 태풍사전방재모델에서 나온 결과인 3-second gust 역시 표출할 수 있도록 한다.The present invention makes it possible to also express the 3-second gust, which is the result from the typhoon advance disaster prevention model.

3-second gust는 풍속만 있는 2차원 자료이므로 이를 등치선으로 표출한다.Since 3-second gust is a two-dimensional data with only wind speed, it is expressed as an isoline.

도 17에서 보면 기존의 풍속과 비슷하게 태풍의 눈을 중심으로 높은 풍속의 3-second gust가 분포하고 있는 것을 볼 수 있다.17 , it can be seen that the 3-second gust of high wind speed is distributed around the eye of the typhoon similarly to the existing wind speed.

도 18은 본 발명에 따른 대기환경 정보 표출부의 상세 구성도이다.18 is a detailed configuration diagram of the air environment information display unit according to the present invention.

대기환경 정보에는 우리가 흔히 알고 있는 미세먼지, 황사뿐만 아니라 누출사고로 인한 오염 물질이나 화력 발전소 주변의 오염 물질 등 다양한 요소들이 있다. 지금까지 제공하는 대기환경 정보는 대부분 2차원 표출이었지만 미세먼지나 오염 물질의 특징상 3차원 표출을 통해 수직 분포를 알면 더욱 효과적인 분석이 가능할 것이다.Air environment information includes not only fine dust and yellow dust that we are familiar with, but also various elements such as pollutants caused by leakage accidents or pollutants around thermal power plants. Most of the atmospheric environment information provided so far has been expressed in two dimensions, but due to the characteristics of fine dust or pollutants, more effective analysis will be possible if the vertical distribution is known through three-dimensional display.

본 발명의 일 실시 예에서 3차원 대기환경 정보 자료는 CMAQ(Community Multi-scale Air Quality) 모델 결과를 사용하였으며 볼륨 렌더링 기법을 활용하여 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포 등을 한눈에 파악할 수 있도록 한다.In an embodiment of the present invention, the three-dimensional air environment information data uses the CMAQ (Community Multi-scale Air Quality) model result and is expressed in three dimensions using the volume rendering technique, so that the movement, diffusion, and vertical distribution of air pollutants are so that you can see it at a glance.

이를 위한 본 발명에 따른 대기환경 정보 표출부(40)는 도 18에서와 같이, 시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부(41)와, 미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부(42)와, 일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부(43)와, 일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부(44)와, 아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부(45)를 포함한다.For this purpose, the atmospheric environment information display unit 40 according to the present invention is a screen viewed from above in which the PM2.5 concentration over time is expressed by volume rendering, a screen viewed from the bottom to see a vertical distribution, The ultrafine dust (PM2.5) display unit 41 that provides a screen showing the isoline expression of the PM2.5 concentration and the three-dimensional data of PM10 representing the fine dust are used to volume-render the fine dust concentration in three dimensions. The carbon monoxide concentration is expressed in three dimensions by volume rendering using the fine dust (PM10) display unit 42, which represents the data for each altitude as an isoline, and the three-dimensional data of CO representing carbon monoxide. Using the carbon monoxide (CO) display unit 43 representing the data as an isoline, and the 3D data of NO representing nitrogen monoxide, the nitrogen monoxide concentration is rendered in three dimensions and expressed in three dimensions, and the data for each altitude is expressed as an isoline. Using the nitrogen (NO) display unit 44 and 3D data of SO 2 representing sulfurous acid gas, the sulfur dioxide concentration is expressed in three dimensions by volume rendering, and sulfur dioxide (SO 2 ) representing the data for each altitude as an isoline. ) includes an expression part (45).

이와 같은 구성을 갖는 본 발명에 따른 대기환경 정보 표출부(40)에 의해 CMAQ 모델 결과 중 초미세먼지인 PM2.5와 미세먼지인 PM10, 그 밖의 오염 물질인 일산화탄소, 일산화질소, 아황산가스를 표출할 수 있도록 한다.By the air environment information display unit 40 according to the present invention having such a configuration, PM2.5 which is ultrafine dust, PM10 which is fine dust, and other pollutants such as carbon monoxide, nitrogen monoxide and sulfur dioxide are expressed among the CMAQ model results. make it possible

도 19a 내지 도 19c는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면 구성도이다.19A to 19C are screen configuration diagrams in which PM2.5 concentration in the Korean peninsula over time is expressed through volume rendering.

CMAQ 모델 결과 중 초미세먼지인 PM2.5의 3차원 자료를 사용하여 초미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.Among the results of the CMAQ model, the ultrafine dust concentration was expressed in three dimensions by volume rendering using the three-dimensional data of PM2.5, which is ultrafine dust, and the data for each altitude is represented by an isoline.

본 발명에서는 시간의 경과에 따른 한반도 영역의 PM2.5 농도를 볼륨 렌더링으로 표출한 화면으로 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면을 제공할 수 있고, 도 19c에서와 같이, CMAQ 모델 결과 중 가장 낮은 층의 PM2.5 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.In the present invention, it is possible to provide a screen viewed from the top as a screen expressing the PM2.5 concentration in the Korean peninsula over time by volume rendering, and a screen viewed from the bottom to see the vertical distribution, and as shown in FIG. 19c, the CMAQ model Among the results, it is possible to provide a screen showing the isoline expression of the PM2.5 concentration of the lowest layer.

도 19a 내지 도 19c를 보면, 시간의 경과에 따라 한반도에 존재하고 있던 초미세먼지들이 서해안으로부터 유입된 초미세먼지와 합해져서 북쪽으로 이동하는 것을 볼 수 있다. 19A to 19C , it can be seen that, over time, the ultrafine dust existing in the Korean Peninsula is combined with the ultrafine dust introduced from the west coast and moves to the north.

도 20a 내지 도 20c는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.20A to 20C are diagrams illustrating a three-dimensional display of fine dust concentration by volume rendering using three-dimensional data of PM10.

CMAQ 모델 결과 중 미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.Among the results of the CMAQ model, the three-dimensional data of PM10 representing fine dust was used to express the fine dust concentration in 3D by volume rendering, and the data for each altitude were expressed as isolines.

시간의 경과에 따른 한반도 영역의 PM10 농도를 볼륨 렌더링으로 표출한 화면으로 위에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 20c에서와 같이, 가장 낮은 층의 PM10 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.As a screen expressing the PM10 concentration in the Korean peninsula over time through volume rendering, a screen viewed from the top and a screen viewed from the side to see the vertical distribution can be provided. It is possible to provide a screen showing the isoline expression.

도 20a 내지 도 20c를 보면, PM10은 PM2.5와 유사한 움직임을 보이는 것을 알 수 있다.20A to 20C , it can be seen that PM10 exhibits a movement similar to PM2.5.

도 21a 내지 도 21c는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.21A to 21C are diagrams illustrating a three-dimensional screen configuration by volume-rendering carbon monoxide concentration using three-dimensional data of CO.

CMAQ 모델 결과 중 일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.Among the CMAQ model results, the carbon monoxide concentration was expressed in three dimensions by volume rendering using the three-dimensional data of CO representing carbon monoxide.

시간의 경과에 따른 한반도 영역의 CO 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 21c에서와 같이, 낮은 층의 CO 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.As a screen expressing the concentration of CO in the Korean peninsula over time with volume rendering and isolines, a screen viewed from the top centered on the Korean Peninsula and a screen viewed from the side to see the vertical distribution can be provided, as shown in FIG. 21c , it is possible to provide a screen showing the isoline expression of the CO concentration of the lower layer.

초반에는 서해안과 동해안에 분포되어 있던 CO가 시간이 지남에 따라 수도권을 중심으로 모인 뒤 북쪽으로 퍼져 올라가는 것을 볼 수 있다. PM2.5, PM10, CO의 확산하는 분포가 비슷한데 이는 같은 시간대, 같은 바람에 의해 확산하기 때문이다.In the beginning, it can be seen that CO, which was distributed in the west and east coasts, gathers around the metropolitan area as time goes by and then spreads to the north. The diffusive distributions of PM2.5, PM10 and CO are similar because they are diffused by the same wind at the same time period.

도 22a 내지 도 22c는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.22A to 22C are diagrams illustrating the three-dimensional display of the nitrogen monoxide concentration by volume rendering using the three-dimensional data of NO.

CMAQ 모델 결과 중 일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.Among the CMAQ model results, the nitrogen monoxide concentration was expressed in three dimensions by volume rendering using the three-dimensional data of NO, which represents nitrogen monoxide, and the data for each altitude is represented by an isoline.

시간의 경과에 따른 한반도 영역의 NO 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 22c에서와 같이, 낮은 층의 NO 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다.As a screen expressing the NO concentration of the Korean peninsula region over time with volume rendering and isolines, it is possible to provide a screen viewed from the top centered on the Korean Peninsula and a screen viewed from the side to see the vertical distribution, as shown in FIG. 22c , it is possible to provide a screen showing the isoline expression of the NO concentration of the low layer.

사례의 일산화질소는 수도권과 경상남도 지역에 주로 분포하고 있으며 바람의 영향을 받아 근처로 퍼져나가는 것을 볼 수 있다.The nitrogen monoxide in this case is mainly distributed in the metropolitan area and Gyeongsangnam-do, and it can be seen that it spreads to nearby areas under the influence of wind.

도 23a 내지 도 23c는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출한 화면 구성도이다.23A to 23C are diagrams illustrating a screen configuration in which the sulfur dioxide concentration is rendered in three dimensions using three-dimensional data of SO 2 .

CMAQ 모델 결과 중 아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하였으며 각각의 고도별 자료를 등치선으로 나타내었다.Among the results of the CMAQ model, the sulfur dioxide concentration was expressed in three dimensions by volume rendering using the three-dimensional data of SO 2 representing sulfur dioxide gas, and the data for each altitude is represented by an isoline.

시간의 경과에 따른 한반도 영역의 SO2 농도를 볼륨 렌더링과 등치선으로 표출한 화면으로, 한반도를 중심으로 위쪽에서 바라본 화면, 수직 분포를 보기 위해 옆에서 바라본 화면을 제공할 수 있고, 도 23c에서와 같이, 낮은 층의 SO2 농도의 등치선 표출을 나타낸 화면을 제공할 수 있다. As a screen expressing the concentration of SO 2 in the Korean Peninsula region over time with volume rendering and isolines, it is possible to provide a screen viewed from the top centered on the Korean Peninsula, and a screen viewed from the side to see the vertical distribution, as shown in FIG. 23c Likewise, it is possible to provide a screen showing the isoline expression of the concentration of SO 2 in the low layer.

아황산가스도 일산화질소와 유사하게 수도권과 경상남도 지역에 주로 분포하고 있지만, 그 영역은 일산화질소보다는 작은 것을 볼 수 있다. NO의 경우와 비슷하게 바람에 영향을 받아 주변으로 퍼져나가는 것을 볼 수 있다.Similar to nitrogen monoxide, sulfur dioxide is mainly distributed in the metropolitan area and Gyeongsangnam-do, but the area is smaller than nitrogen monoxide. Similar to the case of NO, it can be seen that it spreads to the surroundings under the influence of the wind.

본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성에 관하여 구체적으로 설명하면 다음과 같다.The screen menu configuration of the MAIVE program according to the present invention will be described in detail as follows.

도 24는 본 발명에 따른 MAIVE 프로그램의 화면 메뉴 구성도이다.24 is a block diagram of a screen menu of the MAIVE program according to the present invention.

도 24에서 ①은 바람 벡터장을 제어하는 메뉴이다.In FIG. 24, ① is a menu for controlling the wind vector field.

도 25는 바람 벡터장을 제어하는 메뉴 설명을 위한 구성도이다.25 is a configuration diagram for explaining a menu for controlling a wind vector field.

좌측의 화살표 버튼은 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 역할을 하며(도 25의 a) 우측의 화살표는 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 한다(도 25의 b).The arrow button on the left serves to turn on and off the colored wind vector field according to the wind speed on the screen (FIG. b).

offset의 경우 벡터장의 간격을 설정할 수 있으며 이 크기는 raw 데이터의 격자 간격보다 낮을 수는 없다. 또한, scale은 바람 벡터장의 크기를 조절하며 숫자가 클수록 전반적인 벡터의 크기가 커진다(도 25의 c, d).In the case of offset, you can set the spacing of the vector field, and this size cannot be lower than the grid spacing of raw data. In addition, the scale controls the size of the wind vector field, and the larger the number, the larger the overall vector size (c, d in FIG. 25).

도 24에서 ②는 스트림 벡터와 라인을 제어하는 메뉴이다.In FIG. 24, ② is a menu for controlling stream vectors and lines.

도 26은 스트림 벡터와 라인을 제어하는 메뉴 설명을 위한 구성도이다.26 is a configuration diagram for explaining a menu for controlling stream vectors and lines.

좌측의 흰색 배경의 검은 화살표 버튼은 바람 벡터장과 같게 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 역할을 하며(도 26의 a), 우측의 검은 배경의 흰색 화살표는 검은색으로 통일한 스트림 벡터를 표출하는 역할을 한다(도 26의 b).The black arrow button with a white background on the left turns on and off the stream vector of a color according to the wind speed on the screen like the wind vector field (FIG. 26a), and the white arrow on the right black background is black It serves to express a stream vector (FIG. 26 b).

스트림 라인 버튼은 스트림 라인을 화면상에 표출하고 지우는 역할을 하며(도 26의 c) 스트림 벡터와 스트림 라인은 동시에 표출될 수도 있다(도 26의 d).The stream line button serves to display and erase the stream line on the screen (FIG. 26 c), and the stream vector and the stream line may be displayed at the same time (FIG. 26 d).

level의 경우 현재 화면상에 생성되는 스트림 벡터와 라인의 개수를 제어하는 메뉴로써 level이 높을수록 많은 양의 스트림 벡터와 라인이 표출되지만 그만큼 부하가 많이 걸리기 때문에 사용자의 실행 환경에 맞춰서 조절한다(도 26의 e, f).In the case of level, it is a menu that controls the number of stream vectors and lines created on the current screen. The higher the level, the more stream vectors and lines are displayed. 26 e, f).

도 25에서 ③은 Contour map을 제어하는 메뉴로써 버튼을 선택하면 지형에 contour map이 융합되어 표출하게 된다.In FIG. 25, ③ is a menu for controlling the contour map, and when the button is selected, the contour map is fused to the terrain and displayed.

도 27은 Contour map을 제어하는 메뉴 설명을 위한 구성도이다.27 is a configuration diagram for explaining a menu for controlling a contour map.

드롭 메뉴에는 현재 보고자 하는 기상 요소 및 대기질 정보를 선택할 수 있다(도 27).In the drop menu, it is possible to select meteorological elements and air quality information to be viewed currently (FIG. 27).

또한, contour map은 모든 지형 스킨에서 적용할 수 있어 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 한다.In addition, the contour map can be applied to all terrain skins so that the user can use the skin according to the desired picture.

도 24에서 ④는 시간에 따른 애니메이션을 제어하는 메뉴로써 좌측 실행 버튼을 선택하면 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화하게 된다.In FIG. 24, ④ is a menu for controlling animation according to time, and when the execution button on the left is selected, weather elements and air quality information that are currently appearing are changed to match the time.

우측 정지 버튼을 선택하면 그 시간에 멈추게 되며 아래의 speed 바를 통해 애니메이션의 속도를 조절할 수 있다.If you select the right stop button, it will stop at that time, and you can adjust the animation speed through the speed bar below.

도 24에서 ⑤는 볼륨 렌더링을 제어하는 메뉴로써 버튼을 선택할시 구름 및 미세먼지 등 원하는 요소의 볼륨 렌더링을 표출하고 지울 수 있다(도 28).In FIG. 24, ⑤ is a menu for controlling volume rendering, and when a button is selected, volume rendering of desired elements such as clouds and fine dust can be displayed and erased (FIG. 28).

도 28은 볼륨 렌더링을 제어하는 메뉴 설명을 위한 구성도이다.28 is a configuration diagram for explaining a menu for controlling volume rendering.

도 24에서 ⑥은 지형의 스킨을 변경하는 메뉴로 첫 번째 버튼은 높In Fig. 24, ⑥ is a menu to change the skin of the terrain, and the first button is

이에 따른 색을 입힌 기본 스킨, 두 번째 버튼은 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 세 번째 버튼은 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있다(도 29).As a result, the default skin color is applied, the second button is a mask skin that expresses the land in white and the sea is black, and the third button can switch to an outline skin that displays the boundary between the land and the sea in white (Fig. 29). ).

도 29는 지형의 스킨을 변경하는 메뉴 설명을 위한 구성도이다.29 is a configuration diagram for explaining a menu for changing a skin of a terrain.

그리고 도 24에서 ⑦의 좌측 버튼은 사례를 고를 수 있는 홈 화면으로 돌아가는 임무를 수행하며 우측 버튼은 프로그램을 종료하는 임무를 수행한다.In addition, the left button of ⑦ in FIG. 24 performs the task of returning to the home screen where a case can be selected, and the right button performs the task of terminating the program.

도 24에서 ⑧은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴이다.In FIG. 24, ⑧ is a menu for indicating time on data and controlling a color legend.

도 30은 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴 설명을 위한 구성도이다.30 is a configuration diagram for explaining a menu indicating time on data and controlling a color legend.

시간은 애니메이션을 실행시킬 경우 변화하게 된다. 색깔 범례의 경우 풍속, 기온, 강수량 등 여러 요소에 따라 다른 범례를 사용하고 있으며 좌측과 우측의 최소, 최대값 입력을 통해 색깔 범례의 범위를 지정할 수 있게 하여 사용자가 원하는 구간을 강조해서 볼 수 있도록 한다.(도 30)Time will change when you run the animation. In the case of the color legend, different legends are used depending on various factors such as wind speed, temperature, and precipitation. (FIG. 30)

이상에서 설명한 본 발명에 따른 본 발명에 따른 대기 환경 정보의 3차원 표출 최적화를 위한 장치 및 방법은 3차원 예측 및 관측 데이터를 다양한 시점에서 관찰, 분석하기 위해 단순히 2차원 표출을 겹치는 방식이 아닌 상용 엔진인 언리얼 엔진 4와 볼륨 렌더링 기법을 이용하여 3차원 가시화를 효율적으로 수행할 수 있도록 한 것이다.The apparatus and method for optimizing the three-dimensional display of atmospheric environment information according to the present invention according to the present invention described above are commercially available rather than simply overlapping the two-dimensional display in order to observe and analyze three-dimensional prediction and observation data from various viewpoints. It is designed to efficiently perform 3D visualization using the engine Unreal Engine 4 and the volume rendering technique.

이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.As described above, it will be understood that the present invention is implemented in a modified form without departing from the essential characteristics of the present invention.

그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Therefore, the specified embodiments are to be considered in an illustrative rather than a restrictive point of view, the scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto are included in the present invention. will have to be interpreted.

10. DEM 자료 추출 및 3차원 지형 생성부
20. 지형 스킨 및 윤곽선 표출부
30. 기상 요소 표출부
40. 대기환경 정보 표출부
10. DEM data extraction and 3D terrain generation unit
20. Terrain skins and outlines
30. Weather element display part
40. Air environment information display unit

Claims (21)

원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성부;
DEM 자료 추출 및 3차원 지형 생성부에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출부;
지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출부;
지형 스킨 및 윤곽선 표출부에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출부;를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
A DEM data extraction and 3D terrain generation unit that extracts DEM (Digital Elevation Model) data of a desired area in a height map format, and applies the extracted DEM height map data through the landscape function of Unreal Engine 4 to create a 3D terrain;
a terrain skin and contour display unit that applies the height of the terrain and a skin that distinguishes the sea from land by utilizing the material function of Unreal Engine to the 3D terrain created by the DEM data extraction and 3D terrain generation unit;
a weather element display unit for expressing a weather element on the terrain skin and outline display screen by the terrain skin and outline display unit;
Air environment information display unit that displays air environment information data three-dimensionally on the terrain skin and contour display screen by the terrain skin and contour display unit to know the movement, diffusion, and vertical distribution of air pollutants; includes; Device for optimizing the three-dimensional expression of atmospheric environment information, characterized in that.
제 1 항에 있어서, 지형 스킨 및 윤곽선 표출부는,
언리얼 엔진의 material 기능을 활용하여 지형의 높이에 따른 색을 입히는 기본 스킨, 바다와 육지를 구별하는 마스크 스킨, 바다와 육지의 경계선을 표시하는 윤곽선 스킨을 선택적으로 적용하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
The method of claim 1, wherein the terrain skin and contour display unit,
Atmospheric environment information characterized by selectively applying a basic skin that colors according to the height of the terrain, a mask skin that distinguishes the sea and land, and an outline skin that displays the boundary between the sea and land by utilizing the material function of Unreal Engine A device for optimizing the 3D expression of
제 1 항에 있어서, 기상 요소 표출부는,
3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 바람 정보, 구름 정보, 기온 정보, 강수량 정보, 3-second gust 정보를 처리하여 기상 요소를 표출하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the weather element expression unit,
After reading 3D data through the C++ language, it is made into a volume texture, and the volume texture is rendered by applying the Raymarching algorithm to process wind information, cloud information, temperature information, precipitation information, and 3-second gust information to process weather elements. An apparatus for optimizing the three-dimensional display of atmospheric environment information, characterized in that it expresses.
제 1 항에 있어서, 대기환경 정보 표출부는,
3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 하여 초미세먼지(PM2.5), 미세먼지(PM10), 일산화탄소(CO), 일산화질소(NO), 아황산가스(SO2) 정보를 처리하여 대기환경 정보를 표출하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
The method of claim 1, wherein the air environment information display unit,
After reading 3D data through C++ language, it is made into a volume texture, and the volume texture is rendered by applying the Raymarching algorithm to ultra-fine dust (PM2.5), fine dust (PM10), carbon monoxide (CO), nitrogen monoxide. (NO), sulfur dioxide (SO 2 ) A device for optimizing the three-dimensional display of atmospheric environment information, characterized in that the information is displayed by processing the information.
제 1 항에 있어서, 기상 요소 표출부는,
수치 모델의 결과인 바람 벡터의 u, v 성분을 풍향, 풍속으로 변환하여 바람 벡터장, 스트림벡터, 스트림라인 표출 및 등치선 처리를 하는 바람 정보 처리부와,
QCLOUD 변수를 이용해서 구름 정보를 볼륨 렌더링하여 3차원 가시화 처리를 하는 구름 정보 처리부와,
C++ 소스 코드를 활용해 Raw 자료로부터 기온의 Raw 자료를 읽어와 ℃ 단위계로 변환하기 위해 읽어온 자료에서 절대영도값인 273.15를 빼주어 배열에 저장하고 자료를 정규화한 후 색 범례와 대조해서 대응되는 색을 배열에 저장하여 기온 정보를 처리하는 기온 정보 처리부와,
C++ 코드를 통해 Raw 자료로부터 RAINC와 RAINNC를 읽어와 이를 합하여 배열에 저장하고 생성하고자 하는 시간의 Rain 배열 값에서 이전 시간의 Rain 배열 값을 빼고 이를 색 범례와 대조하여 배열에 저장하여 강수량 정보를 처리하는 강수량 정보 처리부와,
3-second gust를 등치선으로 표출하는 3-second gust 처리부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the weather element expression unit,
A wind information processing unit that converts the u and v components of the wind vector, which is the result of the numerical model, into wind direction and wind speed, and performs wind vector field, stream vector, stream line expression and isoline processing;
A cloud information processing unit that performs 3D visualization processing by volume rendering of cloud information using QCLOUD variables;
To read raw data of temperature from raw data using C++ source code and convert it to ℃ unit system, subtract 273.15, the absolute zero value, from the read data, store it in an array, normalize the data, and compare it with the color legend. a temperature information processing unit that processes temperature information by storing colors in an array;
Read RAINC and RAINNC from raw data through C++ code, add them up, store them in an array, subtract the Rain array value of the previous time from the value of the Rain array at the desired time to create, compare it with the color legend, and store it in an array to process precipitation information and a precipitation information processing unit,
A device for optimizing the three-dimensional display of atmospheric environment information, characterized in that it comprises a 3-second gust processing unit that expresses the 3-second gust as an isoline.
제 5 항에 있어서, 바람 정보 처리부는,
C++ 소스 코드를 활용해 Raw 자료로부터 바람의 u, v 성분을 추출하여 읽어와 풍향과 풍속을 계산하여 배열에 저장하고 이를 언리얼 엔진에서 읽어 들여 바람장 각각의 벡터에 반영하도록 하는 바람 벡터장 표출부와,
바람장을 따라 흐르는 바람 벡터인 스트림 벡터를 구현하는 스트림벡터 표출부와,
스트림 벡터와 유사하게 바람장을 따라 흐르는 유선을 구현하는 스트림라인 표출부와,
풍속 자료를 0.0부터 1.0까지 정규화 하여 범례 색깔의 색과 대응시키고 대응된 색 정보를 배열에 저장한 뒤 텍스쳐로 생성하여 지형 스킨과 융합되도록 하는 등치선 처리부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 5, Wind information processing unit,
Wind vector field expression unit that extracts wind u and v components from raw data using C++ source code and reads them, calculates wind direction and wind speed, stores them in an array, reads them from Unreal Engine and reflects them in each wind field vector Wow,
A stream vector display unit that implements a stream vector that is a wind vector flowing along the wind field;
A stream line display unit that implements a streamline flowing along the wind field similar to a stream vector;
3 of atmospheric environment information, characterized in that it includes an isoline processing unit that normalizes wind speed data from 0.0 to 1.0 to match the color of the legend color, stores the corresponding color information in an array, and creates a texture to fuse with the terrain skin A device for optimizing dimensional representation.
제 1 항에 있어서, 기상 요소 표출 및 대기환경 정보 표출을 위하여 입력되는 데이터는 NetCDF, Grib, Grib2, Ascii 파일 포맷을 지원하고,
입력되는 데이터는 WRF(Weather Research and Forecasting), CMAQ(Community Multiscale Air Quality), AWS(Automatic Weather Station), ASOS(Automated Surface Observing System)의 데이터를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the data input for the expression of weather elements and air environment information supports NetCDF, Grib, Grib2, Ascii file format,
The input data is a three-dimensional expression of atmospheric environment information, characterized in that it includes data from Weather Research and Forecasting (WRF), Community Multiscale Air Quality (CMAQ), Automatic Weather Station (AWS), and Automated Surface Observing System (ASOS). device for optimization.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부는,
3차원 데이터를 C++ 언어를 통해 읽은 후, 볼륨 텍스쳐로 만들고, 만들어진 볼륨 텍스쳐는 Raymarching 알고리즘을 적용한 볼륨 렌더링을 위하여,
광 흡수에 의한 불투명도 생성과정과 조명,산란에 의한 색상 생성과정으로 수행하고, 볼륨의 불투명도를 생성하기 위한 지점의 밀도나 두께를,
Figure pat00023
으로 정의하고,
여기서, Transmittance는 투과율이며 t는 볼륨 내에서 이동한 거리, d는 볼륨의 밀도인 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
The method of claim 1, wherein the weather element display unit and the atmospheric environment information display unit,
After reading 3D data through C++ language, it is made into a volume texture, and the created volume texture is used for volume rendering with Raymarching algorithm applied.
Opacity generation process by light absorption and color generation process by lighting and scattering are performed, and the density or thickness of the point to create volume opacity,
Figure pat00023
defined as,
Here, Transmittance is transmittance, t is the distance moved within the volume, and d is the density of the volume.
제 8 항에 있어서, 광선이 볼륨의 모든 복셀을 통과함에 따라 광선의 색에 현재 복셀의 역 불투명도를 곱하여 흡수를 계산하고 현재 복셀의 색에 현재 복셀의 불투명도를 곱한 식이,
Figure pat00024
으로 정의되고,
여기서, 복셀은 3차원 공간상의 pixel을 말하며 Cout은 복셀을 통과한 후의 색, Cin은 복셀을 통과하기 전의 색, Opacity(x)는 x 위치의 불투명도, Color(x)는 x 위치의 색인 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
9. The method of claim 8, wherein as the ray passes through all voxels in the volume, the absorption is calculated by multiplying the color of the ray by the inverse opacity of the current voxel, the color of the current voxel multiplied by the opacity of the current voxel,
Figure pat00024
is defined as
Here, voxel refers to a pixel in 3D space, C out is the color after passing through the voxel, C in is the color before passing through the voxel, Opacity(x) is the opacity of the x position, and Color(x) is the index of the x position. Device for optimizing the three-dimensional expression of atmospheric environment information, characterized in that.
제 9 항에 있어서, 각 지점에서의 볼륨의 두께를 구한 후 두께 값을 이용하여 볼륨이 차단하는 빛의 양인 불투명도를 추정하기 위하여,
선형밀도는
Figure pat00025
와 같이 점 x에서 x′까지 광선을 따라 누적되고,
점 x에서 x′까지 광선 길이에 대한 투과율은
Figure pat00026
으로 정의되는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
10. The method of claim 9, wherein after obtaining the thickness of the volume at each point, in order to estimate the opacity, which is the amount of light blocked by the volume, using the thickness value;
linear density is
Figure pat00025
is accumulated along the ray from point x to x′ as
The transmittance for the ray length from point x to x' is
Figure pat00026
An apparatus for optimizing the three-dimensional display of atmospheric environment information, characterized in that it is defined as
제 10 항에 있어서, 볼륨의 밀도를 계산할 때 조명에 의한 그림자의 계산을 하고, 볼륨 내의 x 지점에서 w 방향의 빛에서 해당 지점으로 만드는 산란의 양은
Figure pat00027
으로 정의되고,
여기서, w는 빛의 방향이고 l은 볼륨 외부에서 빛의 음의 방향을 향한 점으로 -LinearDensity(x, l)는 지점 x에서 볼륨 경계에 도달할 때까지 빛에 의한 선형밀도를 나타내며 이는 빛을 흡수하는 입자의 양을 의미하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
11. The method of claim 10, wherein when calculating the density of the volume, the shadow is calculated by lighting, and the amount of scattering made from the light in the w direction from the x point in the volume to the corresponding point is
Figure pat00027
is defined as
where w is the direction of light and l is the point toward the negative direction of light from outside the volume. Device for optimizing the three-dimensional display of atmospheric environment information, characterized in that it means the amount of particles to be absorbed.
제 11 항에 있어서, 볼륨의 불투명도를 기준으로 흡수된 빛의 비율을 계산하기 위해 OutScattering 항에 Opacity가 곱해지고, 볼륨을 통해 광선을 따라 모든 지점에서 총 산란을 반환하는 것은,
Figure pat00028
으로 정의되는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
12. The method of claim 11, wherein the OutScattering term is multiplied by the Opacity to calculate the proportion of light absorbed based on the opacity of the volume, and returning the total scatter at all points along the ray through the volume comprises:
Figure pat00028
An apparatus for optimizing the three-dimensional display of atmospheric environment information, characterized in that it is defined as
제 1 항에 있어서, 대기환경 정보 표출부는,
시간의 경과에 따른 PM2.5 농도를 볼륨 렌더링으로 표출한 위에서 바라본 화면, 수직 분포를 보기 위해 아래에서 바라본 화면, PM2.5 농도의 등치선 표출을 나타낸 화면을 제공하는 초미세먼지(PM2.5) 표출부와,
미세먼지를 나타내는 PM10의 3차원 자료를 사용하여 미세먼지 농도를 볼륨 렌더링하여 3차원으로 표출하고, 각각의 고도별 자료를 등치선으로 나타내는 미세먼지(PM10) 표출부와,
일산화탄소를 나타내는 CO의 3차원 자료를 사용하여 일산화탄소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화탄소(CO) 표출부와,
일산화질소를 나타내는 NO의 3차원 자료를 사용하여 일산화질소 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 일산화질소(NO) 표출부와,
아황산가스를 나타내는 SO2의 3차원 자료를 사용하여 아황산가스 농도를 볼륨 렌더링하여 3차원으로 표출하고 각각의 고도별 자료를 등치선으로 나타내는 아황산가스(SO2) 표출부를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
The method of claim 1, wherein the air environment information display unit,
Ultrafine dust (PM2.5) that provides a screen showing the PM2.5 concentration over time by volume rendering, a screen viewed from the bottom to see the vertical distribution, and a screen showing the isoline expression of the PM2.5 concentration expression and
A fine dust (PM10) display unit that uses the three-dimensional data of PM10 representing fine dust to volume-render and express the fine dust concentration in three dimensions, and displays the data for each altitude as an isoline;
A carbon monoxide (CO) display unit that expresses the carbon monoxide concentration in three dimensions by volume rendering using the three-dimensional data of CO representing carbon monoxide and displays the data for each altitude as an isoline;
A nitrogen monoxide (NO) display unit that uses the three-dimensional data of NO representing nitrogen monoxide to express the nitrogen monoxide concentration in three dimensions by volume rendering and displays the data for each altitude as an isoline;
Using the three-dimensional data of SO 2 representing sulfurous acid gas, the sulfur dioxide concentration is expressed in three dimensions by volume rendering, and the sulfur dioxide (SO 2 ) display unit representing the data for each altitude as an isoline. A device for optimizing the three-dimensional display of information.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
바람 벡터장을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색을 입힌 바람 벡터장을 화면상에 켜고 끄는 기능, 검은색의 단일 바람 벡터장을 표출하고 지우는 역할을 하는 기능, 바람 벡터장의 간격을 설정하고, 바람 벡터장의 크기를 조절하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
Includes a menu to control the wind vector field, a function to turn on and off the colored wind vector field according to the wind speed on the screen through the on-screen menu, a function to display and erase a single black wind vector field, wind vector An apparatus for optimizing the three-dimensional display of atmospheric environment information, characterized in that it provides a function of setting the field interval and adjusting the size of the wind vector field.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
스트림 벡터와 라인을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 풍속에 따른 색의 스트림 벡터를 화면상에 켜고 끄는 기능,검은색으로 통일한 스트림 벡터를 표출하는 기능, 스트림 라인을 화면상에 표출하고 지우는 기능, 스트림 벡터와 스트림 라인은 동시에 표출되도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
It includes a menu to control the stream vector and line, and the function to turn on/off the stream vector of the color according to the wind speed on the screen through the screen menu, the function to express the stream vector unified in black, and the stream line to the screen A device for optimizing the three-dimensional display of atmospheric environment information, characterized in that it provides a function to display and delete functions, stream vectors and stream lines at the same time.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
Contour map을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 지형에 contour map이 융합되어 표출하게 하는 기능, 현재 보고자 하는 기상 요소 및 대기질 정보를 선택하는 기능, contour map을 모든 지형 스킨에서 적용할 수 있도록 사용자가 원하는 그림에 따라 스킨을 활용할 수 있도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
Includes a menu to control the contour map, a function to display the contour map fused to the terrain through the on-screen menu, a function to select the weather elements and air quality information you want to see, and the contour map can be applied to all terrain skins. A device for optimizing the three-dimensional display of atmospheric environment information, characterized in that it provides a function that allows the user to utilize the skin according to the desired picture.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
시간에 따른 애니메이션을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 시간이 지나면서 현재 나타나고 있는 기상 요소 및 대기질 정보가 그 시간에 맞도록 변화 및 멈추도록 하는 기능, 애니메이션의 속도를 조절하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
It includes a menu to control animation according to time, and a function to change and stop the weather elements and air quality information currently appearing over time through the on-screen menu to suit the time, and a function to adjust the animation speed. An apparatus for optimizing the three-dimensional expression of atmospheric environment information, characterized in that it provides.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
볼륨 렌더링을 제어하는 메뉴를 포함하고, 화면 메뉴를 통하여 표출을 원하는 요소의 볼륨 렌더링을 표출하고 지우는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
An apparatus for optimizing three-dimensional expression of atmospheric environment information, comprising a menu for controlling volume rendering, and providing a function of expressing and erasing volume rendering of an element desired to be expressed through a screen menu.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
지형의 스킨을 변경하는 메뉴를 포함하고, 화면 메뉴를 통하여 높이에 따른 색을 입힌 기본 스킨, 육지는 흰색, 바다는 검은색으로 표현하는 마스크 스킨, 육지와 바다의 경계를 흰색으로 표시하는 윤곽선 스킨으로 전환할 수 있도록 하는 기능을 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
Includes a menu to change the skin of the terrain, a basic skin that is colored according to the height through the on-screen menu, a mask skin that expresses the land in white and the sea in black, and an outline skin that displays the boundary between the land and the sea in white A device for optimizing the three-dimensional expression of atmospheric environment information, characterized in that it provides a function that enables the conversion to.
제 1 항에 있어서, 기상 요소 표출부 및 대기환경 정보 표출부를 통한 3차원 표출을 위한 화면이,
사례를 고를 수 있는 홈 화면으로 돌아가거나, 프로그램을 종료하는 기능 및, 데이터상의 시간을 나타내고 색깔 범례를 제어하는 메뉴를 제공하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 장치.
According to claim 1, wherein the screen for three-dimensional expression through the weather element display unit and atmospheric environment information display unit,
A device for optimizing the three-dimensional display of atmospheric environment information, characterized in that it provides a function to return to the home screen to select a case, or to end the program, and a menu to indicate the time on the data and control the color legend.
원하는 영역의 DEM(Digital Elevation Model) 자료를 높이맵 형식으로 추출하고, 추출한 DEM 높이맵 자료를 언리얼 엔진 4의 landscape 기능을 통해 적용하여 3차원 지형을 생성하는 DEM 자료 추출 및 3차원 지형 생성 단계;
DEM 자료 추출 및 3차원 지형 생성 단계에서 생성된 3차원 지형에 언리얼 엔진의 material 기능을 활용하여 지형의 높이 및 바다와 육지를 구별하는 스킨을 적용하는 지형 스킨 및 윤곽선 표출 단계;
지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 기상 요소를 표출하는 기상 요소 표출 단계; 및,
지형 스킨 및 윤곽선 표출 단계에 의한 지형 스킨 및 윤곽선 표출 화면에 대기환경 정보 자료를 3차원적으로 표출하여 대기오염물질의 이동과 확산, 수직 분포를 알 수 있도록 표출하는 대기환경 정보 표출 단계;를 포함하는 것을 특징으로 하는 대기 환경 정보의 3차원 표출 최적화를 위한 방법.
DEM data extraction and 3D terrain generation step of extracting DEM (Digital Elevation Model) data of a desired area in a height map format, and applying the extracted DEM height map data through the landscape function of Unreal Engine 4 to create a 3D terrain;
Terrain skin and contour expression step of applying the height of the terrain and the skin that distinguishes the sea and land by utilizing the material function of Unreal Engine to the 3D terrain created in the DEM data extraction and 3D terrain generation phase;
A weather element expression step of expressing the weather element on the terrain skin and outline expression screen by the terrain skin and outline expression step; and,
Atmospheric environment information expression step of expressing air environment information data three-dimensionally on the terrain skin and outline expression screen by the terrain skin and outline expression step so that the movement, diffusion, and vertical distribution of air pollutants can be known; including; A method for optimizing the three-dimensional expression of atmospheric environment information, characterized in that.
KR1020200078009A 2020-06-25 2020-06-25 System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information KR102392074B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200078009A KR102392074B1 (en) 2020-06-25 2020-06-25 System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200078009A KR102392074B1 (en) 2020-06-25 2020-06-25 System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information

Publications (2)

Publication Number Publication Date
KR20220000266A true KR20220000266A (en) 2022-01-03
KR102392074B1 KR102392074B1 (en) 2022-04-28

Family

ID=79348549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078009A KR102392074B1 (en) 2020-06-25 2020-06-25 System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information

Country Status (1)

Country Link
KR (1) KR102392074B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115372287A (en) * 2022-09-12 2022-11-22 中国科学技术大学 Sulfur dioxide emission list construction method based on high-score five-satellite data
CN116384207A (en) * 2023-05-17 2023-07-04 核工业航测遥感中心 Attribute value fusion rendering method based on wind field flow track and flow texture
CN117593471A (en) * 2024-01-18 2024-02-23 青岛国实科技集团有限公司 Ocean three-dimensional situation visualization platform based on illusion engine

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098127A (en) * 2008-03-13 2009-09-17 (주)바이오텔 Air pollution monitoring system and method
KR20120101949A (en) * 2011-03-07 2012-09-17 부경대학교 산학협력단 System and method for wind field realizing of weather diagnostic model and diffusion model
KR20160097933A (en) * 2015-02-10 2016-08-18 주식회사 주빅스 Air quality prediction and management system for environment disaster early detection
KR20170059469A (en) 2014-09-23 2017-05-30 지멘스 헬스케어 게엠베하 Method, visualization device, and computer program product for visualizing a three-dimensional object
KR20180001195A (en) 2016-06-27 2018-01-04 강릉원주대학교산학협력단 3 dimensional atmospheric environmental data processing system and visualization method using drone and ground based measurement network
KR101994200B1 (en) 2018-01-23 2019-09-30 (주)지오씨엔아이 3D visualization monitoring and analysis system and mehod of rainfall radar data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098127A (en) * 2008-03-13 2009-09-17 (주)바이오텔 Air pollution monitoring system and method
KR20120101949A (en) * 2011-03-07 2012-09-17 부경대학교 산학협력단 System and method for wind field realizing of weather diagnostic model and diffusion model
KR20170059469A (en) 2014-09-23 2017-05-30 지멘스 헬스케어 게엠베하 Method, visualization device, and computer program product for visualizing a three-dimensional object
KR20160097933A (en) * 2015-02-10 2016-08-18 주식회사 주빅스 Air quality prediction and management system for environment disaster early detection
KR20180001195A (en) 2016-06-27 2018-01-04 강릉원주대학교산학협력단 3 dimensional atmospheric environmental data processing system and visualization method using drone and ground based measurement network
KR101994200B1 (en) 2018-01-23 2019-09-30 (주)지오씨엔아이 3D visualization monitoring and analysis system and mehod of rainfall radar data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115372287A (en) * 2022-09-12 2022-11-22 中国科学技术大学 Sulfur dioxide emission list construction method based on high-score five-satellite data
CN115372287B (en) * 2022-09-12 2024-05-03 中国科学技术大学 Sulfur dioxide emission list construction method based on high-score No. five satellite data
CN116384207A (en) * 2023-05-17 2023-07-04 核工业航测遥感中心 Attribute value fusion rendering method based on wind field flow track and flow texture
CN116384207B (en) * 2023-05-17 2023-12-05 核工业航测遥感中心 Attribute value fusion rendering method based on wind field flow track and flow texture
CN117593471A (en) * 2024-01-18 2024-02-23 青岛国实科技集团有限公司 Ocean three-dimensional situation visualization platform based on illusion engine
CN117593471B (en) * 2024-01-18 2024-05-03 青岛国实科技集团有限公司 Ocean three-dimensional situation visualization platform based on illusion engine

Also Published As

Publication number Publication date
KR102392074B1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
KR102392074B1 (en) System and Method for Optimizing 3D Visualization of Atmospheric Environmental Information
CN104778744B (en) Extensive three-dimensional forest Visual Scene method for building up based on Lidar data
CN111784833A (en) WebGL-based flood evolution situation three-dimensional dynamic visualization display method
CN114219902A (en) Volume rendering method and device for meteorological data and computer equipment
CN109410313A (en) A kind of meteorology three-dimensional information 3D simulation inversion method
CN110070488A (en) A kind of multiple-angle thinking image forest height extracting method based on convolutional neural networks
Khayyal et al. Creation and spatial analysis of 3D city modeling based on GIS data
Urech et al. A simulation-based design framework to iteratively analyze and shape urban landscapes using point cloud modeling
Dobashi et al. A fast display method of sky colour using basis functions
CN115690344A (en) Sponge city sand table and weather simulation system
Daxer Topographic openness maps and Red relief image maps in QGIS
Zhang et al. A 3d visualization system for hurricane storm-surge flooding
CN113360594A (en) Catchment area extraction method, device, equipment and medium based on digital elevation model
CN112596032A (en) Weather radar echo display method, device, equipment and storage medium
KR101994200B1 (en) 3D visualization monitoring and analysis system and mehod of rainfall radar data
CN115035225B (en) Battlefield threat assessment warning method based on OSG
Komadina et al. Automated 3D urban landscapes visualization using open data sources on the example of the city of Zagreb
CN110232846A (en) A kind of assault boat drive simulating method, system and relevant apparatus
Vizireanu et al. The potential of airborne LiDAR for detection of new archaeological site in Romania
CN117173369B (en) WebGL-based three-dimensional flood evolution simulation method and system
Ueng et al. Interpolation and visualization for advected scalar fields
JP5002929B2 (en) Three-dimensional space analysis apparatus and program
Cotoarba et al. The analysis of morphometric parameters in hydrological modeling using GIS
Sakas et al. Pseudo‐Satellitefilm Using Fractal Clouds to Enhance Animated Weather Forecasting
Segerström Automating 3D graphics generation using GIS data-Terrain and Road reproduction

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant