KR102050169B1 - Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same - Google Patents

Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same Download PDF

Info

Publication number
KR102050169B1
KR102050169B1 KR1020180113230A KR20180113230A KR102050169B1 KR 102050169 B1 KR102050169 B1 KR 102050169B1 KR 1020180113230 A KR1020180113230 A KR 1020180113230A KR 20180113230 A KR20180113230 A KR 20180113230A KR 102050169 B1 KR102050169 B1 KR 102050169B1
Authority
KR
South Korea
Prior art keywords
area
building
tile set
octree structure
map service
Prior art date
Application number
KR1020180113230A
Other languages
Korean (ko)
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 KR1020180113230A priority Critical patent/KR102050169B1/en
Application granted granted Critical
Publication of KR102050169B1 publication Critical patent/KR102050169B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Disclosed are a spatial indexing method of a 3D model for an octree structure based 3D map service, and a method and an apparatus for providing a 3D map service. The spatial indexing method of a 3D model for an octree structure based 3D map service comprises the steps of: dividing each area of 3D map data having a boundary of an area into an octree structure for data construction; and assigning an area index of an octree belonging to each building in the area, wherein the area index includes two-dimensional location information or an address of three-dimensional map data corresponding to or based on the boundary.

Description

옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치{SPATIAL INDEXING METHOD OF THREE DIMENSIONAL MODEL FOR 3D MAP SERVICE BASED ON OCTREE STRUCTURE AND METHOD AND APPARATUS FOR PROVIDING 3D MAP SERVICE USING THE SAME}SPATIAL INDEXING METHOD OF THREE DIMENSIONAL MODEL FOR 3D MAP SERVICE BASED ON OCTREE STRUCTURE AND METHOD AND APPARATUS FOR PROVIDING 3D MAP SERVICE USING THE SAME}

본 발명은 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치에 관한 것이다.The present invention relates to a spatial indexing method of a 3D model for an octree structure-based 3D map service, and a method and apparatus for providing a 3D map service using the same.

건물 데이터를 활용한 3차원(3D) 지도는 다양한 문화산업에 응용되어 사용된다. 하지만 방대한 양의 건물 데이터를 시각화하게 되면 하드웨어가 한계에 도달하게 되고 적절한 서비스를 할 수 없게 되는 문제가 종종 발생한다.Three-dimensional (3D) maps using building data are used in various cultural industries. However, visualizing massive amounts of building data often leads to hardware reaching its limits and the inability to provide proper service.

또한, 사용자(user) 측면에서 일반적인 3D 뷰어는 많은 건물을 동시에 로드하는 시각화 뷰어의 특성상 많은 컴퓨팅 파워와 시간을 필요로 하며, 따라서 유저가 결과 화면을 보고 조작할 수 있을 때까지 시간이 오래 걸리는 문제가 있다.In addition, on the user side, a typical 3D viewer requires a lot of computing power and time due to the nature of the visualization viewer that loads many buildings at the same time, so it takes a long time for the user to see and manipulate the result screen. There is.

이와 같이, 3차원 지도 서비스를 위한 효과적인 3차원 모델의 구축 방안으로서 사용자 단말의 사양이나 3차원 지도 컨텐츠가 사용되는 분야 등에 따라 3차원 지도 서비스를 효과적으로 수행할 수 있는 방안이 요구되고 있다.As such, as a method for constructing an effective three-dimensional model for the three-dimensional map service, a method for effectively executing the three-dimensional map service according to the specification of the user terminal or the field in which the three-dimensional map content is used is required.

등록특허공보 제10-0309558호(2001.09.07)Patent Registration No. 10-0309558 (2001.09.07) 등록특허공보 제10-1465481호(2014.11.20)Registered Patent Publication No. 10-1465481 (2014.11.20)

본 발명은 전술한 종래 기술의 요구에 부응하기 위한 것으로, 데이터 저장 방식의 효율성을 높이고 데이터 로드 속도를 향상시켜 3차원 뷰어에서 건물 데이터의 시각화 속도를 개선할 수 있는, 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치를 제공하는데 그 목적이 있다.The present invention is to meet the needs of the prior art described above, the octree structure-based three-dimensional map service that can improve the visualization speed of the building data in the three-dimensional viewer by increasing the efficiency of the data storage method and the data loading speed An object of the present invention is to provide a spatial indexing method of a 3D model and a 3D map service providing method and apparatus using the same.

본 발명의 다른 목적은 고 정밀 3차원 모델링 데이터를 옥트리(Octree) 구조로 세분화하여 데이터베이스에 저장한 후에 건물 데이터가 구성된 지역을 시각화 뷰어를 통해 서비스할 수 있는, 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치를 제공하는데 있다.Another object of the present invention is to subdivide high-precision 3D modeling data into an octree structure, store it in a database, and then service an area composed of building data through a visualization viewer. A spatial indexing method of a 3D model and a method and apparatus for providing a 3D map service using the same are provided.

본 발명의 또 다른 목적은 옥트리 구조와 타일셋을 사용하고 거리에 따른 LOD(level of detail) 조절을 통해 건물 모델링의 시각화 정도의 차이를 고려함으로써 데이터 로드를 고속화할 수 있는, 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치를 제공하는데 있다. Another object of the present invention is to use an octree structure and tileset, and to increase the data load by considering the difference in the degree of visualization of the building modeling by adjusting the level of detail (LOD) according to the distance, the octree structure-based three-dimensional map A spatial indexing method of a 3D model for a service and a method and apparatus for providing a 3D map service using the same are provided.

상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 3차원 모델의 공간 인덱싱 방법은, 옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법으로서, 옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법으로서, 데이터 구축을 위하여 영역의 경계(boundary)를 구비하는 3차원 지도데이터의 각 영역을 옥트리(octree) 구조로 분할하는 단계; 및 상기 영역 내 건물별로 소속 옥트리의 영역 인덱스를 부여하는 단계를 포함하며, 여기서 상기 영역 인덱스는 상기 경계에 대응하거나 상기 경계에 기초하는 상기 3차원 지도데이터의 2차원 위치 정보나 주소를 포함한다.The spatial indexing method of the three-dimensional model according to an aspect of the present invention for solving the above technical problem, as the spatial indexing method of the three-dimensional model for the three-dimensional map service based on the octree, octree (octree) structure based A spatial indexing method of a three-dimensional model for a three-dimensional map service, comprising: dividing each region of three-dimensional map data having an boundary of the region into an octree structure to construct data; And assigning an area index of an octree belonging to each building in the area, wherein the area index includes two-dimensional location information or an address of the three-dimensional map data corresponding to or based on the boundary.

일실시예에서, 3상기 분할하는 단계는, 상기 옥트리 구조의 영역 내 가장 높은 건물의 높이를 활용하여 각 영역 내 건물 오브젝트가 차지하는 바닥면적, 부피 또는 비율을 계산하는 단계; 및 상기 바닥면적, 부피 또는 비율에 기초하여 상기 옥트리 구조 내 어느 하나 이상의 영역 각각을 동일한 크기나 부피를 갖는 복수의 서브 영역들로 분할하는 단계를 더 포함하며, 여기서 상기 부여하는 단계는 상기 복수의 서브 영역들을 포함한 상기 옥트리 구조의 각 영역 내 건물 오브젝트에 대한 인덱스를 상기 주소와 결합하여 저장할 수 있다.In an embodiment, the dividing may include calculating a floor area, a volume, or a ratio of a building object in each area by using the height of the highest building in the area of the octree structure; And dividing each one or more regions in the octree structure into a plurality of sub-regions having the same size or volume, based on the floor area, volume, or ratio, wherein the imparting comprises: The index of the building object in each area of the octree structure including the sub areas may be stored in combination with the address.

일실시예에서, 상기 주소는 상기 3차원 지도데이터에 포함된 행정구역상 주소를 포함할 수 있다.In one embodiment, the address may include an administrative area address included in the 3D map data.

일실시예에서, 3차원 모델의 공간 인덱싱 방법은, 상기 부여하는 단계 후에, 동일 인덱스를 가진 건물 오브젝트를 하나의 그룹으로 묶어 관리하는 단계를 더 포함하며, 여기서 상기 그룹에 대응하는 타일셋은 3차원 지도 서비스를 제공하는 시각화 뷰어가 LOD(level of Detail)를 결정할 때 이용될 수 있다.In one embodiment, the spatial indexing method of the three-dimensional model, after the giving step further comprises the step of managing the building objects having the same index into a group, wherein the tile set corresponding to the group is three-dimensional A visualization viewer that provides a map service may be used to determine the level of detail (LOD).

상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 3차원 지도 서비스 제공 방법은, 전술한 실시예의 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 방법으로서, 시각화 뷰어를 통해 3차원 지도데이터가 카메라의 시점에 따라 출력될 때, 시각화 요청 대상인 타일셋을 계산 혹은 추출하여 해당 타일셋에 포함된 건물 오브젝트를 출력하고, 상기 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함된 건물 오브젝트를 인비저블(invisible) 처리하는 단계를 더 포함한다.The 3D map service providing method according to another aspect of the present invention for solving the technical problem is a 3D map service providing method using the spatial indexing method of the 3D model of the above-described embodiment, a 3D map through a visualization viewer When data is output according to a camera's point of view, the building object included in the tile set is output by calculating or extracting the tile set to be visualized, and invisible the building object included in another tile set around the tile set to be visualized. ) Further comprising the step of processing.

일실시예에서, 상기 시각화 요청 대상인 타일셋과 상기 다른 타일셋은 상기 카메라와 해당 타일셋의 중심점 사이의 거리로 구분될 수 있다.In one embodiment, the tile set to be the visualization request and the other tile set may be divided by the distance between the camera and the center point of the tile set.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 3차원 지도 서비스 제공 장치는, 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱을 이용한 3차원 지도 서비스 제공 장치로서, 프로그램을 저장하는 메모리; 및 상기 메모리에 연결되어 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로세서는, 상기 프로그램의 수행에 의해 탑재되는 분할 모듈에 의해, 데이터 구축을 위하여 영역의 경계(boundary)를 구비하는 3차원 지도데이터의 각 영역을 옥트리(octree) 구조로 분할하고, 상기 프로그램의 수행에 의해 탑재되는 인덱스 생성 모듈에 의해, 상기 영역 내 건물별로 소속 옥트리의 영역 인덱스를 부여하고, 동일한 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하며, 여기서 상기 영역 인덱스는 상기 경계에 대응하거나 상기 경계에 기초하는 상기 3차원 지도데이터의 2차원 위치 정보나 주소를 포함한다.An apparatus for providing a 3D map service according to another aspect of the present invention for solving the technical problem is a 3D map service providing apparatus using spatial indexing of a 3D model for an octree structure-based 3D map service, and storing a program. Memory; And a processor connected to the memory to execute the program, wherein the processor includes three-dimensional map data having a boundary of an area for data construction by a partition module mounted by execution of the program. Each area of is divided into an octree structure, and an index generation module mounted by executing the program gives an area index of an octree belonging to each building in the area, and creates one building object having the same area index. And the area index includes two-dimensional location information or an address of the three-dimensional map data corresponding to or based on the boundary.

일실시예에서, 주소는 3차원 지도데이터에 포함된 지리 정보, 국가 정보, 행정구역 정보를 포함할 수 있다.In one embodiment, the address may include geographic information, country information, and administrative district information included in the 3D map data.

일실시예에서, 상기 프로세서는, 상기 분할 모듈의 서브 모듈에 의해, 상기 옥트리 구조의 영역 내 가장 높은 건물의 높이를 활용하여 각 영역 내 건물 오브젝트가 차지하는 바닥면적, 부피 또는 비율을 계산하고, 상기 바닥면적, 부피 또는 비율에 기초하여 상기 옥트리 구조 내 어느 하나 이상의 영역 각각을 동일한 크기나 부피를 갖는 복수의 서브 영역들로 분할할 수 있다.In one embodiment, the processor calculates, by the sub-module of the splitting module, the floor area, volume, or ratio occupied by the building object in each area by using the height of the highest building in the area of the octree structure. Based on the floor area, volume or ratio, each of the one or more regions in the octree structure may be divided into a plurality of sub regions having the same size or volume.

일실시예에서, 상기 프로세서는, 상기 프로그램의 수행에 의해 탑재되는 렌더링 모듈에 의해, 상기 시각화 뷰어 상의 옥트리 구조의 타일셋이 카메라의 시점에 따라 출력될 때, 시각화 요청 대상인 타일셋을 계산 혹은 추출하여 해당 타일셋에 포함된 건물 데이터를 렌더링하여 출력하고, 상기 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함된 건물 데이터를 인비저블(invisible) 처리할 수 있다.In one embodiment, the processor, when the tile set of the octree structure on the visualization viewer is output according to the point of view of the camera by the rendering module mounted by the execution of the program, the processor calculates or extracts the tile set to be a visualization request target The building data included in the tile set may be rendered and output, and the building data included in another tile set around the tile set as the visualization request object may be invisible.

전술한 옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치를 사용하는 경우에는, 사용자 단말이나 클라이언트의 화면 상에서 단일 화면의 지도 서비스를 위해 평균 수 십만번 내지 수 백만번의 검색을 수행해야 하는 기존의 3차원 지도 서비스 방식을 개선하여 평균 수 천번 이하의 검색을 통한 3차원 지도 서비스가 가능한 3차원 지도 서비스 플랫폼을 제공할 수 있다.In the case of using the spatial indexing method of the three-dimensional model for the three-dimensional map service based on the octree structure and the method and apparatus for providing the three-dimensional map service using the same, a single screen map service on the screen of the user terminal or the client In order to improve the existing three-dimensional map service method that requires an average of hundreds of thousands to millions of searches to provide a three-dimensional map service platform capable of three-dimensional map service through an average of thousands of searches.

또한, 본 발명에 의하면, 시각화 뷰어에 많은 양의 건물 모델링 파일을 가시화하는 경우 많은 컴퓨팅 리소스와 시간을 소모하는 기존의 문제점을 해결할 수 있다. 즉, 옥트리 구조와 타일셋을 사용하고 거리에 따른 LOD(level of detail) 조절을 통해 건물 모델링의 시각화 정도의 차 데이터 로드를 고속화할 수 있다. 이것은, 기존 선형 구조로 저장되던 건물 데이터들을 옥트리 구조의 타일셋 형태로 저장하여 데이터 검색 속도를 크게 향상시킴으로써 구현될 수 있다. 데이터를 옥트리 구조로 저장하는 경우 특정 영역에 속한 데이터를 검색할 때 영역 인덱스를 사용하여 데이터 전체가 아닌 해당 영역에 속한 데이터만 검색하고 렌더링할 수 있다. 특히, 3차원(3D) 모델의 고속 렌더링이 가능할 경우 영화, 게임 등의 일반적인 문화 콘텐츠뿐만 아니라 체험형 학습 등 3D 상에서 제공되는 다양한 콘텐츠들의 실시간화가 가능한 장점이 있다.In addition, according to the present invention, when a large amount of building modeling files are visualized in the visualization viewer, an existing problem of consuming a large amount of computing resources and time can be solved. That is, by using the octree structure and tileset and adjusting the level of detail (LOD) according to the distance, the difference data load of the visualization level of the building modeling can be accelerated. This can be implemented by storing the building data previously stored in the linear structure in the form of an octree tile set to greatly increase the data retrieval speed. When data is stored in an octree structure, when searching for data belonging to a specific region, the region index can be used to search and render only the data belonging to the region, not the entire data. In particular, when high-speed rendering of a 3D model is possible, various contents provided in 3D such as experiential learning, as well as general cultural contents such as movies and games, can be realized in real time.

또한, 본 발명에 의하면, 국가 또는 특정 기관에서 제공하는 지리정보시스템(geographic information system, GIS)의 3차원 지도데이터를 활용하여 게임, 관광, 영화, 공연 등의 다양한 분야에서 빠른 3차원 지도 서비스를 위한 3차원 모델의 운영 시스템이나 그 데이터의 저장 및 관리를 위한 데이터베이스 시스템을 제공할 수 있다.In addition, according to the present invention, by using the three-dimensional map data of the geographic information system (GIS) provided by the country or a specific institution to provide a fast three-dimensional map service in various fields, such as games, tourism, movies, performances A three-dimensional model operating system or a database system for storing and managing the data can be provided.

도 1은 본 발명의 일실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법에 대한 흐름도이다.
도 2는 도 1의 방법에 의한 옥트리 구조 기반 3차원 지도 서비스를 위한 정보 구축 과정을 설명하기 위한 예시도이다.
도 3은 도 1의 방법으로 구축된 3차원 지도에 대한 정보 서비스 제공 과정을 설명하기 위한 개념도이다.
도 4는 도 3은 도 1의 옥트리 구조 기반 3차원 지도 서비스 정보 구축 방법으로 구축된 3차원 지도에 대한 정보 서비스 제공 과정을 설명하기 위한 예시도이다.
도 5는 도 1의 방법에 채용할 수 있는 시각화 뷰어에 따른 3차원 모델 구축 과정을 설명하기 위한 예시도이다.
도 6은 본 발명의 다른 실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법에 대한 흐름도이다.
도 7은 도 6의 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 방법에 대한 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 장치에 대한 블록도이다.
1 is a flowchart illustrating a spatial indexing method of a 3D model for an octree structure based 3D map service according to an embodiment of the present invention.
FIG. 2 is an exemplary diagram for describing an information construction process for an octree structure based 3D map service according to the method of FIG. 1.
3 is a conceptual diagram illustrating an information service providing process for a 3D map constructed by the method of FIG. 1.
FIG. 4 is an exemplary view for explaining a process of providing an information service for a 3D map constructed by the method of constructing 3D map service information based on the octree structure of FIG. 1.
FIG. 5 is an exemplary diagram for describing a 3D model construction process according to a visualization viewer that may be employed in the method of FIG. 1.
6 is a flowchart illustrating a spatial indexing method of a 3D model for an octree structure-based 3D map service according to another embodiment of the present invention.
7 is a flowchart illustrating a 3D map service providing method using the spatial indexing method of the 3D model of FIG. 6.
8 is a block diagram of a 3D map service providing apparatus using a spatial indexing method of a 3D model for an octree structure-based 3D map service according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, like reference numerals are used for like elements.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명하기로 한다. 다만, 본 발명을 설명함에 있어서, 이미 공지된 기능 혹은 구성에 대한 설명은 본 발명의 요지를 명료하게 하기 위하여 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description of the present invention, a description of a known function or configuration will be omitted to clarify the gist of the present invention.

도 1은 본 발명의 일실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법에 대한 흐름도이다. 도 2는 도 1의 방법에 의한 옥트리 구조 기반 3차원 지도 서비스를 위한 정보 구축 과정을 설명하기 위한 예시도이다. 도 3은 도 1의 방법으로 구축된 3차원 지도에 대한 정보 서비스 제공 과정을 설명하기 위한 개념도이다. 도 4는 도 3은 도 1의 옥트리 구조 기반 3차원 지도 서비스 정보 구축 방법으로 구축된 3차원 지도에 대한 정보 서비스 제공 과정을 설명하기 위한 예시도이다.1 is a flowchart illustrating a spatial indexing method of a 3D model for an octree structure based 3D map service according to an embodiment of the present invention. FIG. 2 is an exemplary diagram for describing an information construction process for an octree structure based 3D map service according to the method of FIG. 1. 3 is a conceptual diagram illustrating an information service providing process for a 3D map constructed by the method of FIG. 1. FIG. 4 is an exemplary diagram for describing an information service providing process for a 3D map constructed by the method of constructing 3D map service information based on the octree structure of FIG. 1.

도 1을 참조하면, 본 실시예에 따른 3차원 모델의 공간 인덱싱 방법은, 3차원 지도데이터의 영역을 옥트리 구조로 분할하는 단계(S10), 및 상기 영역 내 건물별 소속 옥트리 영역 인덱스를 부여하는 단계(S20)를 포함한다.Referring to FIG. 1, in the spatial indexing method of a 3D model according to the present embodiment, a step of dividing an area of 3D map data into an octree structure (S10), and assigning an octree area index to each building in the area is provided. Step S20 is included.

본 실시예에 따른 인덱싱 방법은, 3차원 지도데이터에서 옥트리를 사용한 영역 분할과 각 영역의 데이터(건물 오브젝트 등을 포함함)가 옥트리 구조 안에서 어느 영역에 속하는지를 결정하도록 이루어질 수 있다.The indexing method according to the present embodiment may be configured to determine an area segmentation using an octree in 3D map data and to which area the data (including a building object) of each area belongs in the octree structure.

즉, 도 2 및 도 3에 도시한 바와 같이, 본 실시예의 3차원 모델의 공간 인덱싱 방법을 구현하는 프로세서는 옥트리 구조(10)로 3차원 지도데이터의 영역을 분할하고, 해당 영역의 특정 데이터(11c, 11e, 11h, 12b, 12d, 13d)가 어느 영역에 속하는지를 결정할 수 있다.That is, as shown in FIGS. 2 and 3, the processor implementing the spatial indexing method of the three-dimensional model according to the present embodiment divides an area of the three-dimensional map data into an octree structure 10 and selects specific data of the corresponding area ( 11c, 11e, 11h, 12b, 12d, and 13d) belong to which region.

좀더 구체적으로 설명하면, 프로세서는 3차원 지도데이터에 옥트리 구조를 적용하기 위해, 3차원 지도데이터 상의 데이터 구축을 위한 영역의 경계(boundary)와 해당 영역 내 가장 높은 건물의 높이를 활용하여 3차원 공간 영역을 계산할 수 있다. 여기서 경계(boundary)는 동, 구, 시 등의 행정구역으로 입력받을 수 있다.More specifically, in order to apply the octree structure to the 3D map data, the processor utilizes the boundary of the area for constructing the data on the 3D map data and the height of the tallest building in the area. The area can be calculated. Here, the boundary may be input to administrative districts such as east, ward, and city.

또한, 프로세서는 계산된 3차원 공간 영역(10)을 동일한 넓이를 갖는 8개의 서브 영역으로 분할하여 하나의 영역당 8개의 자식 영역(11)을 갖도록 할 수 있다. 그리고 프로세서는 8개의 자식 영역(11) 중 적어도 어느 하나의 자식 영역이 8개의 손자 영역(12)을 가지도록 할 수 있고, 적어도 하나의 손자 영역(12)이 또 8개의 증손자 영역(13)을 가지도록 동작할 수 있다. 여기서, 최대 뎁스(depth)는 전체 영역의 넓이에 따라 달라질 수 있다.In addition, the processor may divide the calculated three-dimensional space region 10 into eight subregions having the same width to have eight child regions 11 per region. The processor may allow at least one child region of the eight child regions 11 to have eight grandchild regions 12, and the at least one grandchild region 12 may further include eight great-grandchildren regions 13. Can operate to have. Here, the maximum depth may vary depending on the width of the entire area.

또한, 본 실시예에 따른 인덱싱 방법을 구현하는 프로세서는, 3차원 지도데이터 상에서 옥트리 구조로 나눈 각각의 영역에 고유 인덱스를 부여할 수 있다. 즉, 도 4에 도시한 바와 같이, 프로세서는 3차원 지도데이터 상에 표현된 각각의 빌딩 오브젝트들에 인덱스를 부여한다.In addition, the processor implementing the indexing method according to the present embodiment may assign a unique index to each region divided by an octree structure on the 3D map data. That is, as shown in FIG. 4, the processor assigns an index to each building object represented on the 3D map data.

프로세서는 3차원 지도데이터(30) 상에서 건물 전체가 포함되는 가장 작은 옥트리 경계(octree boundary) 영역을 찾고 그 영역 또는 해당 공간 영역의 인덱스를 해당 빌딩 오브젝트에 부여할 수 있다. 또한, 프로세서는 상기 영역 내 가장 높은 건물의 높이를 기준으로 해당 영역의 뎁스들(h1, h2, h3, h4 등) 중 하나를 결정할 수 있다.The processor may find the smallest octree boundary region in which the whole building is included on the 3D map data 30 and assign an index of the corresponding region or the corresponding spatial region to the corresponding building object. Also, the processor may determine one of the depths h1, h2, h3, and h4 of the corresponding area based on the height of the tallest building in the area.

해당 빌딩 오브젝트의 건물 정보는 부여받은 인덱스를 포함하여 다른 기본 정보와 함께 데이터베이스에 저장되고, 시각화 뷰어는 이 인덱스를 사용하여 건물들을 가시화할 수 있다.The building information of the building object is stored in the database along with other basic information, including the given index, which the visualization viewer can use to visualize the buildings.

본 실시예에 의하면, 전체 영역의 넓이가 클수록 최대 뎁스를 크게 하면, 디테일한 부분까지 표현할 수 있는 장점이 있다. 또한, 전체 영역의 넓이가 좁으면 최대 뎁스를 작게 해도 디테일한 영역을 표현할 수 있기 때문에 최대 뎁스를 제한할 수 있다.According to this embodiment, the larger the maximum area, the larger the maximum depth, there is an advantage that can be expressed to the detail. In addition, if the area of the entire area is narrow, the detail area can be expressed even if the maximum depth is reduced, so that the maximum depth can be limited.

도 5는 도 1의 방법에 채용할 수 있는 시각화 뷰어 구축 과정을 설명하기 위한 예시도이다. 도 6은 본 발명의 다른 실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법에 대한 흐름도이다.5 is an exemplary diagram for describing a visualization viewer construction process that may be employed in the method of FIG. 1. 6 is a flowchart illustrating a spatial indexing method of a 3D model for an octree structure-based 3D map service according to another embodiment of the present invention.

도 5를 참조하면, 본 실시예에 따른 3차원 모델의 공간 인덱싱 방법은, 시각화 뷰어에서 건물들을 효율적으로 보여주기 위해서 사용자의 시점이나 이에 대응하는 카메라의 위치(b)에서 옥트리 구조의 중심점에 대응하는 영역 중심점(a)까지의 거리(c)에 기초하여 먼 건물과 가까운 건물을 구분하여 렌더링할 수 있도록 3차원 모델의 인덱싱 정보를 이용하여 건물 오브젝트를 그룹핑하여 처리하거나 타일셋으로 묶음 처리할 수 있다.Referring to FIG. 5, the spatial indexing method of the 3D model according to the present exemplary embodiment corresponds to the center point of the octree structure at the user's viewpoint or the corresponding camera position (b) in order to efficiently show the buildings in the visualization viewer. Building objects can be grouped or bundled into tilesets using the 3D model's indexing information to render the distant and near buildings based on the distance (c) to the area center point (a). .

여기서, 타일셋(tileset)은 같은 인덱스를 가진 건물을 하나의 그룹으로 묶어서 관리할 때, 상기 그룹을 지칭하는 말일 수 있다.Here, a tileset may refer to the group when a group of buildings having the same index are managed in a group.

즉, 본 실시예의 3차원 모델의 공간 인덱싱 방법은, 도 6에 도시한 바와 같이, 상기 영역 내 건물별 소속 옥트리 영역 인덱스를 부여하는 단계(S20) 후에 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하는 단계(S30)를 더 포함하도록 구현될 수 있다.That is, according to the spatial indexing method of the three-dimensional model of the present embodiment, as shown in FIG. 6, after the step S20 of assigning an octree area index to each building in the area, building objects having the same index or the same area index are included. It may be implemented to further include the step (S30) of managing in a group.

본 실시예에 의하면, 시각화 뷰어에서 건물들을 가시화할 때, 프로세서는 가까운 건물 오브젝트를 렌더링하여 출력하고 먼 건물 오브젝트를 렌더링하지 않고 출력하도록 동작할 수 있다. 이때, 프로세서 또는 이 프로세서를 포함하는 3차원 지도 서비스 제공 장치는 가시화 LOD(level of detail) 레벨을 타일셋을 이용하여 효과적으로 선택하여 3차원 지도 서비스를 빠르게 수행할 수 있다.According to this embodiment, when visualizing buildings in the visualization viewer, the processor may be operable to render and output near building objects and output without rendering distant building objects. In this case, the processor or the 3D map service providing apparatus including the processor may quickly select the visualized level of detail (LOD) level using the tile set to quickly perform the 3D map service.

도 7은 도 6의 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 방법에 대한 흐름도이다.7 is a flowchart illustrating a 3D map service providing method using the spatial indexing method of the 3D model of FIG. 6.

도 7을 참조하면, 본 실시예에 따른 3차원 지도 서비스 제공 방법은, 3차원 지도데이터의 영역을 옥트리 구조로 분할하는 단계(S10), 상기 영역 내 건물별 소속 옥트리 영역 인덱스를 부여하는 단계(S20), 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하는 단계(S30), 및 시각화 요청 대상인 타일셋을 계산 혹은 추출하여 해당 타일셋에 포함된 건물 데이터를 출력하고, 상기 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함된 건물 데이터를 인비저블(invisible) 처리하는 단계(S40)를 포함한다.Referring to FIG. 7, in the method of providing a 3D map service according to the present embodiment, dividing an area of 3D map data into an octree structure (S10) and assigning an octree area index to each building in the area (S10). S20), a step of managing building objects having the same index or the same area index into one group (S30), and calculating or extracting a tile set as a visualization request object and outputting building data included in the tile set, and requesting the visualization request. And invisible processing of building data included in another tile set around the target tile set (S40).

전술한 구성에 의하면, 3차원 지도 서비스 제공 방법을 구현하는 장치는, 시각화 뷰어 상에 사용자 시점이나 카메라 시점에 따라 그려지는 옥트리 구조의 타일셋을 이용하여, 사용자가 위치 및 시점 이동 시에, 실시간으로 시각화해야 할 타일셋을 계산하고 계산된 해당 타일셋에 포함된 건물 데이터를 로드하여 시각화하고, 시점 영역에서 벗어난 건물 데이터는 인비저블(invisible) 처리할 수 있다.According to the above-described configuration, the device for implementing the 3D map service providing method, in real time when the user moves the position and viewpoint using a tile set of an octree structure drawn according to the user's viewpoint or the camera's viewpoint on the visualization viewer. The tile set to be visualized is calculated, the building data included in the calculated tile set is loaded and visualized, and the building data which is out of the viewpoint region can be invisible.

시각화해야 할 타일셋을 판단하는 기준은 카메라와 타일셋 중심점 사이의 거리로 판단할 수 있다(도 5의 참조부호 c 참조). 즉, 시각화 뷰어 상에서 사용자 화면의 시점이나 카메라의 위치를 얻을 수 있고, 영역의 중심점이나 타일셋의 중심점은 데이터베이스에 저장되어 있기 때문에 둘 사이의 거리를 구하여 먼 건물 오브젝트와 가까운 건물 오브젝트를 구분할 수 있다. 거리에 대한 임계값은 사용자가 직접 조절할 수 있게 설정하여 사용자가 직접 원하는 가시거리를 선택할 수 있도록 하는 것도 바람직하다. 이를 위해, 적절한 사용자 인터페이스를 제공할 수 있다.The criterion for determining the tile set to be visualized may be determined by the distance between the camera and the center of the tile set (see reference numeral c of FIG. 5). That is, the viewpoint of the user screen or the position of the camera can be obtained from the visualization viewer, and the center point of the area or the center point of the tile set are stored in the database, so that the distance between the two can be determined to distinguish the building object from the distant building object. It is also preferable that the threshold value for the distance is set to be directly adjustable by the user so that the user can directly select a desired viewing distance. To this end, an appropriate user interface can be provided.

도 8은 본 발명의 또 다른 실시예에 따른 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 장치에 대한 블록도이다.8 is a block diagram of a 3D map service providing apparatus using a spatial indexing method of a 3D model for an octree structure-based 3D map service according to another embodiment of the present invention.

도 8을 참조하면, 본 실시예에 따른 3차원 지도 서비스 제공 장치(100)는, 제어부(110), 저장부(120) 및 통신부(130)를 포함한다. 제어부(110)는 입출력 장치(140)와 연결될 수 있다. 3차원 지도 서비스 제공 장치(100)는 3차원 지도데이터의 영역을 옥트리 구조로 분할하고, 상기 영역 내 건물별 소속 옥트리 영역 인덱스를 부여하고, 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하고, 시각화 요청 대상인 타일셋을 계산 혹은 추출하여 해당 타일셋에 포함된 건물 데이터를 출력하고, 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함된 건물 데이터를 인비저블(invisible) 처리할 수 있다.Referring to FIG. 8, the apparatus for providing a 3D map service 100 according to the present embodiment includes a controller 110, a storage 120, and a communication unit 130. The controller 110 may be connected to the input / output device 140. The apparatus 100 for providing 3D map service divides an area of 3D map data into an octree structure, assigns an octree area index to each building in the area, and groups building objects having the same index or the same area index as one group. It is possible to bundle and manage, output the building data included in the tile set by calculating or extracting the tile set as the visualization request target, and invisible processing of the building data included in other tile sets around the tile set as the visualization request target.

이를 위해, 제어부(110)는 적어도 하나 이상의 중앙 처리 장치(CPU)나 코어(core)를 구비한 프로세서나 마이크로프로세서를 포함하고, 제어장치나 연산장치로 지칭될 수 있으며, 저장부(220)에 저장된 프로그램이나 소프트웨어 모듈을 실행하여 3차원 지도 서비스 제공 등과 같은 미리 설정된 기능을 수행할 수 있다.To this end, the control unit 110 may include a processor or a microprocessor having at least one central processing unit (CPU) or a core, and may be referred to as a control unit or a computing unit, and may be referred to as a storage unit 220. By executing a stored program or software module, a predetermined function such as providing a 3D map service may be performed.

저장부(120)에 저장되고 제어부(110)에 의해 실행되는 소프트웨어 모듈은 분할 모듈(121), 인덱스 생성 모듈(122), 주소 관리 모듈(123), 타일셋 관리 모듈(124), 렌더링 모듈(125), 거리 계산 모듈(126) 및 인터페이스(interface, I/F) 관리 모듈(127)을 포함할 수 있다. 이러한 소프트웨어 모듈은 제어부에 대응하는 프로세서에 탑재되어 해당 기능을 수행하는 구성부에도 대응될 수 있다.The software module stored in the storage unit 120 and executed by the control unit 110 may include a partition module 121, an index generation module 122, an address management module 123, a tile set management module 124, and a rendering module 125. ), A distance calculation module 126, and an interface (I / F) management module 127. The software module may also be mounted on a processor corresponding to the controller to correspond to a component that performs a corresponding function.

구체적으로, 분할 모듈(121)은, 3차원 지도데이터의 영역을 옥트리 구조로 분할하기 위한 수단이나 이러한 수단에 상응하는 기능을 수행하는 구성부를 포함할 수 있다. 분할 모듈(121)은 옥트리 구조 또는 옥트리 구조의 영역에 대한 뎁스(depth)를 결정하거나, 결정된 뎁스에 따라 해당 영역을 복수회 분할할 수 있다. 이를 위해, 분할 모듈(122)은 영역 내 가장 높은 건물의 높이를 활용하여 3차원 공간 영역을 계산하는 서브 모듈을 구비할 수 있다.In detail, the dividing module 121 may include a means for dividing an area of the 3D map data into an octree structure or a component that performs a function corresponding to the means. The dividing module 121 may determine a depth of an octree structure or an area of an octree structure, or may divide a corresponding region a plurality of times according to the determined depth. To this end, the dividing module 122 may include a submodule that calculates a three-dimensional space region by using the height of the tallest building in the region.

인덱스 생성 모듈(122)은 옥트리 구조의 영역 내 건물별로 소속 옥트리의 영역 인덱스를 부여한다. 인덱스 생성 모듈(122)은 3차원 지도데이터 상에 표현된 각각의 빌딩 오브젝트들에 고유의 인덱스를 부여할 수 있다. 즉, 인덱스 생성 모듈(122)은 3차원 지도데이터 상에서 건물 전체가 포함되는 가장 작은 옥트리 경계(octree boundary) 영역을 찾고 옥트리 구조 내에서의 해당 영역 또는 해당 공간 영역의 인덱스를 해당 빌딩 오브젝트에 부여할 수 있다.The index generation module 122 assigns an area index of the belonging octree to each building in the area of the octree structure. The index generation module 122 may assign a unique index to each building object represented on the 3D map data. That is, the index generation module 122 finds the smallest octree boundary region in which the entire building is included on the 3D map data and assigns the index of the corresponding region or the corresponding spatial region within the octree structure to the corresponding building object. Can be.

또한, 인덱스 생성 모듈(122)은 주소 관리 모듈(123)에서 제공하는 3차원 지도데이터 내 건물 오브젝트 등의 주소와 관련되도록 영역 인덱스를 부여할 수 있다. 예를 들면, 주소 관리 모듈(123)에서 관리하는 행정구역 단위로 건물데이터를 그룹화하면, 인덱스 생성 모듈(122)은 주소 관리 모듈(123)로부터 혹은 주소 관리 모듈(123)의 정보에 기초하여 데이터베이스로부터 사용자 요청을 좌표 영역 기반이 아닌 행정구역 기반으로 건물데이터 또는 그룹화된 건물데이터를 받을 수 있다.In addition, the index generation module 122 may assign an area index to be associated with an address such as a building object in the 3D map data provided by the address management module 123. For example, if the building data is grouped in units of administrative areas managed by the address management module 123, the index generation module 122 may generate a database based on the information of the address management module 123 or from the address management module 123. User requests from can receive building data or grouped building data based on administrative districts rather than on coordinate regions.

좀더 설명하면, 주소 관리 모듈(123)은 3차원 지도데이터 내 건물 오브젝트에 대한 행정구역 주소를 관리할 수 있다. 그 경우, 주소 관리 모듈(123)은 인덱스 생성 모듈(122)에서 요청하는 건물 오브젝트의 주소를 추출하여 제공할 수 있다. 거기서, 주소 관리 모듈(123)은 좌표 영역 기반이 아닌 행정구역 기반으로 그룹화된 건물데이터를 생성 및 관리할 수 있다. 주소 관리 모듈(123)은 각각의 행정구역(예컨대, 동, 구 단위 등에서 선택되는 어느 하나)이 인덱싱 영역의 최상위 노드가 되도록 작동할 수 있다. 이러한 구성에 의하면, 사용자에게 좀 더 직관적인 접근을 가능하게 함으로써 사용자 편의성을 크게 향상시킬 수 있다. 더욱이 이러한 구성은 추가적으로 타일셋 관리 모듈(124)와 함께 사용하여 행정구역을 하나의 타일셋으로 구성함으로써 그 성능 및 효과를 극대화할 수 있다.In more detail, the address management module 123 may manage administrative area addresses for building objects in the 3D map data. In this case, the address management module 123 may extract and provide an address of a building object requested by the index generation module 122. There, the address management module 123 may generate and manage building data grouped based on administrative districts, not based on coordinate regions. The address management module 123 may operate such that each administrative region (eg, any one selected from the unit of the district, the unit of district, etc.) becomes the top node of the indexing area. According to such a configuration, the user convenience can be greatly improved by enabling a more intuitive approach to the user. Moreover, such a configuration may be additionally used in conjunction with the tile set management module 124 to maximize the performance and effect by configuring the administrative area as a single tile set.

타일셋 관리 모듈(124)은 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리한다. 타일센 관리 모듈(124)은, 사용자가 위치 및 시점 이동 시에, 렌더링 모듈(125)의 요청에 따라 실시간으로 시각화해야 할 타일셋을 계산하여 추출할 수 있다. 이 경우, 시각화 뷰어는 계산되어 추출된 해당 타일셋에 포함되는 건물 데이터를 로드하여 시각화할 수 있다.The tile set management module 124 manages building objects having the same index or the same area index as a group. The tile-sen management module 124 may calculate and extract a tile set to be visualized in real time according to a request of the rendering module 125 when the user moves the position and the viewpoint. In this case, the visualization viewer may load and visualize building data included in the calculated and extracted tile set.

렌더링 모듈(125)은 시각화 뷰어에서의 신호나 명령에 따라 건물 오브젝트의 적어도 일부를 렌더링하여 출력할 수 있다. 렌더링 모듈(125)은 거리 계산 모듈(126)에서 카메라 시점과의 거리가 일정 거리 이상인 건물 오브젝트에 대한 정보나 신호에 기초하여 해당 건물 오브젝트의 렌더링을 생략하도록 동작할 수 있다. 이러한 렌더링 모듈(125)은 시각화 뷰어 또는 3D 뷰어의 카메라와 동일 인덱스를 가진 타일셋 사이의 거리에 따라 가시화 LOD 레벨을 조절하는 가시화 LOD 레벨 조절 모듈에 대응할 수 있다.The rendering module 125 may render and output at least a part of the building object according to a signal or a command from the visualization viewer. The rendering module 125 may operate to omit the rendering of the building object based on the information or the signal for the building object whose distance to the camera viewpoint is a predetermined distance or more in the distance calculation module 126. The rendering module 125 may correspond to the visualization LOD level adjusting module that adjusts the visualization LOD level according to the distance between the camera of the visualization viewer or the 3D viewer and the tile set having the same index.

거리 계산 모듈(126)은 시각화 뷰어 상에서의 사용자 화면의 시점이나 카메라의 위치 정보와, 저장부(120) 또는 데이터베이스에 저장되는 영역의 중심점이나 타일셋의 중심점에 대한 정보에 기초하여 카메라로부터 시각화 대상 건물까지의 거리를 계산할 수 있다. 이러한 거리 정보는 먼 건물 오브젝트와 가까운 건물 오브젝트를 구분하는데 이용되며, 렌더링 모듈(125)에 제공될 수 있다.The distance calculation module 126 may be configured to visualize a building from a camera based on information about a viewpoint of a user screen or a location of a camera on a visualization viewer, and information about a center point of an area stored in the storage 120 or a database or a center point of a tile set. You can calculate the distance to. This distance information is used to distinguish between a distant building object and a building object close to it, and may be provided to the rendering module 125.

그리고, I/F 관리 모듈(127)은 상기의 거리와 관련된 정보 등을 시각화 뷰어에서 사용자가 직접 조절하거나 설정할 수 있도록 사용자 인터페이스를 관리한다. I/F 관리 모듈(127)은 사용자 인터페이스를 통해 입력되는 조정 정보나 설정 정보를 거리 계산 모듈(126)이나 렌더링 모듈(125) 등에 전달할 수 있다.The I / F management module 127 manages the user interface so that the user can directly adjust or set the information related to the distance in the visualization viewer. The I / F management module 127 may transmit the adjustment information or the setting information input through the user interface to the distance calculation module 126 or the rendering module 125.

전술한 저장부(120)는 옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 방법을 구현하는 소프트웨어 모듈 외에 3차원 지도 서비스 제공 장치의 기본적인 동작을 위한 운영체제, 프로그램, 명령어 집합 등을 저장할 수 있다.The storage unit 120 operates in addition to a software module for implementing a 3D map service providing method using a spatial indexing method of a 3D model for an octree structure-based 3D map service. You can store operating systems, programs, instruction sets, and so on.

저장부(120)는 비휘발성 랜덤 액세스 메모리(non-volatile RAM, NVRAM), 대표적 휘발성 메모리인 DRAM(dynamic random access memory) 등의 반도체 메모리, 하드디스크 드라이브(hard disk drive, HDD), 광 저장 장치, 플래시 메모리, 클라우드 저장 시스템 또는 이들의 조합을 포함할 수 있다.The storage unit 120 may include a semiconductor memory such as non-volatile random access memory (NVRAM), a dynamic random access memory (DRAM), which is a typical volatile memory, a hard disk drive (HDD), and an optical storage device. , Flash memory, cloud storage systems, or a combination thereof.

소프트웨어 모듈은 프로그램이나 소프트웨어 형태로 별도의 컴퓨터 판독 가능 매체(기록매체)에 저장되고 필요에 따라 컴퓨팅 장치에 로딩된 후 제어부(110)의 명령에 따라 해당 기능을 수행하도록 구현될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합한 형태로 포함하도록 이루어진다. 컴퓨터 판독 가능 매체에 기록되는 프로그램은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것을 포함할 수 있다.The software module may be stored in a separate computer readable medium (recording medium) in the form of a program or software, loaded into a computing device as necessary, and then implemented to perform a corresponding function according to a command of the controller 110. Computer-readable media can be provided to include program instructions, data files, data structures, and the like, alone or in combination. The programs recorded on the computer readable medium may be those specially designed and configured for the present invention, or may include those known and available to those skilled in computer software.

또한, 컴퓨터 판독 가능 매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 여기서 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 제어부(110)에서 실행할 수 있는 고급 언어 코드를 포함할 수 있다.In addition, the computer readable medium may include a hardware device specifically configured to store and execute program instructions, such as a ROM, a RAM, a flash memory, and the like. The program command may include high-level language code that can be executed in the controller 110 using an interpreter as well as machine code generated by a compiler.

통신부(130)는 네트워크를 통해 3차원 지도 서비스 제공 장치(100)와 사용자 단말, 클라이언트 단말, 관광업체 서버, 게임업체 서버, 영화업체 서버, 공연업체 서버 등을 연결하기 위하여 하나 이상의 통신 프로토콜을 지원하는 적어도 하나 이상의 유선 및/또는 무선 서브통신시스템을 구비할 수 있다.The communication unit 130 supports one or more communication protocols in order to connect the 3D map service providing apparatus 100 to a user terminal, a client terminal, a tourism server, a game server, a movie server, a performance server, and the like through a network. At least one wired and / or wireless sub-communication system may be provided.

입출력 장치(140)는 키보드, 마우스, 마이크, 터치패드, 터치패널, 디스플레이 장치, 스피커 등을 포함할 수 있다. 입출력 장치(140)는 유선 또는 무선으로 제어부(110)에 연결될 수 있다. 광의의 개념에서 입출력 장치(140)는 3차원 서비스 제공 장치에 포함될 수 있다.The input / output device 140 may include a keyboard, a mouse, a microphone, a touch pad, a touch panel, a display device, a speaker, and the like. The input / output device 140 may be connected to the controller 110 by wire or wirelessly. In a broad concept, the input / output device 140 may be included in a 3D service providing device.

전술한 실시예에서 제어부(110)는 3차원 지도 서비스 제공을 위한 GIS 응용 서버에 대응되고, 저장부(120)는 데이터 파일을 저장 및 관리하는 데이터베이스(database, DB) 시스템에 대응될 수 있다. 그 경우, 데이터베이스 시스템과 GIS 응용 서버에는 GIS 데이터 서버가 배치되어 이들 사이의 신호 및 데이터의 송수신을 처리하도록 구현될 수 있다.In the above-described embodiment, the controller 110 may correspond to a GIS application server for providing a 3D map service, and the storage 120 may correspond to a database (DB) system for storing and managing data files. In that case, a GIS data server may be disposed in the database system and the GIS application server to implement transmission and reception of signals and data therebetween.

또한, 구현에 따라서 제어부(110)는 GIS 웹 서비스 서버 또는 웹 서버로 구현되고, 저장부(120)는 웹 서버에 연결된 GIS 데이터 시스템에 포함되는 DB 서버로 구현될 수 있다.In addition, according to the implementation, the control unit 110 may be implemented as a GIS web service server or a web server, and the storage unit 120 may be implemented as a DB server included in a GIS data system connected to the web server.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

Claims (9)

3차원 지도 서비스 제공 장치에서 수행되는 3차원 모델의 공간 인덱싱을 이용하는 3차원 지도 서비스 제공 방법으로서,
영역의 경계(boundary)를 구비하는 3차원 지도데이터의 각 영역을 옥트리(octree) 구조로 분할하는 단계;
상기 옥트리 구조의 각 영역 내 건물 오브젝트에 대한 인덱스를 상기 경계에 대응하거나 상기 경계에 기초하는 3차원 지도데이터의 2차원 위치 정보나 행정구역상 주소와 결합하여 소속 옥트리의 영역 인덱스를 부여하는 단계;
상기 주소에 따른 행정구역 기반으로 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하는 단계; 및
상기 그룹에 대응하는 타일셋 사이의 거리에 따라 가시화 LOD(level of Detail) 레벨이 조절되어 해당 타일셋에 포함된 건물 데이터를 카메라의 시점에 따라 시각화하여 출력하고, 상기 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함되거나 시점 영역에서 벗어난 건물 데이터는 인비저블(invisible) 처리하는 단계;를 포함하는 것을 특징으로 하는 3차원 지도 서비스 제공 방법.
A 3D map service providing method using spatial indexing of a 3D model performed in a 3D map service providing apparatus,
Dividing each region of the 3D map data having the boundary of the region into an octree structure;
Assigning an index of a building object in each area of the octree structure to two-dimensional location information of the three-dimensional map data corresponding to or based on the boundary or an address on an administrative district to give an area index of the belonging octree;
Grouping and managing building objects having the same index or the same area index as a group based on the administrative area according to the address; And
The visualization level of detail (LOD) level is adjusted according to the distance between the tile sets corresponding to the group to visualize and output the building data included in the tile set according to the viewpoint of the camera, and to another tile set around the tile set targeted for visualization. And invisible processing of the building data included or out of the viewable area. 2.
청구항 1에 있어서,
상기 분할하는 단계는,
상기 옥트리 구조의 영역 내 가장 높은 건물의 높이를 활용하여 각 영역 내 건물 오브젝트가 차지하는 바닥면적, 부피 또는 비율을 계산하는 단계; 및
상기 바닥면적, 부피 또는 비율에 기초하여 상기 옥트리 구조 내 어느 하나 이상의 영역 각각을 동일한 크기나 부피를 갖는 복수의 서브 영역들로 분할하는 단계를 더 포함하는 것을 특징으로 하는 3차원 지도 서비스 제공 방법.
The method according to claim 1,
The dividing step,
Calculating a floor area, a volume, or a ratio occupied by the building object in each area by using the height of the highest building in the area of the octree structure; And
And dividing each one or more regions in the octree structure into a plurality of sub-regions having the same size or volume based on the floor area, volume, or ratio.
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 시각화 요청 대상인 타일셋과 상기 다른 타일셋을 판단하는 기준은 상기 카메라와 시각화 요청 타일셋의 중심점 사이의 거리로 구분되어 시각화해야 할 타일셋을 판단하는 것을 특징으로 하는 3차원 지도 서비스 제공 방법.
The method according to claim 1,
The criterion for determining the tile set as the visualization request target and the other tile set is determined by the distance between the center point of the camera and the visualization request tile set to determine the tile set to be visualized.
옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱을 이용하는 3차원 지도 서비스 제공 장치는,
프로그램이나 소프트웨어 모듈을 저장하는 저장부(120); 및
상기 저장부에 저장된 상기 프로그램이나 소프트웨어 모듈을 실행하는 프로세서를 탑재한 제어부(110)를 포함하되,
상기 소프트웨어 모듈은
데이터 구축을 위하여 영역의 경계(boundary)를 구비하는 3차원 지도데이터의 각 영역을 옥트리(octree) 구조로 분할하는 분할 모듈(121),
상기 옥트리 구조의 각 영역 내 건물 오브젝트에 대한 인덱스를 상기 경계에 대응하거나 상기 경계에 기초하는 3차원 지도데이터의 2차원 위치 정보나 행정구역상 주소와 결합하여 소속 옥트리의 영역 인덱스를 부여하는 인덱스 생성 모듈(122),
3차원 지도데이터 내 건물 오브젝트에 대한 행정구역 주소를 관리하고, 상기 행정구역 기반으로 그룹화된 건물데이터를 생성 및 관리하는 주소 관리 모듈(123),
상기 주소에 따른 행정구역 기반으로 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리하는 타일셋 관리 모듈(124),
건물 데이터가 구성된 지역을 로드하여 보여주는 시각화 뷰어에서의 신호나 명령에 따라 가시화 LOD(level of Detail) 레벨이 조절되어 건물 오브젝트의 적어도 일부를 렌더링하여 출력하는 렌더링 모듈(125),
상기 시각화 뷰어 상에서의 사용자 화면의 시점이나 카메라의 위치 정보와, 상기 저장부(120) 또는 데이터베이스에 저장되는 영역의 중심점이나 타일셋의 중심점에 대한 정보에 기초하여 카메라로부터 시각화 대상 건물까지의 거리를 계산하는 거리 계산 모듈(126) 및
상기의 거리와 관련된 정보를 시각화 뷰어에서 사용자가 직접 조절하거나 설정할 수 있도록 사용자 인터페이스를 관리하는 인터페이스(interface, I/F) 관리 모듈(127)을 포함하는 것을 특징으로 하는 3차원 지도 서비스 제공 장치.
An apparatus for providing a 3D map service using spatial indexing of a 3D model for an octree structure-based 3D map service,
A storage unit 120 for storing a program or a software module; And
And a controller 110 having a processor for executing the program or software module stored in the storage unit.
The software module
A partitioning module 121 for dividing each region of the 3D map data having the boundary of the region into an octree structure for data construction;
Create an index that gives the area index of the belonging octree by combining the index of the building object in each area of the octree structure with the two-dimensional location information of the 3D map data corresponding to or based on the boundary or the address on the administrative district. Module 122,
An address management module 123 for managing an administrative area address for a building object in 3D map data and generating and managing building data grouped based on the administrative area;
A tile set management module 124 for managing building objects having the same index or the same area index as a group based on the administrative area according to the address;
A rendering module 125 that renders and outputs at least a portion of a building object by adjusting a level of detail level of detail (LOD) according to a signal or a command from a visualization viewer that loads and displays an area in which building data is configured;
The distance from the camera to the building to be visualized is calculated based on the viewpoint of the user screen or the position of the camera on the visualization viewer and the information about the center point of the area stored in the storage 120 or the database or the center point of the tile set. Distance calculation module 126 and
And an interface (I / F) management module 127 for managing a user interface so that the user can directly adjust or set the information related to the distance in the visualization viewer.
청구항 7에 있어서,
상기 분할 모듈(121)은
옥트리 구조 또는 옥트리 구조의 영역에 대한 뎁스(depth)를 결정하거나, 결정된 뎁스에 따라 해당 영역을 복수회 분할하기 위하여 상기 옥트리 구조의 영역 내 가장 높은 건물의 높이를 활용하여 각 영역 내 건물 오브젝트가 차지하는 바닥면적, 부피 또는 비율을 계산하고,
상기 바닥면적, 부피 또는 비율에 기초하여 상기 옥트리 구조 내 어느 하나 이상의 영역 각각을 동일한 크기나 부피를 갖는 복수의 서브 영역들로 분할하는 서브 모듈을 구비하는 것을 특징으로 하는 3차원 지도 서비스 제공 장치.
The method according to claim 7,
The split module 121
In order to determine a depth of an octree structure or an area of an octree structure or to divide a corresponding area a plurality of times according to the determined depth, a building object occupied by a building object in each area is utilized by using the height of the highest building in the area of the octree structure. Calculate floor area, volume or ratio,
And a sub module for dividing each one or more areas in the octree structure into a plurality of sub areas having the same size or volume based on the floor area, volume, or ratio.
청구항 7에 있어서,
상기 렌더링 모듈(125)은 카메라의 시점에 따라 시각화 요청 대상인 타일셋을 계산 혹은 추출하여 해당 타일셋에 포함된 건물 데이터를 렌더링하여 출력하고, 상기 시각화 요청 대상인 타일셋 주변의 다른 타일셋에 포함되거나 시점 영역에서 벗어난 건물 데이터는 인비저블(invisible) 처리하는 것을 특징으로 하는 3차원 지도 서비스 제공 장치.
The method according to claim 7,
The rendering module 125 calculates or extracts a tile set that is a visualization request target according to the camera's point of view, renders and outputs building data included in the tile set, and is included in another tile set around the tile set that is the visualization request target or is out of the view area. 3D map service providing apparatus characterized in that the building data is invisible (Invisible) processing.
KR1020180113230A 2018-09-20 2018-09-20 Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same KR102050169B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180113230A KR102050169B1 (en) 2018-09-20 2018-09-20 Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180113230A KR102050169B1 (en) 2018-09-20 2018-09-20 Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same

Publications (1)

Publication Number Publication Date
KR102050169B1 true KR102050169B1 (en) 2019-12-02

Family

ID=68847579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180113230A KR102050169B1 (en) 2018-09-20 2018-09-20 Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same

Country Status (1)

Country Link
KR (1) KR102050169B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898276A (en) * 2020-08-04 2020-11-06 中国南方电网有限责任公司 Overhead line model processing method and device, computer equipment and medium
CN112100297A (en) * 2020-07-24 2020-12-18 广东广量测绘信息技术有限公司 Three-dimensional visualization method for data management in urban updating
CN112233229A (en) * 2020-10-29 2021-01-15 字节跳动有限公司 Method for collecting landmark data and method for modeling landmark building
KR102242834B1 (en) * 2020-12-28 2021-04-21 하늘지도 주식회사 Apparatus and method for producing three-dimensional mesh map providing object information
CN114419256B (en) * 2022-01-24 2024-01-23 正元地理信息集团股份有限公司 Urban level BIM data light weight method and system based on multistage shell extraction algorithm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100309558B1 (en) 1998-12-01 2001-12-17 오길록 Geographic Element Modeler for 3D Geographic Information System
KR100738107B1 (en) * 2006-02-15 2007-07-12 삼성전자주식회사 Apparatus and method for modeling based on 3 dimension point
KR101465481B1 (en) 2013-12-23 2014-12-10 한국건설기술연구원 Bim data processing system for converting bim data format
KR20160062294A (en) * 2014-11-24 2016-06-02 삼성전자주식회사 Map service providing apparatus and method
KR101775952B1 (en) * 2016-12-06 2017-09-11 한국건설기술연구원 Apparatus for processing bim big geomery data and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100309558B1 (en) 1998-12-01 2001-12-17 오길록 Geographic Element Modeler for 3D Geographic Information System
KR100738107B1 (en) * 2006-02-15 2007-07-12 삼성전자주식회사 Apparatus and method for modeling based on 3 dimension point
KR101465481B1 (en) 2013-12-23 2014-12-10 한국건설기술연구원 Bim data processing system for converting bim data format
KR20160062294A (en) * 2014-11-24 2016-06-02 삼성전자주식회사 Map service providing apparatus and method
KR101775952B1 (en) * 2016-12-06 2017-09-11 한국건설기술연구원 Apparatus for processing bim big geomery data and method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김지은, "BIM on GIS 상호운용성 기술 및 응용 사례", 한국건설기술연구원 ICT융합연구소 (2015.11.20.) 1부.* *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100297A (en) * 2020-07-24 2020-12-18 广东广量测绘信息技术有限公司 Three-dimensional visualization method for data management in urban updating
CN111898276A (en) * 2020-08-04 2020-11-06 中国南方电网有限责任公司 Overhead line model processing method and device, computer equipment and medium
CN112233229A (en) * 2020-10-29 2021-01-15 字节跳动有限公司 Method for collecting landmark data and method for modeling landmark building
CN112233229B (en) * 2020-10-29 2023-07-28 字节跳动有限公司 Landmark data acquisition method and landmark building modeling method
KR102242834B1 (en) * 2020-12-28 2021-04-21 하늘지도 주식회사 Apparatus and method for producing three-dimensional mesh map providing object information
CN114419256B (en) * 2022-01-24 2024-01-23 正元地理信息集团股份有限公司 Urban level BIM data light weight method and system based on multistage shell extraction algorithm

Similar Documents

Publication Publication Date Title
KR102050169B1 (en) Spatial indexing method of three dimensional model for 3d map service based on octree structure and method and apparatus for providing 3d map service using the same
US10186083B1 (en) Method and system for navigating in panoramic images using voxel maps
KR102080851B1 (en) Apparatus and method for scheduling of ray tracing
KR100956416B1 (en) 3 dimensional geographical information client apparatus, server apparatus and 3 dimensional geographical information system having the same
US9500487B2 (en) Shortest path determination for large graphs
CN111161428B (en) Three-dimensional map vector tile data generation method, storage medium and terminal
CN111467806A (en) Method, device, medium and electronic equipment for generating resources in game scene
CN102722885A (en) Method for accelerating three-dimensional graphic display
TW201513609A (en) Network visualization systems and methods
CN102779165A (en) Building method of grid map picture base
KR102065273B1 (en) Method and apparatus for automatically generating building element information by meaning for user-customized three-dimensional modeling service
KR102441902B1 (en) Method and apparatus for generating 3D visualization data
CN104700455A (en) Method for visualizing three-dimensional data
US9454554B1 (en) View dependent query of multi-resolution clustered 3D dataset
US12008707B2 (en) Highly scalable cluster engine for hosting simulations of objects interacting within a space
CN111569418A (en) Rendering method, device and medium for content to be output and electronic equipment
JP2015210672A (en) Information processor, control method, program and recording medium
JP6634769B2 (en) Voxel processing method, voxel processing program and information processing apparatus
Guo et al. A balanced decomposition approach to real-time visualization of large vector maps in CyberGIS
RU2610587C2 (en) Method of spatial object storage by means of flexible hierarchical structure and a permanent data medium
KR20190097853A (en) Method for processing 3d data for web service and system using the same
KR101769020B1 (en) Method for generating of lod service data by modelling steps based parallel processing on building modelling data
CN116630552B (en) Optimized rendering method for large-scale three-dimensional process factory model
JP5171904B2 (en) Distributed processing system and distributed processing method
KR102506751B1 (en) 3D object visualization method and apparatus

Legal Events

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