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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000010276 construction Methods 0.000 claims abstract description 7
- 238000012800 visualization Methods 0.000 claims description 39
- 238000009877 rendering Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic 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
Description
본 발명은 옥트리 구조 기반 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.
본 발명은 전술한 종래 기술의 요구에 부응하기 위한 것으로, 데이터 저장 방식의 효율성을 높이고 데이터 로드 속도를 향상시켜 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
좀더 구체적으로 설명하면, 프로세서는 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-
또한, 본 실시예에 따른 인덱싱 방법을 구현하는 프로세서는, 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
해당 빌딩 오브젝트의 건물 정보는 부여받은 인덱스를 포함하여 다른 기본 정보와 함께 데이터베이스에 저장되고, 시각화 뷰어는 이 인덱스를 사용하여 건물들을 가시화할 수 있다.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
이를 위해, 제어부(110)는 적어도 하나 이상의 중앙 처리 장치(CPU)나 코어(core)를 구비한 프로세서나 마이크로프로세서를 포함하고, 제어장치나 연산장치로 지칭될 수 있으며, 저장부(220)에 저장된 프로그램이나 소프트웨어 모듈을 실행하여 3차원 지도 서비스 제공 등과 같은 미리 설정된 기능을 수행할 수 있다.To this end, the
저장부(120)에 저장되고 제어부(110)에 의해 실행되는 소프트웨어 모듈은 분할 모듈(121), 인덱스 생성 모듈(122), 주소 관리 모듈(123), 타일셋 관리 모듈(124), 렌더링 모듈(125), 거리 계산 모듈(126) 및 인터페이스(interface, I/F) 관리 모듈(127)을 포함할 수 있다. 이러한 소프트웨어 모듈은 제어부에 대응하는 프로세서에 탑재되어 해당 기능을 수행하는 구성부에도 대응될 수 있다.The software module stored in the
구체적으로, 분할 모듈(121)은, 3차원 지도데이터의 영역을 옥트리 구조로 분할하기 위한 수단이나 이러한 수단에 상응하는 기능을 수행하는 구성부를 포함할 수 있다. 분할 모듈(121)은 옥트리 구조 또는 옥트리 구조의 영역에 대한 뎁스(depth)를 결정하거나, 결정된 뎁스에 따라 해당 영역을 복수회 분할할 수 있다. 이를 위해, 분할 모듈(122)은 영역 내 가장 높은 건물의 높이를 활용하여 3차원 공간 영역을 계산하는 서브 모듈을 구비할 수 있다.In detail, the
인덱스 생성 모듈(122)은 옥트리 구조의 영역 내 건물별로 소속 옥트리의 영역 인덱스를 부여한다. 인덱스 생성 모듈(122)은 3차원 지도데이터 상에 표현된 각각의 빌딩 오브젝트들에 고유의 인덱스를 부여할 수 있다. 즉, 인덱스 생성 모듈(122)은 3차원 지도데이터 상에서 건물 전체가 포함되는 가장 작은 옥트리 경계(octree boundary) 영역을 찾고 옥트리 구조 내에서의 해당 영역 또는 해당 공간 영역의 인덱스를 해당 빌딩 오브젝트에 부여할 수 있다.The
또한, 인덱스 생성 모듈(122)은 주소 관리 모듈(123)에서 제공하는 3차원 지도데이터 내 건물 오브젝트 등의 주소와 관련되도록 영역 인덱스를 부여할 수 있다. 예를 들면, 주소 관리 모듈(123)에서 관리하는 행정구역 단위로 건물데이터를 그룹화하면, 인덱스 생성 모듈(122)은 주소 관리 모듈(123)로부터 혹은 주소 관리 모듈(123)의 정보에 기초하여 데이터베이스로부터 사용자 요청을 좌표 영역 기반이 아닌 행정구역 기반으로 건물데이터 또는 그룹화된 건물데이터를 받을 수 있다.In addition, the
좀더 설명하면, 주소 관리 모듈(123)은 3차원 지도데이터 내 건물 오브젝트에 대한 행정구역 주소를 관리할 수 있다. 그 경우, 주소 관리 모듈(123)은 인덱스 생성 모듈(122)에서 요청하는 건물 오브젝트의 주소를 추출하여 제공할 수 있다. 거기서, 주소 관리 모듈(123)은 좌표 영역 기반이 아닌 행정구역 기반으로 그룹화된 건물데이터를 생성 및 관리할 수 있다. 주소 관리 모듈(123)은 각각의 행정구역(예컨대, 동, 구 단위 등에서 선택되는 어느 하나)이 인덱싱 영역의 최상위 노드가 되도록 작동할 수 있다. 이러한 구성에 의하면, 사용자에게 좀 더 직관적인 접근을 가능하게 함으로써 사용자 편의성을 크게 향상시킬 수 있다. 더욱이 이러한 구성은 추가적으로 타일셋 관리 모듈(124)와 함께 사용하여 행정구역을 하나의 타일셋으로 구성함으로써 그 성능 및 효과를 극대화할 수 있다.In more detail, the
타일셋 관리 모듈(124)은 동일 인덱스 또는 동일 영역 인덱스를 가진 건물 오브젝트들을 하나의 그룹으로 묶어 관리한다. 타일센 관리 모듈(124)은, 사용자가 위치 및 시점 이동 시에, 렌더링 모듈(125)의 요청에 따라 실시간으로 시각화해야 할 타일셋을 계산하여 추출할 수 있다. 이 경우, 시각화 뷰어는 계산되어 추출된 해당 타일셋에 포함되는 건물 데이터를 로드하여 시각화할 수 있다.The tile set
렌더링 모듈(125)은 시각화 뷰어에서의 신호나 명령에 따라 건물 오브젝트의 적어도 일부를 렌더링하여 출력할 수 있다. 렌더링 모듈(125)은 거리 계산 모듈(126)에서 카메라 시점과의 거리가 일정 거리 이상인 건물 오브젝트에 대한 정보나 신호에 기초하여 해당 건물 오브젝트의 렌더링을 생략하도록 동작할 수 있다. 이러한 렌더링 모듈(125)은 시각화 뷰어 또는 3D 뷰어의 카메라와 동일 인덱스를 가진 타일셋 사이의 거리에 따라 가시화 LOD 레벨을 조절하는 가시화 LOD 레벨 조절 모듈에 대응할 수 있다.The
거리 계산 모듈(126)은 시각화 뷰어 상에서의 사용자 화면의 시점이나 카메라의 위치 정보와, 저장부(120) 또는 데이터베이스에 저장되는 영역의 중심점이나 타일셋의 중심점에 대한 정보에 기초하여 카메라로부터 시각화 대상 건물까지의 거리를 계산할 수 있다. 이러한 거리 정보는 먼 건물 오브젝트와 가까운 건물 오브젝트를 구분하는데 이용되며, 렌더링 모듈(125)에 제공될 수 있다.The
그리고, I/F 관리 모듈(127)은 상기의 거리와 관련된 정보 등을 시각화 뷰어에서 사용자가 직접 조절하거나 설정할 수 있도록 사용자 인터페이스를 관리한다. I/F 관리 모듈(127)은 사용자 인터페이스를 통해 입력되는 조정 정보나 설정 정보를 거리 계산 모듈(126)이나 렌더링 모듈(125) 등에 전달할 수 있다.The I /
전술한 저장부(120)는 옥트리(octree) 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법을 이용하는 3차원 지도 서비스 제공 방법을 구현하는 소프트웨어 모듈 외에 3차원 지도 서비스 제공 장치의 기본적인 동작을 위한 운영체제, 프로그램, 명령어 집합 등을 저장할 수 있다.The
저장부(120)는 비휘발성 랜덤 액세스 메모리(non-volatile RAM, NVRAM), 대표적 휘발성 메모리인 DRAM(dynamic random access memory) 등의 반도체 메모리, 하드디스크 드라이브(hard disk drive, HDD), 광 저장 장치, 플래시 메모리, 클라우드 저장 시스템 또는 이들의 조합을 포함할 수 있다.The
소프트웨어 모듈은 프로그램이나 소프트웨어 형태로 별도의 컴퓨터 판독 가능 매체(기록매체)에 저장되고 필요에 따라 컴퓨팅 장치에 로딩된 후 제어부(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
또한, 컴퓨터 판독 가능 매체는 롬(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
통신부(130)는 네트워크를 통해 3차원 지도 서비스 제공 장치(100)와 사용자 단말, 클라이언트 단말, 관광업체 서버, 게임업체 서버, 영화업체 서버, 공연업체 서버 등을 연결하기 위하여 하나 이상의 통신 프로토콜을 지원하는 적어도 하나 이상의 유선 및/또는 무선 서브통신시스템을 구비할 수 있다.The
입출력 장치(140)는 키보드, 마우스, 마이크, 터치패드, 터치패널, 디스플레이 장치, 스피커 등을 포함할 수 있다. 입출력 장치(140)는 유선 또는 무선으로 제어부(110)에 연결될 수 있다. 광의의 개념에서 입출력 장치(140)는 3차원 서비스 제공 장치에 포함될 수 있다.The input /
전술한 실시예에서 제어부(110)는 3차원 지도 서비스 제공을 위한 GIS 응용 서버에 대응되고, 저장부(120)는 데이터 파일을 저장 및 관리하는 데이터베이스(database, DB) 시스템에 대응될 수 있다. 그 경우, 데이터베이스 시스템과 GIS 응용 서버에는 GIS 데이터 서버가 배치되어 이들 사이의 신호 및 데이터의 송수신을 처리하도록 구현될 수 있다.In the above-described embodiment, the
또한, 구현에 따라서 제어부(110)는 GIS 웹 서비스 서버 또는 웹 서버로 구현되고, 저장부(120)는 웹 서버에 연결된 GIS 데이터 시스템에 포함되는 DB 서버로 구현될 수 있다.In addition, according to the implementation, the
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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)
영역의 경계(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.
상기 분할하는 단계는,
상기 옥트리 구조의 영역 내 가장 높은 건물의 높이를 활용하여 각 영역 내 건물 오브젝트가 차지하는 바닥면적, 부피 또는 비율을 계산하는 단계; 및
상기 바닥면적, 부피 또는 비율에 기초하여 상기 옥트리 구조 내 어느 하나 이상의 영역 각각을 동일한 크기나 부피를 갖는 복수의 서브 영역들로 분할하는 단계를 더 포함하는 것을 특징으로 하는 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.
상기 시각화 요청 대상인 타일셋과 상기 다른 타일셋을 판단하는 기준은 상기 카메라와 시각화 요청 타일셋의 중심점 사이의 거리로 구분되어 시각화해야 할 타일셋을 판단하는 것을 특징으로 하는 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.
프로그램이나 소프트웨어 모듈을 저장하는 저장부(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.
상기 분할 모듈(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.
상기 렌더링 모듈(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.
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)
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)
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 |
-
2018
- 2018-09-20 KR KR1020180113230A patent/KR102050169B1/en active IP Right Grant
Patent Citations (5)
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)
Title |
---|
김지은, "BIM on GIS 상호운용성 기술 및 응용 사례", 한국건설기술연구원 ICT융합연구소 (2015.11.20.) 1부.* * |
Cited By (6)
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 |