KR20020069781A - Multi-cash method of a geograhphic information in the geographic information system - Google Patents

Multi-cash method of a geograhphic information in the geographic information system Download PDF

Info

Publication number
KR20020069781A
KR20020069781A KR1020010010210A KR20010010210A KR20020069781A KR 20020069781 A KR20020069781 A KR 20020069781A KR 1020010010210 A KR1020010010210 A KR 1020010010210A KR 20010010210 A KR20010010210 A KR 20010010210A KR 20020069781 A KR20020069781 A KR 20020069781A
Authority
KR
South Korea
Prior art keywords
data area
cache
datarect
division
intersectrect
Prior art date
Application number
KR1020010010210A
Other languages
Korean (ko)
Inventor
서태섭
김광수
Original Assignee
주식회사 트윈클리틀스타
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 트윈클리틀스타 filed Critical 주식회사 트윈클리틀스타
Priority to KR1020010010210A priority Critical patent/KR20020069781A/en
Publication of KR20020069781A publication Critical patent/KR20020069781A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A method for multi-caching the geographic information of a GIS(Geographic Information System) is provided to realize the fast data search as well as minimize a size of the transmitting data by using a multi-cache. CONSTITUTION: A target data region want to find and a cache data region list are read by a system. The system checks the data region overlapped by the target data region and the cache data region. If the overlapped data region exists, the non-overlapped data region is separated and extracted from the target data region. On the basis of the separation and extraction, the data corresponding to the non-overlapped data region is set as the request data. The overlap between the target data region and the cache data region is judged by an MBR(Minimum Boundary Rectangle) method.

Description

지리정보시스템의 지리정보 다중 캐쉬방법{MULTI-CASH METHOD OF A GEOGRAHPHIC INFORMATION IN THE GEOGRAPHIC INFORMATION SYSTEM}MULTI-CASH METHOD OF A GEOGRAHPHIC INFORMATION IN THE GEOGRAPHIC INFORMATION SYSTEM}

본 발명은 지리정보시스템의 지리정보 다중 캐쉬방법에 관한 것으로서, 더욱 구체적으로는 전송 데이터 사이즈를 감소시킴으로써 데이터의 빠른 처리 및 전송속도의 증가를 가능하게 하는 지리정보시스템의 지리정보 다중 캐쉬방법에 관한 것이다.The present invention relates to a geographic information multiple caching method of a geographic information system, and more particularly, to a geographic information multiple caching method of a geographic information system that enables faster processing of data and an increase in transmission speed by reducing a transmission data size. will be.

지리정보시스템(Geographic Information System, GIS)은 자연 및 사회·경제적 정보를 지리적 공간 위치에 맞추어 입력, 저장하여 다양한 목적에 맞게 활용, 분석하는 기술로써 각종 데이터의 수집과 처리작업에 대해 경제성과 능률성을 제공하며, 최근 디지털 컴퓨터의 발전과 더불어 지리정보 데이터 저장 및 공간 정보 이용에 획기적인 계기를 마련해 주고 있다.Geographic Information System (GIS) is a technology that inputs and stores natural and socio-economic information according to geographic and spatial location, and utilizes and analyzes it for various purposes. It is economical and efficient in collecting and processing various data. In recent years, with the development of digital computers, it is providing a groundbreaking opportunity for storing geographic information data and using spatial information.

지리정보시스템은 실제 세계의 모델을 의미하며, 자료는 상호 관련되어 접근, 변화, 관리되기 때문에 환경변화의 분석, 경향분석(Analysis of trends) 또는 의사결정과 결과의 예측 등을 실험할 수 있는 모델이다. 이는 컴퓨터 기술과 공간자료(spatial data)를 효율적으로 이용하고자 시작되었는데, 자료수집 방법은 종래의 지도나 보고서, 최근에는 인공 위성이나 항공촬영용 비행기로부터 센서를 통하여 입수된 HDDT(High Density Digital Tape)의 수집 방법이 중요하게 작용하고 있다. 지리정보시스템을 정의하려고 하는 용어들을 크게 대별하면 기술적인 면과 문제해결의 면으로 나뉘는데, 기술적인 면의 정의는 컴퓨터와 관련된 점을 강조해서 GIS란, 사용자의 의도대로 지형에 관련된 공간 데이터에 대한 수집, 저장, 갱신이 용이하며, 변환과 관리를 하는 도구 일체라 하고 있였으며, 문제해결(problemsolving)은 시스템의 해석적인 면을 부각시켜 문제해결 환경에 있어서 지형관련 데이터의 통합을 포함한, 의사결정지원시스템이라고 볼 수 있다.Geographic information system refers to a model of the real world, and because data are accessed, changed, and managed in relation to each other, a model for experimenting with analysis of environmental changes, analysis of trends, or decision making and prediction of results. to be. This began with the efficient use of computer technology and spatial data. The method of data collection is based on conventional maps, reports, and recently, high density digital tapes (HDTs) obtained through sensors from satellites or aerial photography planes. Collection methods are important. The terminology used to define the geographic information system can be divided into technical and problem solving aspects. The definition of the technical aspect emphasizes computer-related aspects. It is easy to collect, store and update, and is a tool for transformation and management.Problemsolving highlights the analytical aspects of the system, making decisions including integration of terrain-related data in the problem-solving environment. It can be seen as a support system.

그러나, 전술한 바와 같이 GIS시스템은 컴퓨터와 필연적으로 결합되어 사용됨으로 인하여 데이터 사이즈가 GIS시스템의 성능을 좌우하게 된다. 즉, 지리정보의 검색, 분석, 저장 등과 관련된 데이터 처리를 함에 있어, 데이터 사이즈가 클수록 데이터 처리에 요구되는 총시간은 증가하게 되고, 다른 한편으로는 처리하고자 하는 컴퓨터의 최소 성능에 제한을 가하게 된다. 또한, 최근 활성화되고 있는 유·무선 인터넷을 통한 지리정보제공서비스를 클라이언트 컴퓨터가 접속하여 이용하고자 하는 경우, 데이터 사이즈가 클수록 지리정보 데이터를 이용하는데 요구되는 이용시간 증가를 야기하고 아울러 서버의 폭주 등의 문제점을 야기하게 된다.However, as described above, since the GIS system is inevitably used in combination with a computer, the data size determines the performance of the GIS system. In other words, in processing data related to the search, analysis, and storage of geographic information, the larger the data size, the total time required for data processing increases, and on the other hand, the minimum performance of the computer to be processed is limited. . In addition, when a client computer attempts to access and use a recently activated geographic information providing service through wired / wireless internet, a larger data size causes an increase in usage time required for using geographic information data, and congestion of the server. Will cause problems.

본 발명은 상기한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 캐쉬를 효율적으로 사용함으로써, 전송데이터 사이즈의 최소화를 달성함과 아울러 데이터의 빠른 검색을 가능하게 하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to achieve a minimization of transmission data size and to enable fast retrieval of data by efficiently using a cache.

따라서, 본 발명은 목적은 데이터 처리에 요구되는 총시간을 절감시키고, 다른 한편으로는 처리하고자 하는 컴퓨터의 최소 성능에 제한을 가하지 않는 지리정보시스템의 지리정보 다중 캐쉬 방법을 제공하는데 있는 것이다.It is therefore an object of the present invention to provide a method for multiplexing geospatial information in a geospatial information system that reduces the total time required for data processing and, on the other hand, does not limit the minimum performance of the computer to be processed.

또한, 본 발명은 클라이언트 컴퓨터가 지리정보 데이터를 이용하는데 요구되는 이용시간을 감소시키고, 아울러 서버의 폭주 현상을 방지할 수 있는데 목적이있는 것이다.In addition, an object of the present invention is to reduce the use time required for the client computer to use the geospatial data, and to prevent the server runaway phenomenon.

도 1은 본 발명의 바람직한 구체예에 따른 지리정보시스템의 지리정보 다중 캐쉬방법의 분할·추출단계를 개략적으로 설명하기 위한 순서도이다.1 is a flow chart for schematically explaining the division and extraction steps of a geographic information multiple cache method of a geographic information system according to a preferred embodiment of the present invention.

도 2a 내지 도 2d는 본 발명의 바람직한 구체예에서, IntersectRect와 DataRect의 4개의 꼭지점 중 한 점이 일치하는 경우의 분할·추출과정을 개략적으로 설명하기 위한 도면이다.2A to 2D are diagrams for schematically illustrating a division / extraction process when one of four vertices of IntersectRect and DataRect coincides in a preferred embodiment of the present invention.

도 3a 내지 도 3d는 본 발명의 바람직한 구체예에서, IntersectRect와 DataRect의 4개의 꼭지점 중 두 점이 일치하는 경우의 분할·추출과정을 개략적으로 설명하기 위한 도면이다.3A to 3D are diagrams for schematically illustrating a division and extraction process when two points of four vertices of IntersectRect and DataRect coincide in a preferred embodiment of the present invention.

도 4a 내지 도 4e는 본 발명의 바람직한 구체예에서, IntersectRect와 DataRect의 4개의 꼭지점 모두가 불일치하는 경우의 분할·추출과정을 개략적으로 설명하기 위한 도면이다.4A to 4E are diagrams for schematically illustrating a division and extraction process when all four vertices of IntersectRect and DataRect are inconsistent in a preferred embodiment of the present invention.

상기한 목적을 달성하기 위하여 본 발명은 찾고자 하는 목적데이터영역 및 캐쉬데이터영역 리스트를 읽는 단계; 상기 목적데이터영역과 상기 캐쉬데이터영역의 겹치는 데이터영역을 확인하여, 존재하는 경우 겹침이 없는 데이터영역을 상기 목적데이터영역으로부터 분할·추출하는 분할·추출단계; 및 상기 분할·추출에 기초하여 겹침이 없는 데이터영역에 해당하는 데이터를 요청데이터로 설정하는 단계;를 포함하는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법을 제공한다.In order to achieve the above object, the present invention comprises the steps of reading the object data area and the cache data area list to find; A partitioning / extracting step of checking an overlapping data area of the target data area and the cache data area and dividing and extracting a non-overlapping data area from the destination data area if present; And setting data corresponding to a data area without overlapping as request data based on the division and extraction as the request data.

본 발명의 다중 캐쉬방법은 클라이언트 및 서버 어느 쪽에서도 실행될 수 있다. 클라이언트 컴퓨터에서 실행되는 경우에는 클라이언트 컴퓨터가 해당 프로그램을 서버로부터 다운로드 받아 분할·추출단계를 거쳐 요청데이터를 설정하게 된다.The multiple cache methods of the present invention can be executed on both the client and the server. When executed on the client computer, the client computer downloads the program from the server and sets the request data through the division and extraction steps.

반면, 서버에서 실행되는 경우에는, 클라이언트로부터 목적데이터영역과 캐쉬데이터영역 리스트만을 전송받아 분할·추출 단계를 거쳐 요청데이터를 설정한 후, 요청데이터에 따른 지리정보를 클라이언트 컴퓨터에게 제공하게 된다.On the other hand, when executed in the server, only the target data area and the cache data area list are received from the client, the request data is set through the division / extraction step, and the geographical information according to the request data is provided to the client computer.

본 발명의 바람직한 구체예에 따르면, 상기 목적데이터영역과 상기 캐쉬데이터영역의 겹침 여부는 MBR을 기준으로 판단한다.According to a preferred embodiment of the present invention, whether the target data area and the cache data area overlap is determined based on the MBR.

본 발명의 바람직한 구체예에 따르면, 상기 분할은 횡분할 및 종분할 중 어느 하나 이상으로 수행된다.According to a preferred embodiment of the present invention, the dividing is carried out in at least one of horizontal division and longitudinal division.

본 발명의 바람직한 구체예에 따르면, 상기 분할·추출단계는 찾고자 하는 목적데이터영역을 DataRect로 초기화하는 1단계; 상기 DataRect와 캐쉬데이터영역의 겹침이 있으면 3단계로 이행되고, 겹침이 없으면 NoCacheRectSet에 상기 DataRect를 삽입하고 6단계로 이행되는 2단계; DataRect와 겹침이 가장 많은 캐쉬데이터영역을 CacheRect로 설정하는 3단계; IntersectRect를 DataRect와 CacheRect의 교집합 데이터영역으로 놓고 IntersectRect에 삽입하는 4단계; IntersectRect와 DataRect의 꼭지점을 비교하여 4개의 꼭지점이 모두 일치하면 6단계로 이행하고, 불일치하는 꼭지점이 존재하면 분할에 의하여 겹침이 없는 데이터영역을 SplitRectSet에 삽입하는 5단계; 및 SplitRectSet가 null이면 후속단계로 이행하고, null이 아니면 SplitRectSet에 삽입된 첫 번째 데이터영역을 DataRect로 설정하고 SplitRectSet에서 삭제하는 6단계;를 포함한다.According to a preferred embodiment of the present invention, the dividing and extracting step may include: 1 step of initializing a target data area to be searched with DataRect; Step 2, if there is overlap between the DataRect and the cache data area, and if there is no overlap, the DataRect is inserted into the NoCacheRectSet and step 6 is performed; Setting a cache data area having the most overlap with DataRect as CacheRect; Placing IntersectRect into the intersection data region of DataRect and CacheRect and inserting into IntersectRect; Comparing the vertices of IntersectRect and DataRect and moving to step 6 if all four vertices match, and inserting a data region having no overlap by splitting into SplitRectSet if there are inconsistent vertices; And if SplitRectSet is null, the process proceeds to the next step, and if not null, sets the first data area inserted in the SplitRectSet as DataRect and deletes it from the SplitRectSet.

본 발명의 바람직한 구체예에 따르면, 상기 분할은 횡분할 및 종분할 중 어느 하나 이상에 의하여 수행되고, 상기 횡분할은 상기 IntersectRect의 상·하측선을 기준으로 하여 수행되고, 상기 종분할은 상기 IntersectRect의 좌·우측선을 기준으로 수행된다.According to a preferred embodiment of the present invention, the dividing is performed by one or more of horizontal division and longitudinal division, and the horizontal division is performed based on the upper and lower lines of the IntersectRect, and the vertical division is performed by the IntersectRect. It is performed based on the left and right lines of.

이하, 본 발명의 바람직한 구체예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail.

캐쉬는 한번 사용한 내용을 보관했다가 다음에 다시 사용함으로써 속도를 향상시킬 수 있는 것으로서, 특히 실시간 통신을 하는 상태에서는 다시 서버와 통신을 하지 않아도 되게 한다. 또한 통신을 하지 않으므로 서버로부터 받은 내용이 어떻게 구성되고 또 어떤 내용인지 해석하는 과정 또한 하지 않아도 된다. 그로 인해서 사용자가 결과를 확인하는데 걸리는 시간을 줄일수 있고 또한 서버의 부하를 줄일 수 있다. 특히 여러명의 사용자가 있을 때 캐쉬를 사용하는 것과 사용하지 않는 것은 서버의 부하는 많은 차이를 보이고 또한 클라이언트의 결과도 빨리 처리할 수 있게 된다.The cache can be speeded up by storing the content once and then using it again, especially if you are in real-time communication so you don't have to communicate with the server again. In addition, since there is no communication, there is no need to interpret how the contents received from the server are organized and what they are. This reduces the time it takes for users to see the results and also reduces the load on the server. Using and disabling cache, especially when there are multiple users, can make a lot of difference in the load on the server and speed up the client's results.

지리정보 데이타는 레벨(Level)과 드로우오더(DrawOrder)가 구분된다. 이때 전체 캐쉬할 수 있는 개수는 정해져 있지만 각 레벨 캐쉬의 개수는 가변적이다, 즉 사용자가 자주 사용하는 레벨의 데이터를 많이 보관하게 된다(각 레벨 캐쉬의 개수 합 ≤ 전체 캐쉬할 수 있는 개수). 각 레벨 캐쉬의 개수는 가변적으로 현재 사용자가 사용하는 레벨의 크기를 가장 크게 사용 할 수 있는데 이는 현재 사용중인 레벨의의 캐쉬 데이터는 다시 활용할 수 있는 가능성이 크기 대문이다.Geographic information data is divided into Level and DrawOrder. At this time, the total number of caches is determined, but the number of each level cache is variable, that is, the user stores a lot of data of a level frequently used (the sum of the number of level caches ≤ the total number of caches). The number of level caches is variable so that the size of the level used by the current user can be used the largest because the cache data of the level currently in use can be reused.

캐쉬는 한번 본 지역의 데이터를 기본단위로 보관함으로써, 사용자가 필요로 하는 데이터는 여러 캐쉬에 보관된 상태가 된다. 그때 전체의 캐쉬에서 필요한 데이터를 모두 찾아서 사용하고, 없는 데이타는 서버에 요청하는 방법이 다중 캐쉬방법이다. 이때 여러개의 캐쉬에 보관된 내용들 중에서 필요한 데이타를 중복없이 찾는 것이 관건이다. 그래서 각 엔터티(Entity)들의 MBR(Minimum Boundary Rectangle, 최소 경계 사각형)을 적용해서 현재 필요한 엔터티들을 중복없이 찾아내는 것이다.The cache keeps the data of this area in basic units so that the data that users need is kept in several caches. At that time, the entire cache finds and uses all necessary data, and requests for missing data from the server are multiple cache methods. The key here is to find the data you need from multiple caches without duplication. So, by applying MBR (Minimum Boundary Rectangle) of each entity, we find out the entities that are currently needed without overlapping.

그 것은 다음의 과정을 거친다. 먼저, 찾고자 하는 목적데이터영역 및 캐쉬데이터영역 리스트가 클라이언트 컴퓨터에 입력된다. (전술한 바와 같이, 상기 자료들이 서버에 전송됨으로써, 이 후 단계는 서버에서 실행될 수도 있으나, 여기에서는 클라이언트 컴퓨터에서 요청데이터 설정단계까지 진행되는 것으로 가정하고 설명하도록 한다.) 그리고 나서, 상기 목적데이터영역과 상기 캐쉬데이터영역의 겹치는 데이터영역을 확인하여, 존재하는 경우 겹침이 없는 데이터영역을 상기 목적데이터영역으로부터 분할·추출하는 분할·추출하는 단계가 이어진다. 그리고 나서, 상기 분할·추출에 기초하여 겹침이 없는 데이터영역에 해당하는 데이터를 요청데이터로 설정한다. 요청데이터 설정이 끝나면 클라이언트 컴퓨터는 상기 목적데이터영역 및 캐쉬에 겹치는 데이터영역의 리스트를 서버에 알려주고, 이에 따라 서버는 목적데이터영역 중에서 캐쉬에 겹치는 영역의 리스트와 겹침이 전혀 없는 엔터티만을 전송한다.It goes through the following process. First, the target data area and cache data area list to be searched are input to the client computer. (As described above, since the data are transmitted to the server, the subsequent steps may be executed at the server, but it is assumed here that the client computer proceeds to the request data setting step.) Then, the object data The step of checking the overlapping data area of the area and the cache data area and dividing and extracting the overlapping data area from the target data area, if any, is present. Then, based on the division and extraction, data corresponding to a data area without overlapping is set as request data. After the request data is set, the client computer informs the server of a list of the data area overlapping the target data area and the cache. Accordingly, the server transmits only the list of areas overlapping the cache and the entity having no overlap at all.

영역분할을 하는 이유는 영역의 기준을 Polygon이 아닌 Rectangle로 하기 때문이다. 그 이유는 Polygon으로 영역을 확인해서 필요한 엔터티를 찾으면 정확성은 있을지 모르지만 그렇게 하기 위해서는 겹치는 Polygon을 찾고 또 찾은 Polygon에 포함되는 엔터티를 찾으려면, 각 엔터티의 각각의 변곡점(Vertex)이, 찾은 Polygon에 있는지를 검사해야 한다. 이때 한 엔터티의 변곡점의 수가 많고, 또 엔터티가 많으므로 아주 많은 오버해드를 필요로 한다. 반면, 사각형처리는 MBR을 기준으로 겹침 영역이 있다 없다 여부만으로 판단함으로써 오버해드를 줄여 처리 속도를 향상 시킬수 있게 된다.The reason for segmentation is that the criteria of the region is set as Rectangle, not Polygon. The reason is that checking the area with a Polygon to find the required entity may be accurate, but to do so, to find the overlapping Polygon and to find the entities contained in the found Polygon, each vertex of each entity is in the found Polygon. Should be inspected. At this time, the number of inflection points of an entity is large, and there are many entities, which requires a lot of overhead. On the other hand, the rectangular processing can improve the processing speed by reducing the overhead by judging only whether there is an overlap region based on the MBR.

Rectangle을 분할하는 방법은 횡분할과 종분할이 있는데 여기서는 횡분할을 우선으로 하여 설명하도록 한다.There are two methods of dividing a Rectangle, horizontal division and vertical division. Here, the horizontal division is given priority.

도 1은 본 발명의 바람직한 구체예에 따른 지리정보시스템의 지리정보 다중캐쉬방법의 분할·추출단계를 개략적으로 설명하기 위한 순서도이다. 찾고자 하는 목적데이터영역을 DataRect, 캐쉬데이터영역을 CacheRect, Intersect Rectangle을 IntersectRect, Intersect Rectangle 집합을 IntersectRecSet, Split Rectangle의 집합을 SplitRectSet, 캐쉬에 없는 영역의 집합(요청데이터영역)을 NoCacheRectSet라고 하면, 도 1의 분할·추출단계는 도시한 바와 같이 다음과 같은 단계로 진행된다.1 is a flow chart for schematically explaining the division and extraction step of the geographic information multiple cache method of a geographic information system according to a preferred embodiment of the present invention. If the desired data area is DataRect, the cache data area is CacheRect, the Intersect Rectangle is IntersectRect, the Intersect Rectangle set is IntersectRecSet, the Split Rectangle is SplitRectSet, and the set (request data area) that is not in the cache is called NoCacheRectSet. The dividing and extracting step proceeds to the following steps as shown.

먼저, DataRect를 찾고자하는 영역으로 초기화하는 1단계를 수행한다.First, perform step 1 to initialize the dataRect to the area you want to find.

그리고 나서, DataRect와 겹치는 캐쉬데이타를 찾아 있으면 3단계로 이행되고, 없으면 NoCacheRectSet에 DataRect를 삽입하고 6단계로 이행되는 2단계를 수행한다.Then, if it finds cache data that overlaps with DataRect, it proceeds to step 3. Otherwise, it inserts DataRect into NoCacheRectSet and performs step 2, proceeding to step 6.

그리고 나서, DataRect과 겹칩이 가장 많은 캐쉬데이터영역을 CacheRect로 설정하는 3단계를 수행한다.Then, perform three steps to set CacheRect with the most overlapping DataRect as CacheRect.

그리고 나서, IntersectRect를 DataRect와 CacheRect의 교집합으로 놓고, IntersectRectSet에 삽입하는 4단계를 수행한다.Then, place IntersectRect as the intersection of DataRect and CacheRect, and perform four steps of inserting into IntersectRectSet.

그리고 나서, 실질적인 분할·추출 단계인 5단계를 수행한다. 이에 대해서는 후술한다.Then, step 5, which is a substantial division and extraction step, is performed. This will be described later.

그리고 나서, SplitRectSet이 null이면 후속단계로 이행하고, null이 아니면, SplitRectSet에 삽입된 SplitRect중 첫번째 SplitRect 대해서 DataRect = SPR₁이라 하고, SPR₁를 SplitRectSet에서 삭제하고 2단계로 복귀하는 6단계를 수행한다.Then, if SplitRectSet is null, the process proceeds to the next step. Otherwise, if the splitRectSet is null, DataRect = SPR₁ for the first SplitRect inserted into the SplitRectSet, and deletes SPR₁ from the SplitRectSet and returns to step 2.

위의 과정을 거치면 IntersectRect에는 지금까지 캐쉬에서 찾은 영역의 사각형 리스트(겹치는 영역)가 있고, SplitRectSet은 null, NoCacheRectSet에는 서버에서 데이터를 받아야할 사각형의 리스트(겹치지 않는 영역)가 있게 된다. 즉, 위의 과정을 마치면 중복을 제거한 상태로 해당 Level에 캐쉬된 모든 내용을 추출하게 되고, 또 이때 캐쉬와 겹치는 영역과 겹침이 전혀 없는 영역이 각각의 리스트로 구성된다.With this process, IntersectRect has a list of rectangles (overlapping areas) that have been found in the cache so far, SplitRectSet is null, and NoCacheRectSet has a list of rectangles (non-overlapping areas) that should receive data from the server. That is, when the above process is completed, all contents cached at the level are extracted with duplicates removed, and at this time, the regions overlapping with the cache and the regions without overlapping at all are composed of respective lists.

겹치지 않는 영역이 하나도 없다면 캐쉬에 모두 있다는 결과이므로 서버에 요청할 필요가 없다.If no nonoverlapping areas exist, the result is that they are all in the cache, so there is no need to ask the server.

서버로부터 요청할 때는 목적데이터영역과 캐쉬에 겹치는 모든 영역의 리스트를 서버에 알려주고 이때 서버는 목적데이터영역의 내용중에서 캐쉬에 겹치는 영역의 리스트와 겹침이 전혀 없는 엔터티만을 전송함으로써 전체 영역에 엔터티를 채우고, 해당 레벨의 캐쉬에 저장한다. 위의 과정을 모두 마치면 사용자가 필요한 영역이 캐쉬와 통신을 통해 모두 채워진 상태가 된다.When requesting from the server, the server notifies the server of the list of all regions overlapping the target data area and the cache.In this case, the server fills the entire area by sending only the list of regions overlapping the cache and the entity with no overlap at all. Store in the cache of the level. After completing the above steps, the area required by the user will be filled with cache and communication.

위의 5단계에 대하여 구체적으로 살펴보면 다음과 같다.Looking at the above five steps in detail.

1) IntersectRect 과 DataRect의 합집합이 IntersectRect과 같은(4점 일치) 경우:1) If the union of IntersectRect and DataRect is the same as IntersectRect (4 points match):

6단계로 이행된다.Step 6 is carried out.

2) IntersectRect 과 DataRect의 4개의 꼭지점중 한점이 일치하는 경우:2) One of the four vertices of IntersectRect and DataRect matches:

도 2a에 도시한 바와 같이, IntersectRect의 좌상단과 DataRect의 좌상단이 일치하면 IntersectRect의 하단면을 기준으로 횡분할하고 IntersectRect의 우측면을 기준으로 종분할한다. 이를 각각 SR1, SR2하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 2A, when the upper left end of the IntersectRect and the upper left end of the DataRect coincide, they are horizontally divided based on the bottom surface of the IntersectRect and vertically divided based on the right side of the IntersectRect. SR1 and SR2, respectively, and insert them into SplitRectSet.

도 2b에 도시한 바와 같이, IntersectRect의 우상단과 DataRect의 우상단이 일치하면 IntersectRect의 하단면을 기준으로 횡분할하고 IntersectRect의 좌측면을 기준으로 종분할한다. 이를 각각 SR3, SR4하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 2B, when the upper right end of IntersectRect and the upper right end of DataRect coincide with each other, horizontal division is performed based on the bottom surface of IntersectRect and vertical division is performed based on the left side of IntersectRect. SR3 and SR4 respectively and insert it into SplitRectSet.

도 2c에 도시한 바와 같이, IntersectRect의 좌하단과 DataRect의 좌하단이 일치하면 IntersectRect의 상단면을 기준으로 횡분할하고 IntersectRect의 우측면을 기준으로 종분할한다. 이를 각각 SR5, SR6하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 2C, when the lower left end of the IntersectRect and the lower left end of the DataRect coincide, they are horizontally divided based on the top surface of the IntersectRect and vertically divided based on the right side of the IntersectRect. SR5 and SR6 respectively and insert it into SplitRectSet.

도 2d에 도시한 바와 같이, IntersectRect의 우하단과 DataRect의 우하단이 일치하면 IntersectRect의 상단면을 기준으로 분할하고 IntersectRect의 좌측면을 기준으로 분할한다. 이를 각각 SR7, SR8하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 2D, when the lower right end of IntersectRect and the lower right end of DataRect coincide with each other, the data is divided based on the upper surface of IntersectRect and divided based on the left surface of IntersectRect. SR7 and SR8 respectively and insert it into SplitRectSet.

3) IntersectRect 과 DataRect의 4개의 꼭지점중 두점이 일치하는 경우,3) If two of the four vertices of IntersectRect and DataRect match,

도 3a에 도시한 바와 같이, IntersectRect의 좌상단과 DataRect의 좌상단이 일치하고 IntersectRec의 우상단과 DataRect의 우상단이 일치하면 IntersectRect의 하단면을 기준으로 횡분할하고 SR13하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 3A, when the upper left end of IntersectRect and the upper left end of DataRect coincide, and the upper right end of IntersectRec and the upper right end of DataRect coincide, they are horizontally divided based on the bottom surface of IntersectRect, and inserted into SR13 and SplitRectSet.

도 3b에 도시한 바와 같이, IntersectRect의 좌하단과 DataRect의 좌하단이 일치하고 IntersectRec의 우하단과 DataRect의 우하단이 일치하면 IntersectRect의 상단면을 기준으로 횡분할하고 SR14하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 3B, when the lower left end of IntersectRect and the lower left end of DataRect coincide, and the lower right end of IntersectRec and the lower right end of DataRect coincide, they are horizontally divided based on the upper surface of IntersectRect, and inserted into SR14 and SplitRectSet.

도 3c에 도시한 바와 같이, IntersectRect의 좌상단과 DataRect의 좌상단이 일치하고 IntersectRec의 좌하단과 DataRect의 좌하단이 일치하면 IntersectRect의 우측면을 기준으로 종분할하고 SR15하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 3C, when the upper left end of IntersectRect and the upper left end of DataRect coincide, and the lower left end of IntersectRec and lower left end of DataRect coincide with each other based on the right side of IntersectRect, SR15 is inserted into SplitRectSet.

도 3d에 도시한 바와 같이, IntersectRect의 우상단과 DataRect의 우상단이 일치하고 IntersectRec의 우하단과 DataRect의 우하단이 일치하면 IntersectRect의 좌측면을 기준으로 종분할하고 SR16하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 3D, when the upper right end of IntersectRect and the upper right end of DataRect coincide, and the lower right end of IntersectRec and the lower right end of DataRect coincide, the segmentation is based on the left side of IntersectRect, and SR16 is inserted into SplitRectSet.

4) IntersectRect와 DataRect의 4개의 꼭지점 모두 불일치하는 경우:4) If all four vertices of IntersectRect and DataRect are inconsistent:

도 4a에 도시한 바와 같이, IntersectRect의 상단의 Y값과 DataRect의 상단의 Y값이 일치하고 나머지가 서로 다르면 IntersectRec의 하단면을 기준으로 횡분할, IntersectRec의 좌측면을 기준으로 종분할, IntersectRect의 우측면을 기준으로 종분할하고 각각SR17, SR18, SR19라 하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 4A, when the Y value at the top of the IntersectRect and the Y value at the top of the DataRect coincide with each other and are different from each other, the horizontal division is performed based on the bottom surface of the IntersectRec, and the vertical division is performed based on the left side of the IntersectRec. Subdivide based on the right side and call them SR17, SR18, and SR19, respectively, and insert them into SplitRectSet.

도 4b에 도시한 바와 같이, IntersectRect의 좌측면의 X값과 DataRect의 좌측면의 X값이 일치하고 나머지가 서로 다르면 IntersectRec의 하단면을 기준으로 횡분할, IntersectRec의 상단면을 기준으로 횡분할, IntersectRect의 우측면을 기준으로 종분할하고 각각SR20, SR21, SR22라 하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 4B, when the X value of the left side of the IntersectRect and the X value of the left side of the DataRect coincide with each other and the rest are different from each other, the horizontal division is performed based on the bottom surface of IntersectRec, the horizontal division based on the top surface of IntersectRec, Subdivide based on the right side of IntersectRect and call them SR20, SR21 and SR22, respectively, and insert them into SplitRectSet.

도 4c에 도시한 바와 같이, IntersectRect의 하단의 Y값과 DataRect의 하단의 Y값이 일치하고 나머지가 서로 다르면 IntersectRec의 상단면을 기준으로 횡분할, IntersectRec의 좌측면을 기준으로 종분할, IntersectRect의 우측면을 기준으로 종분할하고 각각SR23, SR24, SR25라 하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 4C, when the Y value at the bottom of the IntersectRect and the Y value at the bottom of the DataRect coincide with each other and are different from each other, the horizontal division is performed based on the top surface of the IntersectRec, and the vertical division is performed based on the left side of the IntersectRec. Subdivided based on the right side and called SR23, SR24 and SR25 respectively and inserted into SplitRectSet.

도 4d에 도시한 바와 같이, IntersectRect의 우측면의 X값과 DataRect의 우측면의 X값이 일치하고 나머지가 서로 다르면 IntersectRec의 상단면을 기준으로 횡분할, IntersectRec의 하단면을 기준으로 횡분할, IntersectRect의 좌측면을 기준으로 종분할하고 각각SR26, SR27, SR28라 하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 4D, when the X value of the right side of the IntersectRect and the X value of the right side of the DataRect coincide with each other and are different from each other, the horizontal division is performed based on the upper surface of IntersectRec, and the horizontal division is performed based on the lower surface of IntersectRec. Subdivide based on the left side and insert SR26, SR27 and SR28 into SplitRectSet, respectively.

도 4e에 도시한 바와 같이, IntersectRect과 DataRect이 일치하는 면이 하나도 없다면 IntersectRect의 상/하면을 기준으로 횡분할하고 IntersectRect의 좌/우측면을 기준으로 종분할한다. 이를 각각 SR9, SR10, SR11, SR12라하고 이를 SplitRectSet에 삽입한다.As shown in FIG. 4E, if none of the planes coincide with IntersectRect and DataRect, it is horizontally divided based on the upper and lower surfaces of IntersectRect and vertically divided based on the left and right sides of IntersectRect. These are called SR9, SR10, SR11, and SR12, respectively, and are inserted into SplitRectSet.

본 발명의 바람직한 구체예에 따르면, 만일 목적데이터가 추가되면 캐쉬데이터 용량초과가 발생하는 경우에는, 먼저 삭제과정을 거치게 되는데, 삭제과정은 상기 목적데이터의 레벨과 다른 레벨의 캐쉬데이터가 존재하는지를 판단하는 단계; 존재한다면 그 중 캐쉬데이터가 가장 많은 레벨을 선택하고, 존재하지 않는다면 상기 목적데이터의 레벨과 동일한 레벨을 선택하는 단계; 및 상기 선택된 레벨의 캐쉬데이터 중 캐쉬데이터 면적이 가장 작은 캐쉬데이터를 삭제하는 단계를 포함한다.According to a preferred embodiment of the present invention, if the cache data capacity is exceeded when the target data is added, the cache is first deleted, and the deletion process determines whether there is a cache data having a different level from that of the target data. Making; Selecting a level having the highest amount of cache data if present, and selecting a level equal to the level of the target data if not present; And deleting the cache data having the smallest cache data area among the cache data of the selected level.

위의 과정에서 가장 많은 레벨의 캐쉬를 삭제하는 것은 그 레벨의 내용을 많이 사용했으므로 다시 사용할 확률이 적은 상황이고, 그럼에도 불구하고 다시 사용할 경우를 생각해서 캐쉬 데이터를 삭제할 때는 캐쉬된 영역중에서 면적이 가장 작은 영역의 데이터를 삭제한다.In the above process, deleting the cache of the most level is a situation where the contents of that level are used a lot, so it is less likely to be used again. Nevertheless, when deleting the cache data, the area is the largest among the cached areas. Delete a small area of data.

상기한 구성의 본 발명에 따르면, 본 발명은 캐쉬를 효율적으로 사용함으로써, 데이터의 빠른 검색을 가능하게함과 아울러 전송데이터 사이즈의 최소화를 달성할 수 있는 효과가 있다.According to the present invention having the above-described configuration, the present invention has the effect of enabling the rapid retrieval of data and minimizing the transmission data size by using the cache efficiently.

따라서, 본 발명은 데이터 처리에 요구되는 총시간을 절감시키고, 다른 한편으로는 처리하고자 하는 컴퓨터의 최소 성능에 제한을 가하지 않는 지리정보시스템의 지리정보 다중 캐쉬방법을 제공할 수 있게 된다.Accordingly, the present invention can reduce the total time required for data processing and, on the other hand, can provide a method for multiplexing the geographical information of a geographic information system that does not limit the minimum performance of the computer to be processed.

또한, 본 발명은 클라이언트 컴퓨터가 지리정보 데이터를 이용하는데 요구되는 이용시간을 감소시키고, 아울러 서버의 폭주 현상을 방지할 수 있게 된다.In addition, the present invention can reduce the use time required for the client computer to use the geographic information data, and can also prevent the server runaway phenomenon.

Claims (5)

찾고자 하는 목적데이터영역 및 캐쉬데이터영역 리스트를 읽는 단계;Reading a target data area and a cache data area list to be found; 상기 목적데이터영역과 상기 캐쉬데이터영역의 겹치는 데이터영역을 확인하여, 존재하는 경우 겹침이 없는 데이터영역을 상기 목적데이터영역으로부터 분할·추출하는 분할·추출단계; 및A partitioning / extracting step of checking an overlapping data area of the target data area and the cache data area and dividing and extracting a non-overlapping data area from the destination data area if present; And 상기 분할·추출에 기초하여 겹침이 없는 데이터영역에 해당하는 데이터를 요청데이터로 설정하는 단계;Setting data corresponding to a data area without overlapping as request data based on the division / extraction; 를 포함하는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법.Geographic information multi-cache method of a geographic information system comprising a. 제 1항에서, 상기 목적데이터영역과 상기 캐쉬데이터영역의 겹침 여부는 MBR을 기준으로 판단하는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법.The method according to claim 1, wherein whether the target data area overlaps with the cache data area is determined based on an MBR. 제 1항에서, 상기 분할은 횡분할 및 종분할 중 어느 하나 이상으로 수행되는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법.2. The method of claim 1, wherein the division is performed by at least one of horizontal division and longitudinal division. 제 1항 또는 제 3항에서, 상기 분할·추출단계는The method of claim 1 or 3, wherein the dividing and extracting step 찾고자 하는 목적데이터영역을 DataRect로 초기화하는 1단계;Initializing the target data area to be searched with DataRect; 상기 DataRect와 캐쉬데이터영역의 겹침이 있으면 3단계로 이행되고, 겹침이없으면 NoCacheRectSet에 상기 DataRect를 삽입하고 6단계로 이행되는 2단계;Step 2, if there is overlap between the DataRect and the cache data area, and if there is no overlap, the DataRect is inserted into the NoCacheRectSet and step 6 is performed; DataRect와 겹침이 가장 많은 캐쉬데이터영역을 CacheRect로 설정하는 3단계;Setting a cache data area having the most overlap with DataRect as CacheRect; IntersectRect를 DataRect와 CacheRect의 교집합 데이터영역으로 놓고, IntersectRectSet에 삽입하는 4단계;Placing IntersectRect into the intersection data area of DataRect and CacheRect and inserting it into IntersectRectSet; IntersectRect와 DataRect의 꼭지점을 비교하여By comparing the vertices of IntersectRect and DataRect 4개의 꼭지점이 모두 일치하면 6단계로 이행하고,If all four vertices match, go to step 6. 불일치하는 꼭지점이 존재하면 분할에 의하여 겹침이 없는 데이터영역을 SplitRectSet에 삽입하는 5단계; 및Inserting a data region having no overlap by division into a SplitRectSet when there is a mismatched vertex; And SplitRectSet가 null이면 후속단계로 이행하고, null이 아니면 SplitRectSet에 삽입된 첫 번째 SplitRect를 DataRect로 설정하고 SplitRectSet에서 삭제한 후 2단계로 복귀하는 6단계;If SplitRectSet is null, proceed to the next step; otherwise, set the first SplitRect inserted in SplitRectSet to DataRect, delete from SplitRectSet, and return to step 2; 를 포함하는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법.Geographic information multi-cache method of a geographic information system comprising a. 제 4항에서, 상기 분할은 횡분할 및 종분할 중 어느 하나 이상에 의하여 수행되고, 상기 횡분할은 상기 IntersectRect의 상·하측선 기준으로 하여 수행되고, 상기 종분할은 상기 IntersectRect의 좌·우측선을 기준으로 수행되는 것을 특징으로 하는 지리정보시스템의 지리정보 다중 캐쉬방법.The method of claim 4, wherein the division is performed by at least one of horizontal division and longitudinal division, and the horizontal division is performed on the basis of the upper and lower sides of the IntersectRect, and the vertical division is performed on the left and right lines of the IntersectRect. Geographic information multiple cache method of a geographic information system, characterized in that performed on the basis of.
KR1020010010210A 2001-02-28 2001-02-28 Multi-cash method of a geograhphic information in the geographic information system KR20020069781A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010010210A KR20020069781A (en) 2001-02-28 2001-02-28 Multi-cash method of a geograhphic information in the geographic information system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010010210A KR20020069781A (en) 2001-02-28 2001-02-28 Multi-cash method of a geograhphic information in the geographic information system

Publications (1)

Publication Number Publication Date
KR20020069781A true KR20020069781A (en) 2002-09-05

Family

ID=27695814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010010210A KR20020069781A (en) 2001-02-28 2001-02-28 Multi-cash method of a geograhphic information in the geographic information system

Country Status (1)

Country Link
KR (1) KR20020069781A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100527682B1 (en) * 2001-10-11 2005-11-09 삼성에스디에스 주식회사 Method for processing 3 dimensional geographical informations and system thereof
KR100953081B1 (en) * 2008-06-10 2010-04-19 팅크웨어(주) Device and method for data cache

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990066255A (en) * 1998-01-23 1999-08-16 이계철 How to handle filtration using the minimum maximum point filter in a spatial database system
KR20000007169A (en) * 1998-07-01 2000-02-07 윤덕용 Method of managing database by using divided minimum bounding rectangle
JP2000357168A (en) * 1999-06-14 2000-12-26 Nippon Telegr & Teleph Corp <Ntt> Method for generating minimum bounding area of multidimensional space retrieval, method for minimum bounding sphere encoding, structure, updating method, and searching method for multidimensional space data, and program implementing the methods
KR20010100609A (en) * 2000-05-04 2001-11-14 이준표 Service method for map information of Geographic Information System
KR20020005189A (en) * 2000-06-22 2002-01-17 강남규 Method for servicing electronic map by using the internet

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990066255A (en) * 1998-01-23 1999-08-16 이계철 How to handle filtration using the minimum maximum point filter in a spatial database system
KR20000007169A (en) * 1998-07-01 2000-02-07 윤덕용 Method of managing database by using divided minimum bounding rectangle
JP2000357168A (en) * 1999-06-14 2000-12-26 Nippon Telegr & Teleph Corp <Ntt> Method for generating minimum bounding area of multidimensional space retrieval, method for minimum bounding sphere encoding, structure, updating method, and searching method for multidimensional space data, and program implementing the methods
KR20010100609A (en) * 2000-05-04 2001-11-14 이준표 Service method for map information of Geographic Information System
KR20020005189A (en) * 2000-06-22 2002-01-17 강남규 Method for servicing electronic map by using the internet

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100527682B1 (en) * 2001-10-11 2005-11-09 삼성에스디에스 주식회사 Method for processing 3 dimensional geographical informations and system thereof
KR100953081B1 (en) * 2008-06-10 2010-04-19 팅크웨어(주) Device and method for data cache

Similar Documents

Publication Publication Date Title
US9804892B2 (en) Tracking large numbers of moving objects in an event processing system
US10922339B2 (en) Portable globe creation for a geographical information system
US11204896B2 (en) Scalable space-time density data fusion
CN108460121B (en) Little file merging method for space-time data in smart city
CN108776682B (en) Method and system for randomly reading and writing object based on object storage
CN105787012B (en) A kind of method and storage system improving storage system processing small documents
CN104567894A (en) Apparatus and Method for Providing Map Data and System Thereof
CN108108089A (en) A kind of picture loading method and device
CN115827907A (en) Cross-cloud multi-source data cube discovery and integration method based on distributed memory
US10628305B2 (en) Determining a data layout in a log structured storage system
CN107220248B (en) Method and device for storing data
CN114281855A (en) Data request method, data request device, computer equipment, storage medium and program product
US10552371B1 (en) Data storage system with transparent presentation of file attributes during file system migration
JPH08185348A (en) Method and device for processing information
CN113688139A (en) Object storage method, gateway, device and medium
CN103077099A (en) Block-level snapshot system and user reading and writing method based on same
CN115525793A (en) Computer-implemented method, system, and storage medium
KR20020069781A (en) Multi-cash method of a geograhphic information in the geographic information system
CN114756509B (en) File system operation method, system, device and storage medium
CN111125114A (en) Database horizontal extension method and device, and data table access method and device
CN110413579A (en) Image cache method, equipment, storage medium and device based on caching value
CN115393382A (en) Method and device for searching voxels in map, computer equipment and storage medium
US11798199B2 (en) Method and apparatus for configuring spatial information
CN115203133A (en) Data processing method and device, reduction server and mapping server
Taşyürek Regenerating large volume vector layers with a denormalization-based method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application