KR102709406B1 - How to visualize image tile data from a web map tile service by clipping it to a custom region - Google Patents
How to visualize image tile data from a web map tile service by clipping it to a custom region Download PDFInfo
- Publication number
- KR102709406B1 KR102709406B1 KR1020240037601A KR20240037601A KR102709406B1 KR 102709406 B1 KR102709406 B1 KR 102709406B1 KR 1020240037601 A KR1020240037601 A KR 1020240037601A KR 20240037601 A KR20240037601 A KR 20240037601A KR 102709406 B1 KR102709406 B1 KR 102709406B1
- Authority
- KR
- South Korea
- Prior art keywords
- tile
- clipping
- user
- area
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 244000240602 cacao Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/909—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법에 관한 것으로서, 상세하게는 쿼드트리 인덱싱 시스템과 HTML Canvas 요소를 활용하여 타일 기반 지도 데이터의 효율적인 관리 및 렌더링을 수행하는 기술에 관한 것이다.
본 발명에 의하면, 공간정보시스템(GIS)에서 타일 이미지 형식의 데이터 레이어를 효과적으로 클리핑하고 시각화할 수 있는 알고리즘을 제공한다. The present invention relates to a method for visualizing image tile data of a web map tile service by clipping it into a user-defined area, and more particularly, to a technology for efficiently managing and rendering tile-based map data by utilizing a quadtree indexing system and an HTML Canvas element.
According to the present invention, an algorithm capable of effectively clipping and visualizing a data layer in a tile image format in a spatial information system (GIS) is provided.
Description
본 발명은 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법에 관한 것으로서, 상세하게는 쿼드트리 인덱싱 시스템과 HTML Canvas 요소를 활용하여 타일 기반 지도 데이터의 효율적인 관리 및 렌더링을 수행하는 기술에 관한 것이다.The present invention relates to a method for visualizing image tile data of a web map tile service by clipping it into a user-defined area, and more particularly, to a technology for efficiently managing and rendering tile-based map data by utilizing a quadtree indexing system and an HTML Canvas element.
상기 HTML Canvas란, 웹 페이지에서 그래픽을 그리기 위한 HTML 요소이며, Canvas는 JavaScript를 사용하여 그래픽, 애니메이션, 게임 등 다양한 시각적 요소를 동적으로 렌더링할 수 있는 도구이다.The above HTML Canvas is an HTML element for drawing graphics on web pages, and Canvas is a tool that can dynamically render various visual elements such as graphics, animations, and games using JavaScript.
지리 정보 시스템(GIS: Geographic Information System)은 지리 공간 데이터를 분석하고 가공하여, 지형 관련 분야(예를 들어, 건설, 교통, 통신 등)에 활용할 수 있는 시스템이다. A Geographic Information System (GIS) is a system that analyzes and processes geographic spatial data and can be used in geography-related fields (e.g., construction, transportation, communications, etc.).
즉, 지리 정보 시스템은 일반 지도와 같은 지형 정보와 함께 지하 시설물 등 관련 정보를 수집하여, 사용자들이 관련 정보를 검색, 분석할 수 있도록 제공하는 복합적인 시스템이다.In other words, a geographic information system is a complex system that collects related information, such as underground facilities, along with topographic information, such as general maps, and provides it to users so that they can search and analyze the related information.
이러한 지리 정보 시스템은 일반적으로 클라이언트와 서버 구조로 구성된다.These geographic information systems typically consist of a client and server architecture.
클라이언트는 GIS 서버에 접근하여 GIS 서버로부터 특정 서비스를 위한 지리 정보를 수신하여 웹 상에 관련 지도를 표시한다.The client accesses the GIS server, receives geographic information for a specific service from the GIS server, and displays the relevant map on the web.
종래에는 GIS 서버에서 제공하는 관련 정보의 이미지가 단순히 2D 이미지 형식이므로, 사용자가 해당 이미지를 보며 현장의 구조물을 이해하고 파악하는데 어려움이 있었다. Previously, images of related information provided by GIS servers were simply 2D images, making it difficult for users to understand and identify on-site structures by looking at the images.
따라서, 3차원 공간 정보가 지닌 한계를 극복하기 위해 현실 공간과 유사한 3차원 공간 정보 구축의 필요성이 대두되고 있다.Therefore, the need to build 3D spatial information similar to real space is emerging to overcome the limitations of 3D spatial information.
그러나, 현재 웹을 통하여 제공되는 공간 정보의 경우, 지형 지물을 실제적으로 표출하는데 한계가 있다. However, spatial information currently provided through the web has limitations in actually displaying terrain features.
특히, 3차원 공간 정보 구축의 경우 소프트웨어 및 하드웨어의 제약으로 인해 구현 및 처리 속도 등의 한계를 가져 수요자를 만족시킬 수 없었다.In particular, in the case of constructing 3D spatial information, it was not possible to satisfy users due to limitations in implementation and processing speed due to software and hardware constraints.
즉, 공간 정보를 구축하고 웹을 통해 지리 정보 시스템을 제공하기 위해 다양한 경로로 수집된 3차원 모델 파일은 수백 MByte에서 수 GByte에 해당한다. That is, 3D model files collected through various routes to build spatial information and provide geographic information systems via the web range from hundreds of MBytes to several GBytes.
따라서, 단순히 3차원 모델 파일을 웹 상에서 읽어 들이는데도 상당한 시간이 소요된다.Therefore, simply reading a 3D model file from the web takes a considerable amount of time.
구체적으로, 웹 지도 서비스는 인터넷을 통해 지도 데이터를 제공하는 서비스로, 사용자는 웹 브라우저를 통해 지도를 확인하고 탐색할 수 있다. Specifically, a web map service is a service that provides map data via the Internet, allowing users to view and explore maps via a web browser.
웹 지도 서비스는 대용량의 지도 데이터를 효과적으로 관리하고 전송하기 위해 타일 기반의 데이터 구조를 사용한다. Web map services use tile-based data structures to effectively manage and transmit large amounts of map data.
지도 타일은 일정한 크기의 격자 형태로 분할된 지도 이미지로, 사용자의 요청에 따라 선택적으로 전송되어 지도를 구성하게 된다. Map tiles are map images divided into grids of a certain size, and are selectively transmitted to form a map according to the user's request.
그러나, 기존의 웹 지도 타일 서비스는 사용자가 관심 있는 특정 지역의 데이터만을 선택적으로 활용하는데 제한이 있었다. However, existing web map tile services have limitations in selectively utilizing data only for specific areas of interest to users.
전체 지도 영역을 대상으로 타일이 생성되고 전송되기 때문에, 불필요한 데이터 처리로 인한 자원 낭비와 성능 저하의 문제가 발생할 수 있다. Since tiles are generated and transmitted for the entire map area, problems such as resource waste and performance degradation due to unnecessary data processing may occur.
또한, 타일 단위의 데이터 구조 특성상 임의의 영역을 대상으로 한 부분 데이터의 추출 및 시각화에 어려움이 있었다. In addition, due to the nature of the tile-based data structure, it was difficult to extract and visualize partial data targeting an arbitrary area.
이에 본 발명은 웹 지도 타일 서비스에서 사용자 정의 영역에 대한 이미지 타일 데이터 레이어의 효과적인 클리핑 및 시각화 방법을 제안하고자 한다.Accordingly, the present invention proposes an effective clipping and visualization method of an image tile data layer for a user-defined area in a web map tile service.
따라서, 본 발명은 상기 종래의 문제점을 해소하기 위해 안출된 것으로,Therefore, the present invention has been devised to solve the above-mentioned conventional problems.
본 발명의 목적은 웹 지도 타일 서비스에서 사용자 정의 영역에 대한 이미지 타일 데이터 레이어를 효율적으로 클리핑하여 시각화할 수 있는 방법을 제공하는 데 있다. An object of the present invention is to provide a method for efficiently clipping and visualizing an image tile data layer for a user-defined area in a web map tile service.
이를 위해 본 발명은 쿼드트리 기반의 타일 인덱싱을 수행하여 지도 타일 데이터를 효과적으로 관리하고, HTML Canvas 요소를 활용하여 사용자 정의 영역 내의 타일만을 선택적으로 렌더링하는 클리핑 기법을 적용한다.To this end, the present invention effectively manages map tile data by performing quadtree-based tile indexing, and applies a clipping technique that selectively renders only tiles within a user-defined area by utilizing an HTML Canvas element.
본 발명이 해결하고자 하는 과제를 달성하기 위하여,In order to achieve the problem that the present invention seeks to solve,
본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법은,A method for visualizing image tile data of a web map tile service according to one embodiment of the present invention by clipping it to a user-defined area is provided.
쿼드트리 기반의 타일 인덱싱 정보 및 좌표 변환 파라미터를 계산하는 계산단계(S100);와A calculation step (S100) for calculating tile indexing information and coordinate transformation parameters based on a quadtree; and
사용자로부터 클리핑 대상이 되는 지리 영역의 공간 객체 정보를 입력받는 입력단계(S200);와An input step (S200) for receiving spatial object information of a geographic area to be clipped from a user; and
HTML Canvas 요소를 생성하고, 상기 입력된 공간 객체 정보를 기반으로 클리핑 영역을 설정하는 클리핑영역설정단계(S300);와 A clipping area setting step (S300) for creating an HTML Canvas element and setting a clipping area based on the input spatial object information; and
상기 쿼드트리 기반의 타일 인덱싱 정보와 좌표 변환 파라미터를 이용하여, 상기 사용자 정의 영역과 겹치는 타일 이미지를 선별하여 HTML Canvas 상에 렌더링하는 렌더링단계(S400);를 포함함으로써, 본 발명의 과제를 해결하게 된다.The present invention solves the problem by including a rendering step (S400) of selecting a tile image overlapping the user-defined area and rendering it on an HTML Canvas using the above quadtree-based tile indexing information and coordinate transformation parameters.
본 발명인 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법은, 다음과 같은 효과의 현저성을 제공하게 된다.The method of visualizing image tile data of the web map tile service of the present invention by clipping it to a user-defined area provides the following salience of effects.
즉, 공간정보시스템(GIS)에서 타일 이미지 형식의 데이터 레이어를 효과적으로 클리핑하고 시각화할 수 있는 알고리즘을 제공한다. That is, it provides an algorithm that can effectively clip and visualize data layers in tile image format in a spatial information system (GIS).
이를 통해 GIS의 성능과 사용성을 향상시킬 수 있다. This can improve the performance and usability of GIS.
구체적으로, 본 발명은 사용자가 관심 있는 특정 영역이나 범위에 대한 데이터만을 선택적으로 확인하고 분석할 수 있도록 지원한다. Specifically, the present invention supports users to selectively check and analyze only data for a specific area or range of interest.
이는 대용량 데이터를 처리할 때 벡터 방식의 성능 한계를 극복하고, 사용자의 데이터 분석 효율성을 높이는 데 기여한다. This helps overcome the performance limitations of vector methods when processing large amounts of data and improves the efficiency of users' data analysis.
또한, 본 발명은 타일 이미지 방식에서 클리핑 기능을 구현함으로써, GIS의 활용 범위를 확장하고, 다양한 분야에서의 응용 가능성을 열어준다. In addition, the present invention expands the scope of utilization of GIS and opens up application possibilities in various fields by implementing a clipping function in a tile image manner.
이는 GIS 기술의 발전과 사용자 편의성 증대에 기여할 것으로 기대된다.It is expected that this will contribute to the development of GIS technology and increased user convenience.
도 1은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법을 수행하는 장치 블록도이다.
도 2는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 타일 레벨에 따른 타일 개수와 해상도의 변화를 시각적으로 표현한 그래프이다.
도 4는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 쿼드트리 시스템을 이용한 웹 지도 타일 서비스(WMTS)의 작동 방식을 나타낸 예시도이다.
도 5는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Web Map Tile Service (WMTS)에서 사용되는 Google Mercator Projection을 나타낸 예시도이다.
도 6은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 clip메서드 결과 예시도이다.
도 7은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 타일 인덱싱 예시도이며, 도 8은 UTM상 타일의 크기와 위치를 나타낸 예시도이다.
도 9 내지 도 11은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Clipping 기법을 적용할 경우에 출력되는 결과물 예시도이다.
도 12는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Clipping 기법의 알고리즘 의사코드 예시도이다.FIG. 1 is a block diagram of a device for performing a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
FIG. 2 is a flowchart illustrating a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
FIG. 3 is a graph visually representing changes in the number of tiles and resolution according to the tile level in a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to an embodiment of the present invention.
FIG. 4 is an exemplary diagram showing the operation of a web map tile service (WMTS) using a quadtree system for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
FIG. 5 is an exemplary diagram showing the Google Mercator Projection used in the Web Map Tile Service (WMTS) of a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
FIG. 6 is an example of the result of a clip method of a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
FIG. 7 is an example diagram of tile indexing for a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to an embodiment of the present invention, and FIG. 8 is an example diagram showing the size and position of a tile on a UTM.
FIGS. 9 to 11 are examples of results output when applying a clipping technique of a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to an embodiment of the present invention.
FIG. 12 is an example of an algorithm pseudocode of a clipping technique for visualizing image tile data of a web map tile service according to an embodiment of the present invention by clipping it to a user-defined area.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만, 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. The following merely illustrates the principles of the present invention. Therefore, those skilled in the art will be able to invent various devices that implement the principles of the present invention and are included within the concept and scope of the present invention, even though they are not explicitly described or illustrated in the specification.
또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.Furthermore, it should be understood that all conditional terms and embodiments listed in this specification are, in principle, expressly intended only for the purpose of making the concept of the present invention understood, and are not limited to the embodiments and conditions specifically listed as such.
본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법은,A method for visualizing image tile data of a web map tile service according to one embodiment of the present invention by clipping it to a user-defined area is provided.
계산부(100)가 쿼드트리 기반의 타일 인덱싱 정보 및 좌표 변환 파라미터를 계산하는 계산단계(S100);와A calculation step (S100) in which a calculation unit (100) calculates tile indexing information and coordinate transformation parameters based on a quadtree; and
입력부(200)가 사용자로부터 클리핑 대상이 되는 지리 영역의 공간 객체 정보를 입력받는 입력단계(S200);와An input step (S200) in which the input unit (200) receives spatial object information of a geographic area to be clipped from the user; and
클리핑영역설정부(300)가 HTML Canvas 요소를 생성하고, 상기 입력된 공간 객체 정보를 기반으로 클리핑 영역을 설정하는 클리핑영역설정단계(S300);와 A clipping area setting step (S300) in which a clipping area setting unit (300) creates an HTML Canvas element and sets a clipping area based on the input spatial object information; and
렌더링부(400)가 상기 쿼드트리 기반의 타일 인덱싱 정보와 좌표 변환 파라미터를 이용하여, 상기 사용자 정의 영역과 겹치는 타일 이미지를 선별하여 HTML Canvas 상에 렌더링하는 렌더링단계(S400);를 포함하는 것을 특징으로 한다.It is characterized in that it includes a rendering step (S400) in which the rendering unit (400) selects a tile image overlapping the user-defined area using the quadtree-based tile indexing information and coordinate transformation parameters and renders it on an HTML Canvas.
이때, 상기 계산단계(S100)는,At this time, the above calculation step (S100) is
계산부(100)가 지도 데이터의 공간 좌표계와 타일 레벨에 따른 타일의 고유 식별자와 경계 좌표 정보를 계산하는 경계좌표계산단계(S110);A boundary coordinate calculation step (S110) in which a calculation unit (100) calculates a unique identifier and boundary coordinate information of a tile according to the spatial coordinate system of map data and the tile level;
계산부(100)가 타일 크기, 해상도 등 클리핑에 필요한 좌표 변환 파라미터를 타일 레벨에 따라 계산하는 타일레벨계산단계(S120);를 포함하는 것을 특징으로 한다.It is characterized in that the calculation unit (100) includes a tile level calculation step (S120) in which coordinate transformation parameters required for clipping, such as tile size and resolution, are calculated according to the tile level.
이때, 상기 입력단계(S200)는,At this time, the input step (S200)
입력부(200)가 클리핑 대상이 되는 지리 영역을 폴리곤, 원, 사각형 등의 공간 객체로 입력받는 공간객체입력단계(S210);A spatial object input step (S210) in which the input unit (200) receives a geographic area to be clipped as a spatial object such as a polygon, circle, or square;
입력부(200)가 상기 입력된 공간 객체의 좌표 정보를 지도 좌표계로 변환하는 지도좌표계변환단계(S220);를 포함하는 것을 특징으로 한다.It is characterized in that the input unit (200) includes a map coordinate system conversion step (S220) that converts the coordinate information of the input spatial object into a map coordinate system.
이때, 상기 렌더링단계(S400)는,At this time, the rendering step (S400)
렌더링부(400)가 사용자 정의 영역과 겹치는 타일을 상기 계산단계(S100)에서 계산된 쿼드트리 기반의 타일 인덱싱 정보를 이용하여 선별하는 타일선별단계(S410);A tile selection step (S410) in which the rendering unit (400) selects tiles overlapping with the user-defined area using the quadtree-based tile indexing information calculated in the calculation step (S100);
렌더링부(400)가 선별된 타일 이미지를 불러와 타일 좌표를 캔버스 좌표계로 변환하는 캔버스좌표계변환단계(S420); A canvas coordinate system conversion step (S420) in which the rendering unit (400) loads the selected tile image and converts the tile coordinates into the canvas coordinate system;
렌더링부(400)가 좌표 변환된 타일 이미지를 HTML Canvas 상에서 클리핑 영역에 맞게 렌더링하는 클리핑영역렌더링단계(S430);를 포함하는 것을 특징으로 한다.It is characterized in that the rendering unit (400) includes a clipping area rendering step (S430) for rendering a coordinate-converted tile image on an HTML Canvas to fit the clipping area.
이하, 본 발명에 의한 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 실시예를 통해 상세히 설명하도록 한다.Hereinafter, a method for visualizing image tile data of a web map tile service according to the present invention by clipping it to a user-defined area will be described in detail through an embodiment.
도 1은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법을 수행하는 장치 블록도이다.FIG. 1 is a block diagram of a device for performing a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법을 나타낸 흐름도이다.FIG. 2 is a flowchart illustrating a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 타일 레벨에 따른 타일 개수와 해상도의 변화를 시각적으로 표현한 그래프이다.FIG. 3 is a graph visually representing changes in the number of tiles and resolution according to the tile level in a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 쿼드트리 시스템을 이용한 웹 지도 타일 서비스(WMTS)의 작동 방식을 나타낸 예시도이다.FIG. 4 is an exemplary diagram showing the operation of a web map tile service (WMTS) using a quadtree system for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Web Map Tile Service (WMTS)에서 사용되는 Google Mercator Projection을 나타낸 예시도이다.FIG. 5 is an exemplary diagram showing the Google Mercator Projection used in the Web Map Tile Service (WMTS) of a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 clip메서드 결과 예시도이다.FIG. 6 is an example of the result of a clip method of a method for visualizing image tile data of a web map tile service by clipping it to a user-defined area according to one embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 타일 인덱싱 예시도이며, 도 8은 UTM상 타일의 크기와 위치를 나타낸 예시도이다.FIG. 7 is an example diagram of tile indexing for a method of visualizing image tile data of a web map tile service by clipping it to a user-defined area according to an embodiment of the present invention, and FIG. 8 is an example diagram showing the size and position of a tile on a UTM.
도 9 내지 도 11은 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Clipping 기법을 적용할 경우에 출력되는 결과물 예시도이다.FIGS. 9 to 11 are examples of results output when applying a clipping technique for visualizing image tile data of a web map tile service according to an embodiment of the present invention by clipping it to a user-defined area.
도 12는 본 발명의 일실시예에 따른 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법의 Clipping 기법의 알고리즘 의사코드 예시도이다.FIG. 12 is an example of an algorithm pseudocode of a clipping technique for visualizing image tile data of a web map tile service according to an embodiment of the present invention by clipping it to a user-defined area.
도 2에 도시한 바와 같이, 본 발명인 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법은,As illustrated in Fig. 2, a method of visualizing image tile data of a web map tile service of the present invention by clipping it to a user-defined area is provided.
계산부(100)가 쿼드트리 기반의 타일 인덱싱 정보 및 좌표 변환 파라미터를 계산하는 계산단계(S100);와A calculation step (S100) in which a calculation unit (100) calculates tile indexing information and coordinate transformation parameters based on a quadtree; and
입력부(200)가 사용자로부터 클리핑 대상이 되는 지리 영역의 공간 객체 정보를 입력받는 입력단계(S200);와An input step (S200) in which the input unit (200) receives spatial object information of a geographic area to be clipped from the user; and
클리핑영역설정부(300)가 HTML Canvas 요소를 생성하고, 상기 입력된 공간 객체 정보를 기반으로 클리핑 영역을 설정하는 클리핑영역설정단계(S300);와 A clipping area setting step (S300) in which a clipping area setting unit (300) creates an HTML Canvas element and sets a clipping area based on the input spatial object information; and
렌더링부(400)가 상기 쿼드트리 기반의 타일 인덱싱 정보와 좌표 변환 파라미터를 이용하여, 상기 사용자 정의 영역과 겹치는 타일 이미지를 선별하여 HTML Canvas 상에 렌더링하는 렌더링단계(S400);를 포함하는 것을 특징으로 한다.It is characterized in that it includes a rendering step (S400) in which the rendering unit (400) selects a tile image overlapping the user-defined area using the quadtree-based tile indexing information and coordinate transformation parameters and renders it on an HTML Canvas.
구체적으로 설명하자면, 상기 계산단계(S100)는 계산부(100)가 쿼드트리 기반의 타일 인덱싱 정보 및 좌표 변환 파라미터를 계산하는 과정이다.To explain specifically, the above calculation step (S100) is a process in which the calculation unit (100) calculates quadtree-based tile indexing information and coordinate transformation parameters.
상기 과정을 거치기 위하여, 계산단계(S100)는,In order to go through the above process, the calculation step (S100) is
지도 데이터의 공간 좌표계와 타일 레벨에 따른 타일의 고유 식별자와 경계 좌표 정보를 계산하는 경계좌표계산단계(S110);A boundary coordinate calculation step (S110) for calculating a unique identifier and boundary coordinate information of a tile according to the spatial coordinate system of map data and the tile level;
타일 크기, 해상도 등 클리핑에 필요한 좌표 변환 파라미터를 타일 레벨에 따라 계산하는 타일레벨계산단계(S120);를 포함하는 것을 특징으로 한다.It is characterized by including a tile level calculation step (S120) for calculating coordinate transformation parameters required for clipping, such as tile size and resolution, according to the tile level.
즉, 주어진 지도 데이터의 공간 좌표계(e.g., WGS84, Web Mercator)와 타일 레벨(Zoom Level)에 따른 쿼드트리 기반의 타일 인덱싱을 수행한다. That is, it performs quadtree-based tile indexing according to the spatial coordinate system (e.g., WGS84, Web Mercator) and tile level (Zoom Level) of the given map data.
이를 통해 각 타일의 고유 식별자(Tile ID)와 경계 좌표(Bounding Box) 정보를 계산한다.(S110)Through this, the unique identifier (Tile ID) and boundary coordinates (Bounding Box) information of each tile are calculated. (S110)
또한, 타일 크기(Tile Size), 해상도(Resolution) 등 클리핑에 필요한 좌표 변환 파라미터를 타일 레벨에 따라 계산한다.(S120)In addition, coordinate transformation parameters required for clipping, such as tile size and resolution, are calculated according to the tile level. (S120)
일반적으로, 지구를 평면으로 표현하는 방법을 좌표계(Coordinate Reference Systems)라고 한다.In general, the method of representing the Earth as a flat surface is called a coordinate reference system.
투영좌표계(Projected CRS)는 어떤 좌표에 대해서 원점으로서의 거리로 X, Y, Z좌표로 나타내며, UTM(Universal Transverse Mercator) 좌표계는 투영좌표계의 하나로 적도선에서 특정 점을 영점으로 하는 좌표계이다.Projected CRS is a coordinate system that expresses the distance as the origin for a certain coordinate as X, Y, Z coordinates, and the UTM (Universal Transverse Mercator) coordinate system is a type of projected coordinate system that uses a specific point on the equator as the zero point.
예를 들어, 구글 지도는 Google Mercator Projection(EPSG:3857 또는 EPSG:900913)을 사용하고, 네이버 지도는 UTM-K(EPSG:5179), 카카오맵은 GRS80(EPSG:42310)을 사용한다.For example, Google Maps uses Google Mercator Projection (EPSG:3857 or EPSG:900913), Naver Maps uses UTM-K (EPSG:5179), and Kakao Maps uses GRS80 (EPSG:42310).
도 5는 지구를 EPSG:3857로 투영한 모습이다. Figure 5 shows the Earth projected in EPSG:3857.
EPSG:3857의 BOUND는 오른쪽상단(East, North)는 maxX(20037508.34278924m), maxY(20037508.34278924m)이며, 왼쪽하단(West, South)는 minX(-20037508.34278924m), minY(-20037508.34278924m)이다.The BOUND of EPSG:3857 is maxX(20037508.34278924m), maxY(20037508.34278924m) at the upper right (East, North), and minX(-20037508.34278924m), minY(-20037508.34278924m) at the lower left (West, South).
또한, 타일의 고유 식별자(Tile ID)는 타일의 레벨(Level)과 X, Y 좌표를 이용하여 하기와 같이 계산될 수 있다.Additionally, the unique identifier of a tile (Tile ID) can be calculated using the level and X, Y coordinates of the tile as follows.
Tile ID = (Level, X, Y)Tile ID = (Level, X, Y)
여기서, 특정 레벨 L에서의 타일의 X, Y 좌표는 다음의 수식을 통해 계산되게 된다.Here, the X, Y coordinates of the tile at a specific level L are calculated using the following formula.
X = floor((lon + 180) / 360 * 2^L)X = floor((lon + 180) / 360 * 2^L)
Y = floor((1 - log(tan(lat * pi/180) + 1 / cos(lat * pi/180)) / pi) / 2 * 2^L)Y = floor((1 - log(tan(lat * pi/180) + 1 / cos(lat * pi/180)) / pi) / 2 * 2^L)
이때, lon과 lat은 각각 타일의 중심점의 경도와 위도를 의미하며, L은 타일의 레벨을 나타낸다.Here, lon and lat represent the longitude and latitude of the center point of the tile, respectively, and L represents the level of the tile.
예를 들어, 레벨 14에서 경도 127.0, 위도 37.5에 해당하는 타일의 Tile ID는 하기와 같이 계산될 수 있다.For example, at level 14, the Tile ID for the tile at longitude 127.0 and latitude 37.5 can be calculated as follows:
X = floor((127.0 + 180) / 360 * 2^14) = 13971X = floor((127.0 + 180) / 360 * 2^14) = 13971
Y = floor((1 - log(tan(37.5 * pi/180) + 1 / cos(37.5 * pi/180)) / pi) / 2 * 2^14) = 6348Y = floor((1 - log(tan(37.5 * pi/180) + 1 / cos(37.5 * pi/180)) / pi) / 2 * 2^14) = 6348
Tile ID = (14, 13971, 6348)Tile ID = (14, 13971, 6348)
그리고, 상기 입력단계(S200)는 입력부(200)가 사용자로부터 클리핑 대상이 되는 지리 영역의 공간 객체 정보를 입력받는 과정이다.And, the above input step (S200) is a process in which the input unit (200) receives spatial object information of a geographic area to be clipped from the user.
상기 과정을 거치기 위하여, 입력단계(S200)는,In order to go through the above process, the input step (S200) is
입력부(200)가 클리핑 대상이 되는 지리 영역을 폴리곤, 원, 사각형 등의 공간 객체로 입력받는 공간객체입력단계(S210);A spatial object input step (S210) in which the input unit (200) receives a geographic area to be clipped as a spatial object such as a polygon, circle, or square;
입력부(200)가 상기 입력된 공간 객체의 좌표 정보를 지도 좌표계로 변환하는 지도좌표계변환단계(S220);를 포함하는 것을 특징으로 한다.It is characterized in that the input unit (200) includes a map coordinate system conversion step (S220) that converts the coordinate information of the input spatial object into a map coordinate system.
그리고, 상기 클리핑영역설정단계(S300)는 클리핑영역설정부(300)가 HTML Canvas 요소를 생성하고, 상기 입력된 공간 객체 정보를 기반으로 클리핑 영역을 설정하는 과정이다.And, the clipping area setting step (S300) is a process in which the clipping area setting unit (300) creates an HTML Canvas element and sets a clipping area based on the input spatial object information.
그리고, 상기 렌더링단계(S400)는,And, the above rendering step (S400) is
렌더링부(400)가 사용자 정의 영역과 겹치는 타일을 상기 계산단계(S100)에서 계산된 쿼드트리 기반의 타일 인덱싱 정보를 이용하여 선별하는 타일선별단계(S410);A tile selection step (S410) in which the rendering unit (400) selects tiles overlapping with the user-defined area using the quadtree-based tile indexing information calculated in the calculation step (S100);
렌더링부(400)가 선별된 타일 이미지를 불러와 타일 좌표를 캔버스 좌표계로 변환하는 캔버스좌표계변환단계(S420); A canvas coordinate system conversion step (S420) in which the rendering unit (400) loads the selected tile image and converts the tile coordinates into the canvas coordinate system;
렌더링부(400)가 좌표 변환된 타일 이미지를 HTML Canvas 상에서 클리핑 영역에 맞게 렌더링하는 클리핑영역렌더링단계(S430);를 포함하는 것을 특징으로 한다.It is characterized in that the rendering unit (400) includes a clipping area rendering step (S430) for rendering a coordinate-converted tile image on an HTML Canvas to fit the clipping area.
이때, 상기 타일 이미지의 캔버스 상 좌표는 하기의 수식을 통해 계산될 수 있다.At this time, the coordinates of the tile image on the canvas can be calculated using the following formula.
canvas_x = (tile_x - tile_min_x) * tile_widthcanvas_x = (tile_x - tile_min_x) * tile_width
canvas_y = (tile_y - tile_min_y) * tile_heightcanvas_y = (tile_y - tile_min_y) * tile_height
이때, tile_x와 tile_y는 렌더링할 타일의 X, Y 좌표이며, tile_min_x와 tile_min_y는 사용자 정의 영역을 포함하는 타일들 중 최소의 X, Y 좌표이다.Here, tile_x and tile_y are the X, Y coordinates of the tile to be rendered, and tile_min_x and tile_min_y are the minimum X, Y coordinates of the tiles that contain the user-defined area.
또한, tile_width와 tile_height는 각각 타일의 가로, 세로 크기를 나타낸다.Additionally, tile_width and tile_height represent the width and height of the tile, respectively.
예를 들어, 사용자 정의 영역이 (14, 13968, 6346) ~ (14, 13973, 6550)의 타일 범위를 포함한다고 가정할 때, (14, 13971, 6348) 타일의 캔버스 상 좌표는 하기와 같이 계산될 수 있다.For example, assuming that the custom region contains the tile range from (14, 13968, 6346) to (14, 13973, 6550), the canvas coordinates of the tile (14, 13971, 6348) can be computed as follows.
tile_min_x = 13968tile_min_x = 13968
tile_min_y = 6346tile_min_y = 6346
tile_width = 256tile_width = 256
tile_height = 256tile_height = 256
canvas_x = (13971 - 13968) * 256 = 768canvas_x = (13971 - 13968) * 256 = 768
canvas_y = (6348 - 6346) * 256 = 512canvas_y = (6348 - 6346) * 256 = 512
따라서, (14, 13971, 6348) 타일 이미지는 캔버스의 (768, 512) 위치에 렌더링되어야 하는 것이다.Therefore, the (14, 13971, 6348) tile image should be rendered at position (768, 512) on the canvas.
상기와 같이, 본 발명에서는 수식과 예시를 통해 타일 인덱싱 및 좌표 변환 과정을 보다 명확히 설명하고 있다. As described above, the present invention more clearly explains the tile indexing and coordinate transformation process through formulas and examples.
이를 통해 당업자라면 본 발명의 기술적 사상을 쉽게 이해하고 재현할 수 있을 것이다.Through this, those skilled in the art will be able to easily understand and reproduce the technical idea of the present invention.
도 3에 도시한 바와 같이, 그래프의 X축은 타일 레벨을 나타내며, Y축은 각각 타일 개수와 해상도를 나타낸다. As shown in Figure 3, the X-axis of the graph represents the tile level, and the Y-axis represents the number of tiles and the resolution, respectively.
또한, Y축은 로그 스케일로 표현되어 변화율을 보다 명확히 볼 수 있다.Additionally, the Y-axis is expressed in a logarithmic scale to allow for a clearer view of the rate of change.
상기 그래프들은 웹 지도 타일 서비스에서 타일 레벨에 따른 타일 개수와 해상도의 변화를 시각적으로 표현함으로써, 사용자가 적절한 타일 레벨을 선택하는 데 도움을 줄 수 있다. The above graphs can help users select an appropriate tile level by visually representing the change in the number of tiles and resolution according to the tile level in a web map tile service.
또한, 이는 본 발명의 클리핑 방법에서 타일 인덱싱 및 좌표 변환 과정을 이해하는 데에도 유용한 참고 자료가 될 수 있다.Additionally, this can be a useful reference for understanding the tile indexing and coordinate transformation processes in the clipping method of the present invention.
도 4의 경우, 쿼드트리 시스템을 이용한 웹 지도 타일 서비스(WMTS)의 작동 방식을 보여주고 있으며, 이미지의 주요 구성 요소는 하기와 같다.In the case of Fig. 4, the operation of the Web Map Tile Service (WMTS) using the quadtree system is shown, and the main components of the image are as follows.
지구의 경우, 지구는 구체이지만 이미지에서는 평면으로 표현되게 된다.In the case of the Earth, the Earth is a sphere, but in images it is represented as a flat surface.
쿼드트리의 경우, 쿼드트리는 지구를 4개의 하위 타일로 반복적으로 분할하는 시스템이다.In the case of a quadtree, a quadtree is a system that repeatedly divides the Earth into four sub-tiles.
타일의 경우, 타일은 쿼드트리 시스템에서 분할된 각 영역을 나타낸다.For tiles, a tile represents each region divided in a quadtree system.
줌 레벨의 경우, 줌 레벨은 지도의 확대/축소 수준을 나타내고, 줌 레벨이 높을수록 더 세밀한 타일이 표시되게 된다.For zoom levels, the zoom level indicates the zoom level of the map, and the higher the zoom level, the more detailed the tiles will be displayed.
폴리곤(Polygon)과 마스크 폴리곤(Mask Polygon)은 컴퓨터 그래픽스와 이미지 처리 분야에서 사용되는 중요한 개념이다.Polygons and mask polygons are important concepts used in computer graphics and image processing.
상기 폴리곤은 평면상에서 세 개 이상의 점을 직선으로 연결하여 만들어진 닫힌 도형이고, 폴리곤은 꼭짓점(Vertex)과 변(Edge)으로 구성된다. The above polygon is a closed shape created by connecting three or more points on a plane with straight lines, and the polygon is composed of vertices and edges.
또한, 폴리곤은 컴퓨터 그래픽스에서 2D 또는 3D 객체를 표현하는데 널리 사용되며, 삼각형, 사각형, 오각형 등 다양한 형태를 가질 수 있다. Additionally, polygons are widely used in computer graphics to represent 2D or 3D objects, and can have various shapes such as triangles, squares, and pentagons.
또한, 폴리곤은 렌더링, 충돌 검출, 공간 분할 등 다양한 그래픽스 알고리즘에서 기본적인 구성 요소로 활용된다.Additionally, polygons are used as basic building blocks in various graphics algorithms such as rendering, collision detection, and space partitioning.
상기 마스크 폴리곤은 이미지나 그래픽스에서 특정 영역을 선택하거나 제외하기 위해 사용되는 폴리곤이고, 마스크 폴리곤은 이미지의 알파 채널(투명도)을 조절하거나, 이미지의 일부분을 가리는데 사용될 수 있다. The above mask polygon is a polygon used to select or exclude a specific area in an image or graphics, and the mask polygon can be used to adjust the alpha channel (transparency) of an image or to cover up a part of an image.
또한, 마스크 폴리곤 내부의 픽셀은 보존되고, 외부의 픽셀은 제거되거나 투명하게 처리된다.Additionally, pixels inside the mask polygon are preserved, while pixels outside are removed or made transparent.
또한, 마스크 폴리곤은 이미지 편집, 컴포지팅, 특수 효과 등에 활용되며, 마스크 폴리곤은 점, 선, 곡선 등으로 정의될 수 있으며, 복잡한 형태를 가질 수 있다.Additionally, mask polygons are used in image editing, compositing, special effects, etc. Mask polygons can be defined by points, lines, curves, etc., and can have complex shapes.
상기한 폴리곤과 마스크 폴리곤은 밀접한 관련이 있으며, 마스크 폴리곤은 폴리곤의 특수한 용도로 볼 수 있다. The above polygons and mask polygons are closely related, and mask polygons can be seen as a special use of polygons.
그리고, 마스크 폴리곤은 이미지나 그래픽스에서 특정 영역을 선택하거나, 제외하기 위해 폴리곤의 형태를 활용한다.Additionally, mask polygons utilize the shape of polygons to select or exclude specific areas in images or graphics.
예를 들어, 이미지에서 특정 객체나 영역을 추출하고자 할 때, 해당 영역을 폴리곤으로 정의하고, 이를 마스크 폴리곤으로 사용할 수 있다. For example, when you want to extract a specific object or area from an image, you can define that area as a polygon and use it as a mask polygon.
마스크 폴리곤 내부의 픽셀은 보존되고, 외부의 픽셀은 제거되어 원하는 객체나 영역만 남게 된다.Pixels inside the mask polygon are preserved, and pixels outside are removed, leaving only the desired object or area.
이렇듯, 폴리곤과 마스크 폴리곤은 컴퓨터 그래픽스, 이미지 처리, 컴퓨터 비전 등 다양한 분야에서 중요한 역할을 하며, 이들은 객체의 표현, 영역 선택, 이미지 편집 등에 활용되며, 효과적인 시각적 처리를 가능하게 한다.As such, polygons and mask polygons play an important role in various fields such as computer graphics, image processing, and computer vision. They are used for object expression, area selection, and image editing, and enable effective visual processing.
그리고, 타일 이미지의 경우, 타일 이미지는 각 타일을 나타내는 이미지이다.And, for tile images, the tile image is an image representing each tile.
특히, 마스킹 폴리곤의 경우, 마스킹 폴리곤은 특정 영역을 선택적으로 시각화하기 위해 사용되는 투명한 필름이다.In particular, for masking polygons, a masking polygon is a transparent film used to selectively visualize a specific area.
이미지에 대하여 설명해보면, 지구를 4개의 하위 타일로 분할한 쿼드트리 시스템의 첫 번째 레벨을 보여주고 있으며, 각 타일은 0, 1, 2, 3…n 의 번호로 식별된다.To explain the image, it shows the first level of a quadtree system that divides the Earth into four sub-tiles, each of which is identified by a number: 0, 1, 2, 3… n.
또한, 줌 레벨 1에서 2번 타일을 4개의 하위 타일로 분할한 모습을 보여주고 있으며, 4의 제곱으로 타일 개수는 하위로 갈수록 늘어나게 되는 것이다.Also, it shows the 2nd tile at zoom level 1 divided into 4 sub-tiles, and the number of tiles increases as you go down in powers of 4.
예를 들어, 최상단 타일 아래에 자식 타일 4개가 있으며, n-1의 타일 개수는 n의 타일 개수의 1/4이다.For example, there are 4 child tiles under the top tile, and the number of tiles in n-1 is 1/4 of the number of tiles in n.
그리고,줌레벨이 높아질수록 지도 표면의 사진정확도가 올라가며 타일의 개수 또한 많아진다.Also, as the zoom level increases, the photo accuracy of the map surface increases and the number of tiles also increases.
서버로 타일을 요청할 때, 보통 x, y, z 스키마를 사용하고, x는 가로 인덱스, y는 세로 인덱스, z는 줌레벨을 의미한다.When requesting tiles from a server, we usually use an x, y, z schema, where x is the horizontal index, y is the vertical index, and z is the zoom level.
또한, 이미지의 텍스트는 쿼드트리 시스템의 각 레벨에서 타일의 개수와 줌 레벨에 따른 타일 크기를 보여주고 있고, 이미지의 화살표는 줌 레벨 변화에 따른 타일 분할 과정을 나타낸다.Additionally, the text in the image shows the number of tiles at each level of the quadtree system and the tile size according to the zoom level, and the arrows in the image indicate the tile division process according to the change in zoom level.
그리고, 도 5에 도시한 바와 같이, 해당 이미지는 Web Map Tile Service (WMTS)에서 사용되는 Google Mercator Projection을 나타내고 있다. And, as shown in Fig. 5, the image represents the Google Mercator Projection used in the Web Map Tile Service (WMTS).
이 투영법은 지구의 구형 표면을 2D 지도에 나타내는데 일반적으로 사용되고, 이미지에는 지도가 그리드로 나누어져 있는 것을 볼 수 있으며, 이것은 지도 타일을 나타낸 것이다.This projection is commonly used to represent the spherical surface of the Earth on a 2D map, and the image shows the map divided into a grid, which represents map tiles.
각 타일은 고유한 x와 y의 좌표를 가지며, 이는 쿼드트리 데이터 구조를 사용하여 관리되게 되며, 빨간색 선으로 표시된 그리드는 타일의 경계를 나타내며, 이 구조는 지도의 특정 부분을 효율적으로 검색하고 접근할 수 있게 하기 위한 것이다.Each tile has its own x and y coordinates, which are managed using a quadtree data structure, and the grid represented by red lines represents the boundaries of the tiles, which is designed to allow efficient retrieval and access to specific parts of the map.
이미지에서 볼 수 있는 좌표 값은 WMTS가 사용하는 전체 투영된 좌표계의 범위를 나타내며, 이 범위는 일반적으로 전 세계를 커버할 수 있으며, minX와 minY는 좌표계의 최소 경계 값을, maxX와 maxY는 최대 경계 값을 나타내는 것이다.The coordinate values seen in the image represent the range of the entire projected coordinate system used by WMTS, which can typically cover the entire world, with minX and minY representing the minimum boundary values of the coordinate system, and maxX and maxY representing the maximum boundary values.
따라서, 웹 지도에서 사용자가 어떤 영역을 확대하거나 이동할 때, 관련 타일을 빠르게 로드하고 렌더링하는데 사용되며, 이러한 방식으로 지도 타일은 사용자가 볼 수 있는 지도 영역의 데이터를 최소화함으로써, 로딩 시간을 단축하고 전체적인 사용자 만족도를 향상시킬 수 있게 되는 것이다.Therefore, when a user zooms in or moves around an area on a web map, the relevant tiles are used to quickly load and render them, and in this way, map tiles minimize the data in the map area that the user can see, thereby reducing loading times and improving overall user satisfaction.
한편, 도 6에 도시한 바와 같이, 클리핑영역렌더링단계(S430)에서, HTML Canvas 요소의 clip() 메서드를 사용하는 과정을 나타낸 것이다. Meanwhile, as illustrated in Fig. 6, the process of using the clip() method of the HTML Canvas element in the clipping area rendering step (S430) is illustrated.
Canvas에서 clip() 메서드는 Canvas의 특정 부분에만 그림이 그려지도록 제한하는데 사용되게 되는데, 여기서, 별 모양의 경로는 클리핑 영역으로 설정되었으며, 이 영역 내에서만 체크무늬 패턴이 그려져 있으며, Canvas의 나머지 부분에서는 아무 것도 그려지지 않았다. The clip() method in Canvas is used to restrict drawing to only a certain part of the Canvas. Here, the star-shaped path is set as the clipping area, and the checkered pattern is drawn only within this area, and nothing is drawn on the rest of the Canvas.
이는 clip() 메서드가 호출된 후에만 적용된다.This only applies after the clip() method is called.
상기 이미지의 별은 먼저 경로(path)로 정의되어야 하며, 그 후 clip() 메서드가 이 경로를 현재 클리핑 경로로 설정하게 되는 것이다. The stars in the above image must first be defined as a path, and then the clip() method sets this path as the current clipping path.
이후에 수행되는 모든 그리기 작업은 이 경로에 의해 정의된 영역 내에서만 렌더링되며, 별 모양 바깥에 위치한 체크무늬 부분은 클리핑 영역 밖에 있기 때문에 보이지 않게 된다.All subsequent drawing operations will be rendered only within the area defined by this path, and any checkered portions outside the star shape will be invisible because they are outside the clipping area.
또한, X와 Y축이 표시된 것은 이 과정이 2D 좌표 시스템 상에서 이루어지고 있음을 나타낸 것이고, 이러한 기술은 웹 페이지에서 복잡한 그래픽을 그리거나, 특정 부분의 이미지를 강조하고 다른 부분을 숨기는데 유용하게 사용된다.Also, the X and Y axes are shown to indicate that this process is taking place in a 2D coordinate system, a technique that is useful for drawing complex graphics on web pages, or highlighting certain parts of an image and hiding others.
또한, 도 9 내지 도 11의 경우, 지리적 정보 시스템(GIS)의 한 응용을 보여주는 것으로서, 세 개의 이미지는 각각 다른 단계를 나타내고 있다.Also, in the case of FIGS. 9 to 11, as an application of a geographic information system (GIS), the three images each represent a different step.
도 9의 경우, 처리 전 이미지로서, GIS 분석이 시작되기 전의 원본 위성 이미지에 행정 경계가 표시된 것이며, 여기에는 특정 지역이 강조 표시되기 전의 전체 지역의 모습을 보여주고 있다.For Fig. 9, the original satellite image before GIS analysis began is shown as a pre-processing image with administrative boundaries marked on it, showing the entire region before specific areas are highlighted.
도 10의 경우, 마스크 폴리곤 이미지로서, 이 이미지는 특정 지역(특정 행정 구역)에 마스크 폴리곤 또는 클리핑 기법을 적용한 것이고, 이 지역은 나머지 지도로부터 색으로 구분되어 있으며, 분석이나 표시를 위한 전처리 단계이다.In the case of Fig. 10, as a mask polygon image, this image is an image in which a mask polygon or clipping technique is applied to a specific area (a specific administrative district), and this area is distinguished by color from the rest of the map, and is a preprocessing step for analysis or display.
도 11의 경우, 처리 후 이미지로서, 이 이미지는 마스크 폴리곤 또는 클리핑 처리가 완료된 후의 모습을 보여주고 있으며, 특정 지역이 나머지 지역과 선명하게 구분되어 보이며, 이는 지리적 분석 결과나 최종적으로 강조하고자 하는 영역을 나타낼 수 있는 것이다.In the case of Fig. 11, as an image after processing, this image shows the appearance after the mask polygon or clipping processing is completed, and a specific area is clearly visible from the rest of the area, which can indicate the results of geographical analysis or the area to be ultimately emphasized.
상기한 도면들은 GIS에서 데이터 레이어의 중요성을 강조한 것으로서, 데이터 레이어를 사용하면 특정 정보(예: 행정 경계, 인구 통계, 지형)를 기본 지도 위에 중첩하여 더 많은 맥락과 통찰력을 제공할 수 있게 된다. The above drawings highlight the importance of data layers in GIS, which allow specific information (e.g., administrative boundaries, demographics, topography) to be overlaid on a base map to provide more context and insight.
이때, 처리 과정은 일반적으로 데이터 선택, 영역 강조 표시, 그리고 최종 결과의 시각화를 포함하게 되고, 이런 유형의 이미지는 정책 결정, 도시 계획, 자원 관리 및 교육적 목적으로 사용될 수 있게 된다.At this point, the processing process typically involves data selection, highlighting areas, and visualizing the final results, and these types of images can be used for policy making, urban planning, resource management, and educational purposes.
한편, HTML Canvas Element는 스크립트를 통해 그래픽을 그리는데 사용될 수 있다. Meanwhile, the HTML Canvas Element can be used to draw graphics via script.
예를 들어, 그래프 그리기, 사진 합성, 애니메이션 제작, 실시간 비디오 처리, 렌더링에 쓰일 수 있다.For example, it can be used for graph drawing, photo compositing, animation creation, real-time video processing, and rendering.
그리고, Canvas 2D API의 CanvasRenderingContext2D.clip() 메서드는 현재 또는 지정된 경로를 현재 클리핑 영역으로 바꾼다. Additionally, the CanvasRenderingContext2D.clip() method of the Canvas 2D API converts the current or specified path into the current clipping area.
이전 클리핑 영역이 있는 경우, 현재 경로 또는 지정된 경로와 교차하여 새 클리핑 영역을 만든다.If a previous clipping area exists, creates a new clipping area by intersecting it with the current path or the specified path.
도 6의 경우, clip()메서드를 이용하여 클리핑한 결과를 보여주며, 빨간색 윤곽선은 별 모양의 클리핑 영역을 나타내고, 클리핑 영역 내에 있는 체커보드 패턴 부분만 그려진다.In the case of Fig. 6, the result of clipping using the clip() method is shown. The red outline indicates a star-shaped clipping area, and only the checkerboard pattern portion within the clipping area is drawn.
한편, 하기에서는 Clipping 기법 중 변수 값 구하기에 대하여 구체적으로 설명하도록 하겠다.Meanwhile, below we will explain in detail how to obtain variable values using the Clipping technique.
변수 값 구하기의 경우, 도 7에 도시한 바와 같이, 각각의 타일마다 xIndex, yIndex로 인덱스를 맵핑할 수 있다.In the case of obtaining variable values, as shown in Fig. 7, the indices can be mapped to xIndex and yIndex for each tile.
예를 들어 설명하자면, 도 7에서 줌레벨13의 경우, X축과 Y축 타일의 개수는 2의 13승으로 8192개의 타일이 있고, 오른쪽 하단 마지막 타일은 xIndex:8191, yIndex:8191로 인덱스를 알 수 있다.For example, in the case of zoom level 13 in Fig. 7, the number of tiles on the X-axis and Y-axis is 2 to the 13th power, which is 8192 tiles, and the index of the last tile on the lower right can be found as xIndex:8191, yIndex:8191.
zoomLevel = 13zoomLevel = 13
maxCntX = 2^13 = 8192maxCntX = 2^13 = 8192
maxCntY = 2^13 = 8192maxCntY = 2^13 = 8192
xIndex = 0~8191xIndex = 0~8191
yIndex = 0~8191yIndex = 0~8191
도 8에서, 줌레벨13을 예로, 타일의 가로, 세로를 알 수 있다.In Fig. 8, using zoom level 13 as an example, the width and height of the tile can be known.
tileWidth = (maxX - minX) / maxCntX = 4891.969810251279tileWidth = (maxX - minX) / maxCntX = 4891.969810251279
tileHeight = (maxY - minY) / maxCntY = 4891.969810251279tileHeight = (maxY - minY) / maxCntY = 4891.969810251279
또한, 줌레벨13을 예로, 특정타일의 위치(상하좌우 좌표)를 알 수 있다.Additionally, using zoom level 13 as an example, you can find out the location (up, down, left, right coordinates) of a specific tile.
NORTH(상) = maxY - yIndex * tileHeightNORTH(top) = maxY - yIndex * tileHeight
SOUTH(하) = maxY - (yIndex + 1) * tileHeightSOUTH(lower) = maxY - (yIndex + 1) * tileHeight
WEST(좌) = minX + xIndex * tileWidthWEST (left) = minX + xIndex * tileWidth
EAST(우) = minX + (xIndex + 1) * tileWidthEAST(right) = minX + (xIndex + 1) * tileWidth
이때, 대부분의 WMTS에서 타일 하나의 픽셀 크기는 256*256 또는 512*512를 사용한다.At this time, most WMTS use 256*256 or 512*512 pixel size for one tile.
originTileWidth = 256originTileWidth = 256
originTileHeight = 256originTileHeight = 256
또한, 원본 타일사진의 픽셀값과 UTM상 타일의 가로세로 비율을 구한다.Additionally, the pixel values of the original tile photo and the aspect ratio of the tile in UTM are calculated.
ResolutionX = originTileWidth / tileWidthResolutionX = originTileWidth / tileWidth
ResolutionY = originTileHeight / tileHeightResolutionY = originTileHeight / tileHeight
또한, 각각의 타일의 WEST(좌), SOUTH(하)에 X, Y 비율을 곱하여 추후 알고리즘에 쓰인다.Additionally, the X, Y ratio is multiplied by the WEST (left) and SOUTH (bottom) of each tile and used in the later algorithm.
AdjustX = WEST * ResolutionXAdjustX = WEST * ResolutionX
AdjustY = SOUTH * ResolutionYAdjustY = SOUTH * ResolutionY
한편, 하기에서는 Clipping 기법 중 의사코드 알고리즘에 대하여 구체적으로 설명하도록 하겠다.Meanwhile, below we will explain in detail the pseudocode algorithm among the clipping techniques.
도 12에 도시한 바와 같이, 1번째 줄에서 Canvas를 이용해 CanvasRenderingContext2D객체를 얻는다.As shown in Figure 12, a CanvasRenderingContext2D object is obtained using Canvas in the first line.
이후, 2번째 줄에서 선을 그릴 준비를 한다.After this, prepare to draw a line in the second line.
이후, 4번째 줄에서 폴리곤이 여러 개인 경우를 가정해 반복문을 사용한다.Afterwards, in the 4th line, a loop is used assuming there are multiple polygons.
이후, 6번째 줄에서 폴리곤에 포함되는 지오메트리 정보를 가져온다.After that, in the 6th line, the geometry information contained in the polygon is retrieved.
이후, 7번째 줄에서 지오메트리에 포함되는 모든 정점을 반복한다.After that, in the 7th line, we iterate over all the vertices included in the geometry.
이후, 9번째 줄에서 지오메트리의 정점 정보를 가져온다.After that, in the 9th line, the vertex information of the geometry is retrieved.
이후, 10번째 줄에서 정점X 좌표에 연산된 X좌표를 구한다.After that, in the 10th line, the X-coordinate calculated from the vertex X-coordinate is obtained.
이후, 11번째 줄에서 정점Y 좌표에 연산된 Y좌표를 구한다.Afterwards, in the 11th line, the Y coordinate calculated from the vertex Y coordinate is obtained.
이후, 10, 11번째 줄에서 Math.Floor(소수점 내림)을 사용하는 이유는 Canvas 요소의 성능을 올려주기 위함이다.The reason Math.Floor is used in lines 10 and 11 is to improve the performance of the Canvas element.
이후, 13번째 줄에서 CanvasRenderingContext2D.lineTo 함수를 이용해 선을 그린다.After that, in line 13, a line is drawn using the CanvasRenderingContext2D.lineTo function.
이후, 17번째 줄에서 CanvasRenderingContext2D.clip 함수를 이용해 각각의 타일을 clipping을 한다.Afterwards, in line 17, each tile is clipped using the CanvasRenderingContext2D.clip function.
이후, 18번째 줄에서 CanvasRenderingContext2D.drawImage 함수를 이용해 Canvas요소에 출력한다.Afterwards, in line 18, the CanvasRenderingContext2D.drawImage function is used to output to the Canvas element.
상기와 같은 의사코드 알고리즘을 처리하게 되면, 도 9 내지 도 12의 결과물을 출력할 수가 있게 되는 것이다.If the above pseudocode algorithm is processed, the results in Figs. 9 to 12 can be output.
본 발명에 의하면, 기존의 웹 지도 타일 서비스에서 전체 타일 데이터를 처리하던 방식과 달리, 사용자가 관심 있는 특정 영역에 대해서만 선택적으로 타일 데이터를 클리핑하고 시각화할 수 있도록 함으로써, 데이터 처리 효율성을 높이고 사용자 경험을 향상시킨다.According to the present invention, unlike the existing web map tile service that processes the entire tile data, the present invention allows the user to selectively clip and visualize tile data only for a specific area of interest, thereby increasing data processing efficiency and improving user experience.
또한, 타일 레벨에 따른 타일 개수와 해상도의 변화를 그래프로 나타냄으로써, 사용자가 적절한 타일 레벨을 선택하는데 도움을 주고, 타일 인덱싱 및 좌표 변환 과정을 시각적으로 이해할 수 있도록 하는 효과가 있다.In addition, by presenting a graph showing the change in the number of tiles and resolution according to the tile level, it has the effect of helping the user select an appropriate tile level and visually understanding the tile indexing and coordinate conversion process.
또한, 웹 지도 서비스 제공자, GIS 응용 프로그램 개발자 등에게 유용하게 활용될 수 있으며, 다양한 분야에서 웹 기반 공간 데이터의 효과적인 시각화 및 분석을 가능하게 할 것으로 기대된다.In addition, it can be usefully utilized by web map service providers, GIS application developers, etc., and is expected to enable effective visualization and analysis of web-based spatial data in various fields.
이상에서와 같은 내용의 본 발명이 속하는 기술분야의 당업자는 본 발명의 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시된 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. Those skilled in the art will understand that the present invention, as described above, can implement other specific forms without changing the technical idea or essential features of the present invention. Therefore, it should be understood that the embodiments described above are illustrative in all respects and are not limiting.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구 범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention.
100 : 계산부
200 : 입력부
300 : 클리핑영역설정부
400 : 렌더링부100 : Calculator
200 : Input section
300: Clipping area setting section
400 : Rendering section
Claims (2)
계산부(100)가 쿼드트리 기반의 타일 인덱싱 정보 및 좌표 변환 파라미터를 계산하는 계산단계(S100);
입력부(200)가 사용자로부터 클리핑 대상이 되는 지리 영역의 공간 객체 정보를 입력받는 입력단계(S200);
클리핑영역설정부(300)가 HTML Canvas 요소를 생성하고, 상기 입력된 공간 객체 정보를 기반으로 클리핑 영역을 설정하는 클리핑영역설정단계(S300);
렌더링부(400)가 상기 쿼드트리 기반의 타일 인덱싱 정보와 좌표 변환 파라미터를 이용하여, 상기 사용자 정의 영역과 겹치는 타일 이미지를 선별하여 HTML Canvas 상에 렌더링하는 렌더링단계(S400);를 포함하며,
상기 렌더링단계(S400)는,
사용자 정의 영역과 겹치는 타일을 상기 쿼드트리 기반의 타일 인덱싱 정보를 이용하여 선별하는 타일선별단계(S410);
선별된 타일 이미지를 불러와 타일 좌표를 캔버스 좌표계로 변환하는 캔버스좌표계변환단계(S420);
좌표 변환된 타일 이미지를 HTML Canvas 상에서 클리핑 영역에 맞게 렌더링하는 클리핑영역렌더링단계(S430);를 포함하는 것을 특징으로 하는 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법.
A method for visualizing image tile data of a web map tile service by clipping it to a user-defined area,
A calculation step (S100) in which a calculation unit (100) calculates tile indexing information and coordinate transformation parameters based on a quadtree;
An input step (S200) in which the input unit (200) receives spatial object information of a geographic area to be clipped from the user;
A clipping area setting step (S300) in which a clipping area setting unit (300) creates an HTML Canvas element and sets a clipping area based on the input spatial object information;
The rendering unit (400) includes a rendering step (S400) in which the rendering unit (400) selects a tile image overlapping the user-defined area using the quadtree-based tile indexing information and coordinate conversion parameters and renders it on an HTML Canvas;
The above rendering step (S400) is
A tile selection step (S410) for selecting tiles overlapping with a user-defined area using the quadtree-based tile indexing information;
Canvas coordinate system conversion step (S420) that loads the selected tile image and converts the tile coordinates into the canvas coordinate system;
A method for visualizing image tile data of a web map tile service by clipping it to a user-defined area, characterized by including a clipping area rendering step (S430) for rendering a coordinate-transformed tile image to fit a clipping area on an HTML Canvas.
상기 계산단계(S100)는,
지도 데이터의 공간 좌표계와 타일 레벨에 따른 타일의 고유 식별자와 경계 좌표 정보를 계산하는 경계좌표계산단계(S110);
타일 크기, 해상도 등 클리핑에 필요한 좌표 변환 파라미터를 타일 레벨에 따라 계산하는 타일레벨계산단계(S120);를 포함하는 것을 특징으로 하는 웹 지도 타일 서비스의 이미지 타일 데이터를 사용자 정의 영역으로 클리핑하여 시각화하는 방법.
In paragraph 1,
The above calculation step (S100) is
A boundary coordinate calculation step (S110) for calculating a unique identifier and boundary coordinate information of a tile according to the spatial coordinate system of map data and the tile level;
A method for visualizing image tile data of a web map tile service by clipping it to a user-defined area, characterized by including a tile level calculation step (S120) for calculating coordinate transformation parameters required for clipping, such as tile size and resolution, according to the tile level.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240037601A KR102709406B1 (en) | 2024-03-19 | 2024-03-19 | How to visualize image tile data from a web map tile service by clipping it to a custom region |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240037601A KR102709406B1 (en) | 2024-03-19 | 2024-03-19 | How to visualize image tile data from a web map tile service by clipping it to a custom region |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102709406B1 true KR102709406B1 (en) | 2024-09-24 |
Family
ID=92924048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240037601A KR102709406B1 (en) | 2024-03-19 | 2024-03-19 | How to visualize image tile data from a web map tile service by clipping it to a custom region |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102709406B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170016168A (en) * | 2015-08-03 | 2017-02-13 | 조성환 | Tile-based map data updating system and method thereof |
KR20180101866A (en) * | 2017-03-06 | 2018-09-14 | 주식회사 엘비씨소프트 | Method of displaying risk of road section in map according to weather, map service system performing the same, and web server used therein |
KR20220151573A (en) | 2021-05-06 | 2022-11-15 | 주식회사 밍스피엠 | System for web-based 3D map display and method for file conversion using the same |
-
2024
- 2024-03-19 KR KR1020240037601A patent/KR102709406B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170016168A (en) * | 2015-08-03 | 2017-02-13 | 조성환 | Tile-based map data updating system and method thereof |
KR20180101866A (en) * | 2017-03-06 | 2018-09-14 | 주식회사 엘비씨소프트 | Method of displaying risk of road section in map according to weather, map service system performing the same, and web server used therein |
KR20220151573A (en) | 2021-05-06 | 2022-11-15 | 주식회사 밍스피엠 | System for web-based 3D map display and method for file conversion using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Evangelidis et al. | 3D geospatial visualizations: Animation and motion effects on spatial objects | |
JP6997290B2 (en) | Map data processing methods, computer equipment and computer programs | |
US11200280B2 (en) | System and method for storing and retrieving geospatial data | |
Mahdavi-Amiri et al. | A survey of digital earth | |
Santana et al. | Multimodal location based services—semantic 3D city data as virtual and augmented reality | |
CN111784833A (en) | WebGL-based flood evolution situation three-dimensional dynamic visualization display method | |
Ruzinoor et al. | A review on 3D terrain visualization of GIS data: techniques and software | |
Liang et al. | Embedding user-generated content into oblique airborne photogrammetry-based 3D city model | |
CN113066183A (en) | Virtual scene generation method and device, computer equipment and storage medium | |
Kennelly et al. | Elevation models for reproducible evaluation of terrain representation | |
Pirotti et al. | An open source virtual globe rendering engine for 3D applications: NASA World Wind | |
Yu et al. | A hybrid system of expanding 2D GIS into 3D space | |
Komadina et al. | Automated 3D urban landscapes visualization using open data sources on the example of the city of Zagreb | |
Wu et al. | GPU ray casting method for visualizing 3D pipelines in a virtual globe | |
KR102709406B1 (en) | How to visualize image tile data from a web map tile service by clipping it to a custom region | |
Virtanen et al. | Browser based 3D for the built environment | |
Katsiokalis et al. | Outdoors Mobile Augmented Reality for Coastal Erosion Visualization Based on Geographical Data. | |
Glander et al. | Automated cell based generalization of virtual 3D city models with dynamic landmark highlighting | |
CN111383334B (en) | System and method for rendering objects | |
She et al. | A building label placement method for 3D visualizations based on candidate label evaluation and selection | |
Guney et al. | Virtual 3D GIS Application at the Ottoman Fortresses on the Dardanelles | |
Liu et al. | An effective spherical panoramic LoD model for a mobile street view service | |
Bangay et al. | Opportunities with Slippy Maps for Terrain Visualization in Virtual and Augmented Reality | |
Momot | Visualization of land use scanner data | |
Babcock | Visualizations of Downtown San Bernardino and a Proposed Development Using CityEngine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |