KR101763413B1 - THE Method for GENERALIZING DigitalMap - Google Patents

THE Method for GENERALIZING DigitalMap Download PDF

Info

Publication number
KR101763413B1
KR101763413B1 KR1020160153444A KR20160153444A KR101763413B1 KR 101763413 B1 KR101763413 B1 KR 101763413B1 KR 1020160153444 A KR1020160153444 A KR 1020160153444A KR 20160153444 A KR20160153444 A KR 20160153444A KR 101763413 B1 KR101763413 B1 KR 101763413B1
Authority
KR
South Korea
Prior art keywords
generalization
data
map
generalized
simple feature
Prior art date
Application number
KR1020160153444A
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 KR1020160153444A priority Critical patent/KR101763413B1/en
Application granted granted Critical
Publication of KR101763413B1 publication Critical patent/KR101763413B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G06F17/30241
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

The present invention relates to a method for generalizing a digital map to select and simply express an object with respect to the scale and purpose of use for digital map. According to an embodiment of the present invention, a method for generalizing a digital map in a web (Server-Client) environment comprises the following steps: retrieving map data from a server; receiving generalization sets to generalize the map data from a user; generalizing the map data based on the generalization sets transmitted to the server; and adding the generalization results on a screen without loss of a current editing map through asynchronous communications.

Description

수치지도 일반화 방법{THE Method for GENERALIZING DigitalMap}{The Method for GENERALIZING DigitalMap}

본 발명은 수치지도 일반화 방법에 관한 것이다.The present invention relates to a digital map generalization method.

수치지도는 지리정보시스템의 기본 공간자료로서, 수치지도에서 공간 형상의 상세 부분을 감소시키는 과정. 종종 지도축척에서 축소될 때 수행되는 것으로 세밀함의 감소, 보다 큰 간격의 재표본화 또는 선에서의 점의 수 감소 등 수치지도의 일반화를 포함한다. 전통적으로, 이것은 지도 제작자에 의하여 수작업으로 행해졌지만, 특별히 지리정보체계(Geographic Information System, GIS)와의 결합으로, 반자동화와 자동화된 방법이 사용되어 왔다. 따라서, 사용자의 필요에 따라 효율적으로 수치지도를 일반화할 수 있는 방법이 필요하다.A digital map is a basic spatial data of a geographic information system, a process of reducing the details of a spatial shape in a digital map. Often performed when scaling down the map scale, it involves generalization of the numerical map, such as reduction of detail, resampling of larger intervals, or reduction of the number of points in the line. Traditionally, this has been handled manually by cartographers, but in particular with semi-automated and automated methods, in combination with the Geographic Information System (GIS). Therefore, there is a need for a method that can generalize the digital map efficiently according to the user's needs.

본 발명은 미리 설정된 값에 따른 수치지도를 일반화하는 기존 상용 GIS 소프트웨어와 달리 사용자가 목적에 따라 직접 일반화 기준을 설정할 수 있는 수치지도의 일반화 방법을 제공하여 수치 지도를 축적과 사용 목적에 맞게 객체를 선택하고 간략하게 표현하고자 한다. Unlike existing commercial GIS software which generalizes a digital map according to a predetermined value, the present invention provides a generalization method of a digital map capable of setting a generalization criterion according to a user's purpose, I want to express it briefly.

본원의 일 실시예에 따른 웹(Server-Client) 환경에서의 수치지도 일반화 방법은, 서버로부터 지도 데이터를 불러오는 단계; 사용자로부터 상기 지도 데이터를 일반화하기 위한 일반화 설정을 입력 받는 단계; 서버로 상기 일반화 설정을 전송하여 이에 기초하여 상기 지도 데이터에 대한 일반화를 수행하는 단계; 및 비동기식 통신을 통해 현재 편집 지도의 소실 없이 일반화 결과를 화면에 추가하는 단계를 포함한다.A method for generalizing a digital map in a server-client environment according to an embodiment of the present invention includes: loading map data from a server; Receiving a generalization setting for generalizing the map data from a user; Transmitting generalization settings to a server and performing generalization on the map data based on the generalization settings; And adding the generalization result to the screen without loss of the current editing map through asynchronous communication.

일 실시예에서, 상기 서버로부터 지도 데이터를 불러오는 단계는, 사용자가 파일 형태의 데이터를 지오서버(GeoServer)에 업로드 하는 단계; 상기 지오서버가 제공하는 WFS 서비스를 이용하여 벡터 데이터를 지오제이슨(GeoJSON) 형태의 문자열 데이터로 제공받는 단계; 오픈레이어3(Openlayers3) 내부에서 제공받은 상기 지오제이슨 형태의 문자열을 분석하여 HTML5의 캔버스(Canvas) 기능을 통해 그래픽 데이터로 변환하는 단계; 및 정해진 좌표계에 따라 피처가 가진 좌표를 지도상에 새로운 레이어로 생성하는 단계;를 포함한다.In one embodiment, the step of loading map data from the server comprises the steps of: the user uploading data in the form of a file to a GeoServer; Receiving vector data as character string data in the form of GeoJSON using the WFS service provided by the geo server; Analyzing the Geo-Jason-style character string provided in the Open Layer 3 and converting it into graphic data through the Canvas function of HTML5; And creating a new layer on the map with the coordinates of the feature according to the determined coordinate system.

일 실시예에서, 상기 일반화 설정을 입력 받는 단계는, 단순화(Simplification) 또는 엘리미네이션(Elimination) 기능을 수행하기 위한 기준 값을 사용자로부터 각각 입력 받는 단계를 포함하고, 상기 단순화의 경우 라인스트링(LineString) 또는 멀티라인스트링(MultiLineString) 데이터의 포인트 간 수직거리(㎞)를 입력 받고, 엘리미네이션은 라인스트링, 멀티라인스트링 데이터가 입력되었을 때는 객체의 길이를 의미하는 길이(Length)(㎞)를, 폴리곤(Polygon), 멀티폴리곤(MultiPolygon) 데이터가 입력되었을 때는 객체의 넓이를 의미하는 넓이(Area)(㎡)를 입력 받는다.In one embodiment, the step of receiving the generalization setting includes receiving a reference value for performing a simplification function or an elimination function, respectively, from a user, and in the case of simplification, The length of the object (length) (km) when the line string and the multi-line string data are input, and the length (km) of the object when the multi-line string data is input. (M2) indicating the width of the object when polygon data and polygon data are input.

일 실시예에서, 상기 일반화 설정을 입력 받는 단계는, 사용자가 화면에서 일반화 항목에 따른 기준 값을 설정할 수 있도록 표시하는 단계;를 포함한다.In one embodiment, the step of inputting the generalization setting includes displaying a user's setting of a reference value according to a generalized item on a screen.

일 실시예에서, 상기 일반화 설정을 입력 받는 단계는, 상기 일반화 항목들의 설정을 자바스크립트(JavaScript) 내부에서 제이슨(JSON) 객체로 저장하고, 저장된 일반화 객체를 오픈레이어3(Openlayers3)를 통해 지오제이슨으로 변환된 레이어의 피처 정보를 포함시켜 상기 서버로 전송하는 단계;를 포함한다.In one embodiment, the step of receiving the generalization settings comprises: storing the settings of the generalized items in a JavaScript as a JSON object, and storing the stored generalized objects in an open layer 3 (Openlayers 3) And transmitting the layer information including the feature information of the converted layer to the server.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 지오툴(Geotools) 객체 변환 모듈에서, 상기 입력 받은 JSON 데이터 중에서 지오제이슨 객체를 내부에서 사용 가능한 지오툴의 심플피처콜렉션(SimpleFeatureCollection)으로 변환하는 단계;를 포함하고, 입력 받은 데이터의 속성이 존재하면 x, y 좌표 값과 속성을 갖는 심플피처콜렉션 객체로, 속성이 존재하지 않으면 x, y 좌표 값만 갖는 심플피처콜렉션 객체로 변환한다.In one embodiment, the step of performing generalization on the map data may include a step of, in a Geotools object transformation module, performing a generalization on the map data using a GeoTools object's SimpleFeatureCollection, And if the attribute of the input data exists, it is converted into a simple feature collection object having x, y coordinate values and attributes, and if the attribute does not exist, into a simple feature collection object having only x, y coordinate values .

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 일반화 옵션(Generalization Option) 객체 생성 모듈에서, 입력 받은 JSON 데이터 중에서 일반화 옵션에 해당하는 값을 일반화 옵션 객체로 생성하는 단계;를 더 포함하고, 입력 받은 데이터의 기하학(Geometry) 유형이 폴리곤 또는 멀티폴리곤 일 경우에는 사용자가 입력한 넓이 기준 값을 일반화 옵션에 저장하고, 입력 받은 데이터의 기하학 유형이 라인스트링 또는 멀티라인스트링일 경우 사용자가 입력한 거리(Distance) 기준 값과 길이 기준 값을 일반화 옵션에 저장한다.In one embodiment, the step of generalizing the map data may include generating a value corresponding to the generalization option from the received JSON data as a generalization option object in the generalization option object creation module If the geometry type of the input data is a polygon or a polygon, the width reference value input by the user is stored in the generalization option. If the geometry type of the input data is a line string or a multi-line string, The distance reference value and the length reference value inputted by the user are stored in the generalization option.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 일반화(Generalization) 객체 생성 모듈에서, 상기 지오툴 객체 변환 모듈과 상기 일반화 옵션 객체 생성 모듈에서 각각 생성한 심플콜렉션(SimpleCollection) 객체와 일반화 옵션 객체로 일반화 객체를 생성하는 단계;를 더 포함한다.In one embodiment, the step of performing generalization on the map data includes a step of performing a generalization object generation module, a simple collection object generated in the geoid tool object conversion module and the generalization option object generation module, And creating a generalization object with the generalization option object.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 토폴로지 생성(Topology Build) 모듈에서, 일반화 객체의 심플피처콜렉션의 좌표 값들의 토폴로지 네트워크(Topology Network)를 구성하는 단계;를 더 포함한다.In one embodiment, performing the generalization on the map data further comprises, in the Topology Build module, configuring a topology network of coordinate values of the simple feature collection of the generalized object do.

일 실시예에서, 상기 토폴로지 네트워크를 구성하는 단계는, 심플피처콜렉션을 구성하는 각각의 심플피처(SimpleFeature)들 중에서 댕글(Dangle) 포인트를 보유한 경우와 댕글 포인트를 보유하지 않은 경우로 분류하여 심플피처콜렉션을 생성하는 단계를 더 포함하고, 상기 댕글 포인트를 두 개(첫 점, 끝 점) 보유하거나 한 개(첫 점, 끝 점 중 하나)만 보유한 공간 데이터는 단순화 및 엘리미네이션 알고리즘을 적용하고, 댕글 포인트를 하나도 보유하지 않은 공간 데이터는 엘리미네이션 알고리즘은 적용하지 않는다.In one embodiment, the step of configuring the topology network may include classifying the simple features as having a dangle point and not having a dangle point among the simple features that constitute the simple feature collection, Wherein the spatial data having two dangling points (first point, end point) or having only one (first point, one end point) are subjected to a simplification and elimination algorithm , And the spatial data that does not have any dangling points does not apply the elimination algorithm.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 토폴로지 테이블(Topology Table) 생성 모듈에서, 상기 토폴로지 생성 모듈을 통해 생성된 토폴로지 네트워크를 리스트(List) 타입으로 나열한 토폴로지 테이블을 생성하는 단계;를 더 포함하고, 상기 토폴로지 테이블에는 다른 객체의 첫 점 또는 끝점과 이어져 있는 객체의 ID와, 첫 점과 연결된 객체의 ID, 끝 점과 연결된 객체의 ID, 및 그 연결된 객체들과의 거리 정보를 저장하고 있다.In one embodiment, performing the generalization on the map data may include generating a topology table in which a topology network generated by the topology generation module is listed in a list type in a topology table generation module Wherein the topology table further includes an ID of an object connected to a first point or an end point of another object, an ID of an object connected to the first point, an ID of an object connected to the end point, and a distance The information is being stored.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 상기 일반화 모듈에서, 상기 일반화 객체와 상기 토폴로지 테이블 객체를 이용하여 심플피처콜렉션의 모든 심플피처 객체에 단순화 또는 엘리미네이션 알고리즘을 적용하는 단계;를 더 포함한다.In one embodiment, performing the generalization on the map data may include applying a simplification or elimination algorithm to all simple feature objects of the simple feature collection using the generalized object and the topology table object in the generalization module The method comprising the steps of:

일 실시예에서, 상기 단순화 알고리즘을 적용하는 단계는, 원래의 선이 나타내는 특징이나 특성 묘사, 형태 유지를 위한 점들을 선정하여 선의 특징을 표현하는데 불필요한 잉여 점을 제거하는 단계를 포함하고, 상기 단순화 알고리즘은 거리 & 각도(Angle), DOUGLAS 및 LANG 알고리즘 중 어느 하나이다.In one embodiment, the step of applying the simplification algorithm includes removing points that are unnecessary for expressing features of a line by selecting points for characteristic, characteristic description, and shape maintenance represented by the original line, The algorithm is either Distance & Angle, DOUGLAS, or LANG algorithm.

일 실시예에서, 상기 엘리미네이션 알고리즘을 적용하는 단계는, 사용자가 입력한 일정 길이(㎞) 이하의 선 데이터 또는 일정 면적(㎡) 이하의 면 데이터를 삭제하는 단계;를 포함한다.In one embodiment, the step of applying the elimination algorithm includes deleting line data of a predetermined length (km) or less or face data of a certain area (m2) or less inputted by the user.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 일반화 결과 객체 생성 모듈에서, 상기 일반화 모듈을 통해 새로 생성된 심플피처콜렉션 객체를 생성하는 단계;를 더 포함하고, 상기 생성된 심플피처콜렉션 객체는 웹 상에 일반화 결과 값으로 표시될 공간 데이터를 의미한다.In one embodiment, performing the generalization on the map data may further include generating a simple feature collection object newly generated through the generalization module in the generalization result object creation module, The feature collection object refers to spatial data to be displayed as a generalization result value on the Web.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 일반화 보고(Generalization Report) 객체 생성 모듈에서, 일반화 전, 후 데이터를 비교하는 일반화 보고 객체를 생성하는 단계;를 더 포함하고, 상기 일반화 보고에는 일반화 전 입력 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수, 일반화 후 반환될 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수를 저장한다.In one embodiment, performing the generalization on the map data may further include generating a generalized report object for comparing data before and after generalization in a generalization report object generation module, The generalization report stores the number of simple feature objects of the input simple feature collection before generalization, the number of points constituting the object, the number of simple feature objects of the simple feature collection to be returned after generalization, and the number of points constituting the object.

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 지오제이슨 객체 변환 모듈에서, 단순화과 엘리미네이션 알고리즘을 수행 후 반환된 심플피처콜렉션을 웹 브라우저 상에 표시하기 위해 지오제이슨 객체로 변환하는 단계;를 더 포함한다.In one embodiment, performing the generalization on the map data comprises converting the simple feature collection returned after performing the simplification and elimination algorithm in the GeoJson object transformation module to a GeoJason object for display on a web browser The method comprising the steps of:

일 실시예에서, 상기 지도 데이터에 대한 일반화를 수행하는 단계는, 일반화 레이어(Generalization Layer) 생성 모듈에서, 일반화의 모든 모듈을 거쳐 생성된 일반화 결과 지오제이슨 객체, 일반화 보고 객체, 토폴로지 테이블 객체를 하나의 일반화 레이어 객체로 생성하는 단계;를 더 포함하고, 상기 일반화 결과 지오제이슨 객체는 뷰어에 검수 결과 레이어(Layer)로 추가되고, 상기 일반화 보고, 상기 토폴로지 테이블 객체는 테이블 형식으로 사용자 화면에 보여진다.In one embodiment, performing the generalization on the map data comprises: generating generalization result GeoJason objects, generalized report objects, and topology table objects, which are generated through all modules of generalization, in a generalization layer generation module Wherein the generalization result and the topology table object are displayed in a form of a table in a user screen, wherein the generalization report and the topology table object are displayed on a user screen in a table format .

일 실시예에 따른 컴퓨터 프로그램은, 하드웨어와 결합되어 전술한 수치지도 일반화 방법의 각 단계를 실행시킨다.The computer program according to one embodiment combines with hardware to implement each of the steps of the digital map generalization method described above.

본 발명의 다른 실시예에 따르면 수치지도의 일반화 방법을 제공하여 수치 지도를 축적과 사용 목적에 맞게 객체를 선택하고 간략하게 표현할 수 있다. 위와 같은 방법들은 모두 웹 브라우저 상에서 가능한 기능으로 제공되어 데스크톱 기반인 기존 상용 GIS 소프트웨어와는 달리 인터넷이 가능한 환경에서는 어디서든 사용이 가능하다는 장점이 있다. According to another embodiment of the present invention, a method of generalizing a digital map can be provided, and an object can be selected and briefly expressed according to the purpose of accumulating and using a digital map. All of the above methods are provided as functions available on a web browser, and unlike conventional commercial GIS software that is based on desktop, it has an advantage that it can be used anywhere in the Internet-enabled environment.

도 1은 지오제이슨(GeoJSON)의 구조를 나타내는 도면이다.
도 2는 일반화 모듈 흐름도를 나타내는 도면이다.
도 3은 토폴로지 생성 적용 전 일반화 결과를 나타내는 도면이다.
도 4는 댕글 포인트(Dangle Point)를 나타내는 도면이다.
도 5는 토폴로지 생성 적용 후 일반화 결과를 나타내는 도면이다.
도 6은 단순화 Step 1 를 나타내는 도면이다.
도 7은 단순화 Step 2 를 나타내는 도면이다.
도 8은 단순화 결과를 나타내는 도면이다.
도 9는 일반화 전, 후 비교 화면을 나타내는 도면이다.
도 10은 일반화 보고 를 나타내는 도면이다.
도 11은 토폴로지 테이블을 나타내는 도면이다.
1 is a view showing the structure of GeoJSON.
2 is a diagram showing a generalized module flow chart.
3 is a diagram showing a generalization result before application of topology generation.
4 is a view showing a dangle point.
5 is a diagram showing a result of generalization after application of topology generation.
6 is a diagram showing a simplified step 1.
FIG. 7 is a diagram showing a simplified Step 2. FIG.
Fig. 8 is a diagram showing a result of simplification.
9 is a diagram showing a comparison screen before and after generalization.
10 is a diagram showing a generalization report.
11 is a diagram showing a topology table.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일하거나 유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 “모듈” 및 “부”는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like or similar elements are denoted by the same or similar reference numerals, and redundant description thereof will be omitted. The suffix " module " and " part " for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role. In the following description of the embodiments of the present invention, a detailed description of related arts will be omitted when it is determined that the gist of the embodiments disclosed herein may be blurred. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. , ≪ / RTI > equivalents, and alternatives.

본원의 일 실시예에 따른 일반화는 두 가지의 기능을 제공한다. 첫 번째 기능은 단순화(Simplification) 기능으로 데이터 유형이 라인스트링 또는 멀티라인스트링 인 경우 사용자가 입력한 일정 기준 값을 이용하여 더글라스(DOUGLAS) 알고리즘을 적용하여 공간 데이터를 간략화한 것이다. 두 번째 기능은 엘리미네이션으로 사용자가 입력한 일정 기준 값 이하의 길이 또는 면적을 갖는 데이터를 삭제하는 기능이며 데이터 유형이 라인스트링, 멀티라인스트링, 폴리곤, 멀티폴리곤 일 때 사용 가능하다. 일반화의 단계는 1. 지도 데이터 불러오기, 2. 일반화 설정하기 3. 검수 서버로 전송하기, 4. 일반화 결과 추가하기 총 4단계로 구성된다. 단계별 상세한 설명은 다음과 같다. Generalization according to one embodiment of the present disclosure provides two functions. The first function is a simplification function. When the data type is a line string or a multi-line string, the DOUGLAS algorithm is applied to simplify spatial data by using a predetermined reference value inputted by the user. The second function is the elimination of data with a length or area less than a certain threshold value entered by the user with the elimination, and can be used when the data type is a line string, a multi-line string, a polygon, or a polygon. The steps of generalization are: 1. Importing map data, 2. Setting generalization, 3. Transferring data to inspection server, and 4. Adding generalization result. The detailed steps are as follows.

1. 지도 데이터 불러오기1. Importing map data

본원의 일 실시예에 따른 일반화 도구는 웹(Server-Client)각주(1) 환경에 맞춰 개발되었다. 상용 프로그램인 ArcGIS 또는 QGIS와 같은 데스크톱 응용 프로그램에서는 파일 형태의 벡터 데이터를 사용하지만, 웹 기반 일반화 도구는 웹 보안상의 한계로 사용자 화면(웹 브라우저)에서 직접적인 접근 및 편집이 불가능하다. 따라서 일반화에 사용될 벡터 데이터를 웹 환경에서 사용자가 편집 가능한 형태로 제공하기 위해서는 웹 환경에 적합한 데이터 포맷으로 변환되어야 하며, 이를 해결하기 위한 수단으로 지오서버(GeoServer)각주(2)를 사용한다. 웹 기반 일반화 도구는 사용자가 파일 형태의 데이터를 지오서버에 업로드 후, 지오서버가 제공하는 웹피처서비스(Web Feature Service, WFS)각주(3)를 이용하여 벡터 데이터를 도 1에 나타난 바와 같은 지오제이슨(GeoJSON)각주(4) 형태의 문자열 데이터로 제공받는다. (각주(1) : 클라이언트(Client)는 서비스를 사용하는 사용자 혹은 사용자의 단말기를 가리키는 말이다. 서버(Server)란 서비스를 제공하는 컴퓨터이며, 다수의 클라이언트를 위해 존재하기 때문에 일반적으로 매우 큰 용량과 성능을 가지고 있다. 웹사이트에서는 웹 서버(IIS, Apache)가 서버 역할을 하고, 사용자가 쓰는 웹 브라우저(파이어폭스 또는 MS의 인터넷 익스플로러)가 클라이언트 프로그램이 된다./ 각주(2) : 지오서버(지오서버)는 지리공간 데이터를 공유하고 편집할 수 있는 자바(Java)로 개발된 오픈 소스 GIS 소프트웨어 서버이다. 상호운용성을 전제로 개발되었기 때문에, 개방형 표준을 사용하여 다양한 공간 데이터 소스를 서비스할 수 있게 한다./ 각주(3) : 하이퍼텍스트 트랜스퍼 프로토콜(HyperText Transfer Protocol, HTTP)을 이용하여 지리 피처 단위의 조작 및 처리에 필요한 인터페이스의 제공을 목적으로 한다./ 각주(4) : 자바스크립트 Object Notation (JSON)에 기반한 공간 데이터 교환 포맷이다. 자바스크립트의 문법을 채용했기 때문에 자바스크립트를 자주 사용하는 웹 환경에서 유리하다.)The generalization tool according to one embodiment of the present application was developed in accordance with the (1) environment of the web-server. Desktop applications such as ArcGIS or QGIS, which is a commercial program, use vector data in the form of files, but web-based generalization tools are not accessible and editable directly on the user's screen (web browser) due to the limitation of web security. Therefore, in order to provide the vector data to be used for generalization in a user-editable form in the web environment, it must be converted into a data format suitable for the web environment, and GeoServer footnote (2) is used as means for solving this. The web-based generalization tool uses the Web Feature Service (WFS) footnote (3) provided by the Geo Server to upload the vector data to the geo server as shown in FIG. 1 It is provided as string data in the form of a Jason (GeoJSON) footnote (4) . A server is a computer that provides services, and because it exists for a large number of clients, it usually has a very large capacity, Web server (IIS, Apache) serves as a server, and the user's web browser (Firefox or Microsoft Internet Explorer) is the client program. / Footnote (2): Geo server GeoServer) is an open source GIS software server developed in Java that enables users to share and edit geospatial data. Because it was developed with interoperability, it is possible to use open standards to serve various spatial data sources. / Footnote (3): Using the HyperText Transfer Protocol (HTTP) to create a set of geographic feature units (4): It is a spatial data exchange format based on JavaScript Object Notation (JSON). Because it adopts the syntax of JavaScript, JavaScript is used frequently in web environment It is advantageous.)

제공받은 지오제이슨 형태의 문자열은 오픈레이어3(Openlayers3)각주(5) 내부에서 문자열 데이터를 분석해서 하이퍼텍스트 마그업 언어(HyperText Markup Language 5, HTML5)의 캔버스각주(6) 기능을 통해 그래픽 데이터로 변환된다. 이후 정해진 좌표계에 따라 피처가 가진 좌표를 지도상에 새로운 레이어로 생성된다. 이후 사용자는 생성된 레이어를 검수하게 된다. (각주(5) : 웹 브라우저에서 지도를 출력 및 편집할 수 있는 자바스크립트(JavaScript) 기반의 오픈소스 라이브러리이다./ 각주(6) : HTML5에 추가된 기능요소이다. 자바스크립트를 통해 그래픽을 그리는 데 사용될 수 있다.)The supplied Geo-Jason-style string analyzes the string data within the OpenLayer3 footnote (5) and uses the canvas footnote (6) of the HyperText Markup Language 5 (HTML5) . Then, the coordinates of the feature are created as a new layer on the map according to the defined coordinate system. The user then checks the created layer. (Footnote (5): A JavaScript-based open source library for outputting and editing maps in a web browser.) / Footnote (6): A functional element added to HTML5. Can be used for.

2. 일반화 설정하기2. Setting generalization

일반화 설정은 단순화, 엘리미네이션 기능을 수행하기 위한 기준 값을 설정하는 것으로 각각 기준 값을 입력해야 한다. 표 1을 보면, 단순화의 경우 라인스트링(LineString) 또는 멀티라인스트링(MultiLineString) 데이터의 포인트 간 수직거리(㎞)를 입력한다. 엘리미네이션은 라인스트링, 멀티라인스트링 데이터가 입력되었을 때는 객체의 길이를 의미하는 길이(Length)(㎞)를, 폴리곤(Polygon), 멀티폴리곤(MultiPolygon) 데이터가 입력되었을 때는 객체의 넓이를 의미하는 넓이(Area)(㎡)를 입력한다. The generalization setting simplifies the setting of the reference value for performing the elimination function, and each reference value must be inputted. In Table 1, for simplification, enter the vertical distance (in km) between the points of the line string (LineString) or the multi-line string (MultiLineString) data. Elemination means the length (km) which means the length of the object when the line string and the multi-line string data are input, the width of the object when the polygon data and the polygon data are input (M 2) to be input.

일반화 항목Generalized Items 피처 타입Feature type 기준 값Reference value 단순화leveling 라인스트링, 멀티라인스트링Line strings, multi-line strings 거리 (km)Distance (km) 엘리미네이션
Elimination
라인스트링, 멀티라인스트링Line strings, multi-line strings 길이 (km)Length (km)
폴리곤, 멀티폴리곤Polygon, Multipolygon 넓이 (m²)Width (m²)

일반화 설정 또한 구조화 검증 설정과 마찬가지로 사용자 화면에서 일반화 항목에 따른 기준 값을 설정하게 되어있어 다양한 형태로 확장이 가능하다는 장점이 있다. Generalization setting As in the structured verification setting, since the reference value according to the generalization item is set in the user screen, it is possible to expand the system in various forms.

위 일반화 항목 설정은 자바스크립트 내부에서 JSON각주(7) 객체로 저장된다. 저장된 객체는 Openlayers3를 통해 지오제이슨으로 변환된 레이어의 피처 정보를 포함시켜 서버에 전송한다. 서버에서는 일반화 설정 객체를 전송받아 이를 분석해 지도 데이터의 일반화를 수행한다.(각주(7) : JSON (Javascript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다.)The above generalization item settings are saved as JSON footnote (7) objects inside JavaScript. The stored object includes the feature information of the layer converted into Geo-Jason through Openlayers3 and transmits it to the server. (7): JSON (Javascript Object Notation) is a lightweight data-exchange format that is easy for humans to read and write, It is also easy to analyze and create machines, especially when they are exchanging data on the Internet.

3. 서버로 전송하기3. Transfer to server

AJAX각주(8) 요청을 통해 문자열 형태의 일반화 객체를 서버로 전송한다. 서버에는 객체를 일반화 하는데 도 2에 도시된 바와 같이 10개의 모듈이 포함된다.(각주(8) : 서버측으로 다양한 형식(JSON, XML, HTML 및 일반 텍스트 형식 등)의 정보를 비동기적으로 주고 받을 수 있다. 수신하는 데이터 양을 줄일 수 있고, 클라이언트에게 처리를 위임할 수도 있다.)AJAX footnote (8) sends a generalized object in the form of a string to the server through a request. The server includes 10 modules as shown in Fig. 2 for generalizing the objects. (Footnote (8): Asynchronously sending and receiving information in various formats (JSON, XML, HTML and plain text format) to the server side You can reduce the amount of data you receive and delegate processing to the client.)

3.1 지오툴(GeoTools) 객체 변환3.1 GeoTools object transformation

입력 받은 JSON 데이터 중에서 지오제이슨 객체를 내부에서 사용 가능한 지오툴의 심플피처콜렉션으로 변환하는 모듈이다. 구조화 검증의 지오툴 객체 변환과는 다르게 입력 데이터의 속성이 존재하면 x, y 좌표 값과 속성을 갖는 심플피처콜렉션 객체로, 속성이 존재하지 않으면 x, y 좌표 값만 갖는 심플피처콜렉션 객체로 변환한다. It is a module that converts GeoJason objects from input JSON data into a simple feature collection of geo-tools that can be used internally. Unlike geometry object transformation of structured verification, if there is an attribute of input data, it is converted into a simple feature collection object with x, y coordinate value and attribute. If attribute does not exist, it is converted into simple feature collection object with only x, y coordinate value .

3.2 일반화 옵션(Generalization Option) 객체 생성3.2 Creating Generalization Option Object

입력받은 JSON 데이터 중에서 일반화 옵션에 해당하는 값을 일반화 옵션 객체로 생성하는 모듈이다. 입력 데이터의 기하학(Geometry) 유형이 폴리곤 또는 멀티폴리곤 일 경우에는 일정 기준 값 이하의 면적인 데이터를 삭제하는 엘리미네이션 기능만 수행이 가능하여 사용자가 입력한 넓이 기준 값을 일반화 옵션에 저장한다. 입력 데이터의 기하학 유형이 라인스트링 또는 멀티라인스트링일 경우 단순화과 엘리미네이션 기능 모두 수행 가능하여 사용자가 입력한 거리 기준 값과 길이 기준 값을 일반화 옵션에 저장한다. It is a module that generates a value corresponding to the generalization option among the input JSON data as a generalization option object. When the geometry type of the input data is polygon or polygon, only the elimination function of deleting data having an area less than a certain reference value can be performed, and the width reference value inputted by the user is stored in the generalization option. If the geometry type of the input data is a line string or a multiline string, both the simplification and the elimination function can be performed, and the distance reference value and the length reference value inputted by the user are stored in the generalization option.

3.3 일반화 객체 생성3.3 Generating generalized objects

3.1 지오툴 객체 변환 모듈과 3.2 일반화 옵션 객체 생성 모듈에서 각각 생성한 심플피처콜렉션 객체와 일반화 옵션 객체로 일반화 객체를 생성한다. 3.1 Geo Tool Object Conversion Module and 3.2 Generalization Option Generate generalized objects with simple feature collection object and generalization option object created by object creation module respectively.

3.4 토폴로지 생성(Topology Build)3.4 Topology Build

일반화 알고리즘을 수행하기 전 토폴로지 생성를 통하여 일반화 객체의 심플피처콜렉션의 좌표 값들의 토폴로지 네트워크를 구성한다. 만약 토폴로지 생성을 적용하지 않은 선 객체를 단순화, 엘리미네이션 했을 경우 하나의 선이라 할지라도 점과 점 사이의 거리가 짧으면 제거되어 버리기 때문에 도 3에서 도시된 바와 같이 선 데이터가 끊어지는 문제가 발생한다.Before the generalization algorithm is performed, a topology network of coordinate values of the simple feature collection of generalized objects is constructed by topology generation. If a line object that does not apply topology generation is simplified or eliminated, even if it is a single line, if the distance between a point and a point is short, a line object is cut off as shown in FIG. 3 do.

따라서 토폴로지 생성를 통하여 위와 같은 문제를 해결한다. 토폴로지 생성는 심플피처콜렉션을 구성하는 각각의 심플피처들 중에서 댕글(Dangle) 포인트를 보유한 경우와 댕글 포인트를 보유하지 않은 경우 두 가지로 분류하여 심플피처콜렉션을 생성하고 알고리즘을 적용한다. 도 4에 도시된 바와 같이, 댕글 포인트란 연결된 객체가 없는 공간 데이터의 마지막 포인트를 의미한다. 댕글 포인트를 두 개(첫 점, 끝 점) 모두 가진 공간 데이터와 한 개(첫 점, 끝 점 중 하나)만 보유한 공간데이터는 단순화, 엘리미네이션 알고리즘을 모두 적용하고 댕글 포인트를 하나도 보유하지 않은 공간 데이터는 양 끝점에 연결된 객체가 있다는 의미이기 때문에 엘리미네이션 알고리즘은 적용하지 않는다.(공간 데이터의 길이가 짧다고 하여 객체를 무조건 삭제하지 않음)도 5는 토폴로지 생성 적용 후 일반화 결과를 나타내는 도면이다.Therefore, the above problem is solved through topology generation. Topology generation generates simple feature collection and applies algorithms to each of the simple features that make up the simple feature collection, classifying them into two cases, one having a dangle point and the other having no dangling point. As shown in FIG. 4, a dangling point means a last point of spatial data in which no connected object exists. Spatial data with both dangling points (first point and end point) and spatial data with only one (first point, end point) are simplified, and all the elimination algorithms are applied, and no dangling points Since the spatial data means that there are objects connected to both end points, the algorithm is not applied (the object is not unconditionally deleted if the spatial data length is short). FIG. 5 is a diagram showing a result of generalization after applying topology generation .

3.5 토폴로지 테이블(Topology Table) 생성3.5 Creating a Topology Table

토폴로지 생성 모듈을 통해 생성된 토폴로지 네트워크(Topology Network)를 리스트(List) 타입으로 나열한 토폴로지 테이블을 생성하는 모듈이다. 테이블(Table)에는 다른 객체의 첫 점 또는 끝점과 이어져 있는 객체의 ID와, 첫 점과 연결된 객체의 ID, 끝 점과 연결된 객체의 ID, 또한 그 연결된 객체들과의 거리 정보를 저장하고 있다. And generates a topology table in which a topology network (Topology Network) generated through a topology generation module is listed in a list type. The table stores the ID of the object connected to the first or end point of another object, the ID of the object connected to the first point, the ID of the object connected to the end point, and the distance information between the connected objects.

3.6 일반화(Generalization)3.6 Generalization

일반화 객체와 토폴로지 테이블 객체를 이용하여 심플피처콜렉션의 모든 심플피처 객체에 다음과 같은 일반화 알고리즘을 적용시킨다. Apply the following generalization algorithm to all simple feature objects in a simple feature collection using generalization objects and topology table objects.

- 단순화(Simplification) - Simplification

단순화는 원래의 선이 나타내는 특징이나 특성 묘사, 형태 유지를 위한 점들을 선정하여 선의 특징을 표현하는데 불필요한 잉여 점을 제거하여 주는 과정을 의미한다. 일반화 알고리즘은 대표적으로 거리(Distance) & 각도(Angle), 더글라스(DOUGLAS), 랑(LANG)이 있다. 본 발명은 DOUGLAS 알고리즘을 적용시켰다.Simplification refers to the process of eliminating unnecessary surplus points in expressing the characteristics of a line by selecting the points represented by the original lines and describing the characteristics and shape. The generalization algorithms are typically Distance & Angle, DOUGLAS, LANG. The present invention applies the DOUGLAS algorithm.

아래의 예를 입력 받은 심플피처콜렉션(SimpleFeatureCollection)의 하나의 심플피처(SimpleFeature)라고 가정하여 설명해 보면 도6에 도시된 바와 같이심플피처의 좌표 값 중 첫 점인 p1과 마지막점인 p5 사이를 직선으로 잇는 선을 생성하게 된다.Assuming that the SimpleFeatureCollection is a SimpleFeature, the following example is taken as a straight line between the first point p1 and the last point p5 of the coordinate values of the simple features as shown in FIG. 6 Thereby creating a connecting line.

이 선과 각 점과의 직선거리를 계산하여 가장 먼 거리에 있는 점 중 사용자가 화면에서 입력한 거리(Distance)보다 큰 거리에 있는 점(p6)을 계산하여 단순화 결과 심플피처 객체의 점으로 저장한다. 이 후 도7에 도시된 바와 같이 p1과 단순화 결과 심플피처 객체에 저장한 점(p6)을 잇는 새로운 선을 생성한다. 이후 같은 방법으로 새로 생성된 선과의 거리가 거리 보다 멀리 있는 점(p3)을 단순화 결과 심플피처 객체에 저장한다. The straight line distance between this line and each point is calculated and a point (p6) at a distance greater than the distance input by the user from the farthest distance is calculated and stored as a simple feature object point . Then, as shown in FIG. 7, a new line connecting p1 and a point p6 stored in the simple feature object as a result of simplification is generated. In the same way, the point (p3), which is farther away from the newly generated line than the distance, is stored in the simplification result simple feature object.

이와 같은 방법을 직선 사이의 점이 존재하지 않을 때까지 계속해서 반복한 다음, 첫 단계서 저장했던 p6과 마지막 점(p15)를 같은 방법으로 반복하여 수행한 결과는 도 8과 같다.This method is repeated until the point between the straight lines does not exist. Then, the result of the p6 and the last point (p15) stored in the first step are repeated in the same manner as shown in FIG.

위와 같은 과정을 거쳐 새로 생성된 심플피처 들을 심플피처콜렉션에 모두 저장하여 반환하게 된다. Through the above process, newly created simple features are stored and returned to the simple feature collection.

- 엘리미네이션(Elimination)- Elimination

엘리미네이션은 사용자가 입력한 일정 길이(㎞) 이하의 선 데이터 또는 일정 면적(㎡) 이하의 면 데이터를 삭제하는 것을 의미한다. 입력 받은 심플피처콜렉션 객체를 구성하는 모든 심플피처 객체를 순차적으로 가져와 사용자가 입력한 기준 값 조건을 만족하는지 여부를 확인한다. 심플피처의 기하학 유형이 라인스트링 또는 멀티라인스트링인 경우 해당 심플피처의 기하학 값의 길이를 구하여 사용자가 입력한 길이(km) 이하의 값인지 여부를 확인한다. 기하학 유형이 폴리곤 또는 멀티폴리곤 일 경우 해당 심플피처의 기하학 값의 면적을 구하여 사용자가 입력한 면적(㎡) 이하의 값인지 여부를 확인한다. 만일 해당 기준 값 이하의 길이 또는 넓이를 가진 경우, 결과로 반환할 심플피처콜렉션 객체에 저장하지 않으며 기준 값 이상의 길이 또는 넓이를 가진 경우 결과 심플피처콜렉션 객체에 저장한다. Elimination means deletion of line data less than a certain length (km) inputted by the user or plane data of a certain area (m2) or less. All simple feature objects that constitute the input simple feature collection object are sequentially fetched and checked to see if they satisfy the criteria value entered by the user. If the geometric type of the simple feature is a line string or a multiline string, determine the length of the geometric value of the simple feature and check whether the value is less than the length (km) input by the user. If the geometry type is a polygon or a polygon, determine the area of the geometric value of the corresponding simple feature and check whether the value is equal to or smaller than the area (㎡) input by the user. If the length or width is less than or equal to the reference value, it is not stored in the simple feature collection object to be returned. If the length or width is larger than the reference value, the result is stored in the simple feature collection object.

3.7 일반화 결과 객체 생성3.7 Generating generalization result objects

3.6 일반화 모듈을 통해 새로 생성된 심플피처콜렉션 객체를 생성하는 모듈을 의미하며 웹 상에 일반화 결과 값으로 표시될 공간 데이터를 의미한다. 3.6 Refers to a module that creates a newly created simple feature collection object through a generalization module and refers to spatial data to be displayed as a generalization result on the web.

3.8 일반화 보고(Generalization Report) 객체 생성3.8 Generating Generalization Report

일반화 보고 객체 생성 모듈에서는 일반화 전, 후 데이터를 비교하는 일반화 보고 객체를 생성한다. 일반화 보고에는 일반화 전 입력 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수, 일반화 후 반환될 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수를 저장한다. Generalized report object generation module generates a generalized report object that compares data before and after generalization. The generalization report stores the number of simple feature objects of the input simple feature collection before generalization, the number of points constituting the object, the number of simple feature objects of the simple feature collection to be returned after generalization, and the number of points constituting the object.

3.9 지오제이슨(GeoJSON) 객체 변환3.9 GeoJSON object conversion

단순화과 엘리미네이션 알고리즘을 수행 후 반환된 심플피처콜렉션은 웹 브라우저 상에 표시하기 위해 지오제이슨 객체로 변환한다. After performing the simplification and elimination algorithms, the returned simple feature collection is transformed into a Geo-Jason object for display on the Web browser.

3.10 일반화 레이어(Generalization Layer) 생성3.10 Generating a Generalization Layer

일반화 레이어 생성 모듈은 일반화의 모든 모듈을 거쳐 생성된 일반화 결과지오제이슨 객체, 일반화 보고 객체, 토폴로지 테이블 객체를 하나의 일반화 레이어 객체로 생성하는 모듈이다. 일반화 결과 지오제이슨 객체는 뷰어에 검수 결과 레이어로 추가되며 일반화 보고, 토폴로지 테이블 객체는 테이블 형식으로 사용자 화면에 보여진다. The generalization layer generation module is a module that generates a generalization layer object as a generalization result, a generalized report object, and a topology table object, which are generated through generalization modules. Generalization results Geo-Jason objects are added to the viewer as a verification result layer, generalized reporting, and topology table objects are displayed in tabular form on the user's screen.

4. 일반화 결과 추가하기4. Adding generalization results

일반화 결과는 비동기식 통신각주(9)을 통해 기존 지도 데이터의 소실 없이 일반화 결과를 화면에 추가한다. 기존 데이터의 손실이 없기 때문에 일반화 전, 후의 데이터 비교도 가능하다. 도 9는 지도 데이터를 실제로 일반화 한 전, 후 비교한 것으로 서버로부터 전송된 일반화 레이어 객체에서 공간 데이터를 의미하는 지오제이슨 객체를 화면에 추가한 것이다. 도 10은 일반화 보고를, 도 11은 토폴로지 테이블을 추가한 것이다.(각주(9) : 기존의 웹 애플리케이션은 브라우저에서 폼을 채우고 이를 웹 서버로 제출(submit)을 하면 하나의 요청으로 웹 서버는 요청된 내용에 따라서 데이터를 가공하여 새로운 웹 페이지를 작성하고 응답으로 되돌려준다. 반면에 Ajax 애플리케이션은 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다.)The generalization result adds the generalization result to the screen without loss of existing map data through the asynchronous communication footnote (9) . Since there is no loss of existing data, it is possible to compare data before and after generalization. FIG. 9 is a diagram of a Geo-Jason object added to a screen, which means spatial data in a generalized layer object transmitted from a server, before and after map data is actually generalized. Figure 10 shows a generalized report and Figure 11 shows a topology table. (Footnote (9): When an existing web application fills a form in a browser and submits it to a web server, The Ajax application can only request data from the web server and then process the data in the client.)

전술한 본 발명은, 매체에 기록된 컴퓨터 프로그램 또는 애플리케이션으로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부를 포함할 수도 있다.)The above-described present invention can be implemented as a computer program or an application recorded on a medium. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, , And may also be implemented in the form of a carrier wave (e.g., transmission over the Internet). Also, the computer may include a control unit of the terminal.

상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The foregoing detailed description should not be construed in all aspects as limiting and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

Claims (19)

웹(Server-Client) 환경에서의 수치지도 일반화 방법으로서,
서버로부터 지도 데이터를 불러오는 단계;
사용자로부터 상기 지도 데이터를 일반화하기 위한 일반화 설정을 입력 받는 단계;
서버로 상기 일반화 설정을 전송하고 이에 기초하여 상기 지도 데이터에 대한 일반화를 수행하는 단계; 및
비동기식 통신을 통해 현재 편집 지도의 소실 없이 일반화 결과를 화면에 추가하는 단계를 포함하며,
상기 불러오는 단계는, 사용자가 파일 형태의 데이터를 지오서버(GeoServer)에 업로드 하는 단계; 상기 지오서버가 제공하는 웹피처서비스(Web Feature Service, WFS)를 이용하여 벡터 데이터를 지오제이슨(GeoJSON) 형태의 문자열 데이터로 제공받는 단계; 오픈레이어3(Openlayers3) 내부에서 제공받은 상기 지오제이슨 형태의 문자열을 분석하여 HTML5의 캔버스(Canvas) 기능을 통해 그래픽 데이터로 변환하는 단계; 및 정해진 좌표계에 따라 피처(feature)가 가진 좌표를 지도상에 새로운 레이어로 생성하는 단계를 포함하고,
상기 입력 받는 단계는, 단순화(Simplification) 또는 엘리미네이션(Elimination) 기능을 수행하기 위한 기준 값을 사용자로부터 각각 입력 받는 단계를 포함하고, 여기서 상기 단순화의 경우 라인스트링(LineString) 또는 멀티라인스트링(MultiLineString) 데이터의 포인트 간 수직거리(㎞)를 입력 받고, 상기 엘리미네이션은 라인스트링 또는 멀티라인스트링 데이터가 입력되었을 때는 객체의 길이를 의미하는 길이(Length)(㎞)를 입력 받고, 폴리곤(Polygon) 또는 멀티폴리곤(MultiPolygon) 데이터가 입력되었을 때는 객체의 넓이를 의미하는 넓이(Area)(㎡)를 입력 받으며,
상기 입력 받는 단계는, 사용자가 화면에서 일반화 항목에 따른 기준 값을 설정할 수 있도록 표시하는 것을 포함하며,
상기 입력 받는 단계는, 상기 일반화 항목들의 설정을 자바스크립트(JavaScript) 내부에서 제이슨(JSON) 객체로 저장하고, 저장된 일반화 객체를 오픈레이어3을 통해 지오제이슨으로 변환된 레이어의 특징(Feature) 정보를 포함시켜 상기 서버로 전송하는 것을 포함하며,
상기 지도 데이터에 대한 일반화를 수행하는 단계는, 지오툴(GeoTools) 객체 변환 모듈에서, 상기 입력 받은 JSON 데이터 중에서 지오제이슨 객체를 내부에서 사용 가능한 지오툴의 심플피처콜렉션(SimpleFeatureCollection)으로 변환하고, 여기서 입력 받은 데이터의 속성이 존재하면 x, y 좌표 값과 속성을 갖는 심플피처콜렉션 객체로 변환하고, 상기 속성이 존재하지 않으면 x, y 좌표 값만 갖는 심플피처콜렉션 객체로 변환하는, 수치지도 일반화 방법.
As a numerical map generalization method in a web (Server-Client) environment,
Loading map data from a server;
Receiving a generalization setting for generalizing the map data from a user;
Transmitting the generalization setting to the server and performing generalization on the map data based on the generalization setting; And
Adding the generalization result to the screen without losing the current editing map through asynchronous communication,
The loading step may include: a step in which a user uploads data in a file format to a GeoServer; Receiving vector data as character string data in the form of GeoJSON using a web feature service (WFS) provided by the geo server; Analyzing the Geo-Jason-style character string provided in the Open Layer 3 and converting it into graphic data through the Canvas function of HTML5; And creating a new layer on the map of the coordinates of the feature according to a predetermined coordinate system,
The receiving step may include receiving a reference value for performing a simplification function or an elimination function from a user, wherein the simplifying step includes receiving a line string or a multi-line string And the length of the object (length) (km) when the line string or the multi-line string data is input, receives the vertical distance (km) between the polygons Polygon) or MultiPolygon data is input, the area (m2) indicating the width of the object is input,
The receiving step may include displaying a reference value according to a generalized item on a screen so that the user can set a reference value,
The receiving step stores the settings of the generalized items in a JavaScript as a JSON object, and stores the stored generalized object as feature information of a layer converted into Geo-Jason through the open layer 3 To the server,
The step of performing the generalization on the map data may include transforming the GeoJason object into a SimpleFeatureCollection of the GeoTool available in the GeoTools object conversion module, Transforming a simple feature collection object having an x, y coordinate value and an attribute, if the attribute of the input data exists, into a simple feature collection object having only x, y coordinate values if the attribute does not exist;
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
일반화 옵션(Generalization Option) 객체 생성 모듈에서,
입력 받은 JSON 데이터 중에서 일반화 옵션에 해당하는 값을 일반화 옵션 객체로 생성하는 단계;를 더 포함하고,
입력 받은 데이터의 기하학(Geometry) 유형이 폴리곤 또는 멀티폴리곤일 경우에는 사용자가 입력한 넓이 기준 값을 일반화 옵션에 저장하고, 입력 받은 데이터의 기하학 유형이 라인스트링 또는 멀티라인스트링일 경우 사용자가 입력한 거리 기준 값과 길이 기준 값을 일반화 옵션에 저장하는, 수치지도 일반화 방법.
The method according to claim 1,
Wherein the step of performing generalization on the map data comprises:
Generalization Option In the object creation module,
And generating a value corresponding to the generalization option from the received JSON data as a generalization option object,
If the geometry type of the input data is a polygon or a polygon, the width reference value inputted by the user is stored in the generalization option. If the geometry type of the input data is a line string or a multi-line string, A method of generalizing a digital map, wherein the distance reference value and the length reference value are stored in a generalization option.
제 7 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
일반화 객체 생성 모듈에서,
상기 지오툴 객체 변환 모듈과 상기 일반화 옵션 객체 생성 모듈에서 각각 생성한 심플피처콜렉션 객체와 일반화 옵션 객체로 일반화 객체를 생성하는 단계;를 더 포함하는, 수치지도 일반화 방법.
8. The method of claim 7,
Wherein the step of performing generalization on the map data comprises:
In the generalized object creation module,
And generating a generalized object using the simple feature collection object and the generalized option object generated by the geoid tool object conversion module and the generalized option object generation module, respectively.
제 8 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
토폴로지 생성(Topology Build) 모듈에서,
일반화 객체의 심플피처콜렉션의 좌표 값들의 토폴로지 네트워크(Topology Network)를 구성하는 단계;를 더 포함하는, 수치지도 일반화 방법.
9. The method of claim 8,
Wherein the step of performing generalization on the map data comprises:
In the Topology Build module,
And constructing a topology network of coordinate values of the simple feature collection of the generalization object.
제 9 항에 있어서,
상기 토폴로지 네트워크를 구성하는 단계는,
심플피처콜렉션을 구성하는 각각의 심플피처들 중에서 댕글(Dangle) 포인트를 보유한 경우와 댕글 포인트를 보유하지 않은 경우로 분류하여 심플피처콜렉션을 생성하는 단계를 더 포함하고,
여기서, 상기 댕글 포인트를 두 개(첫 점, 끝 점) 모두보유한 공간 데이터와 한 개(첫 점, 끝 점 중 하나)만 보유한 공간데이터는 단순화 및 엘리미네이션 알고리즘을 적용하고, 댕글 포인트를 보유하지 않은 공간 데이터는 엘리미네이션 알고리즘은 적용하지 않는, 수치지도 일반화 방법.
10. The method of claim 9,
Wherein configuring the topology network comprises:
Further comprising the step of classifying the simple features as having a dangle point and not having a dangle point among the simple features constituting the simple feature collection to generate a simple feature collection,
Here, the spatial data having both of the dangling points (the first point and the end point) and the spatial data having only one (one of the first point and the end point) are subjected to the simplification and elimination algorithm, and the dangling points A method of generalizing a digital map, wherein the spatial data does not apply an elimination algorithm.
제 9 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
토폴로지 테이블(Topology Table) 생성 모듈에서,
상기 토폴로지 생성 모듈을 통해 생성된 토폴로지 네트워크를 리스트(List) 타입으로 나열한 토폴로지 테이블을 생성하는 단계;를 더 포함하고,
상기 토폴로지 테이블에는 다른 객체의 첫 점 또는 끝점과 이어져 있는 객체의 ID와, 첫 점과 연결된 객체의 ID, 끝 점과 연결된 객체의 ID, 및 그 연결된 객체들과의 거리 정보를 저장하고 있는, 수치지도 일반화 방법.
10. The method of claim 9,
Wherein the step of performing generalization on the map data comprises:
In the topology table generation module,
And generating a topology table in which the topology networks generated through the topology generation module are listed in a list type,
Wherein the topology table stores the ID of the object connected to the first point or the end point of another object, the ID of the object connected to the first point, the ID of the object connected to the end point, Map generalization method.
제 11 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
상기 일반화 모듈에서,
상기 일반화 객체와 상기 토폴로지 테이블 객체를 이용하여 심플피처콜렉션의 모든 심플피처 객체에 단순화 또는 엘리미네이션 알고리즘을 적용하는 단계;를 더 포함하는, 수치지도 일반화 방법.
12. The method of claim 11,
Wherein the step of performing generalization on the map data comprises:
In the generalization module,
Further comprising applying a simplification or elimination algorithm to all simple feature objects of the simple feature collection using the generalized object and the topology table object.
제 11 항에 있어서,
상기 단순화 알고리즘을 적용하는 단계는,
원래의 선이 나타내는 특징이나 특성 묘사, 형태 유지를 위한 점들을 선정하여 선의 특징을 표현하는데 불필요한 잉여 점을 제거하는 단계를 포함하고,
상기 단순화 알고리즘은 거리(Distance) & 각도(Angle), 더글라스(DOUGLAS) 및 랑(LANG) 알고리즘 중 어느 하나인, 수치지도 일반화 방법.
12. The method of claim 11,
Wherein applying the simplification algorithm comprises:
And removing unnecessary surplus points for expressing features of the line by selecting points for characteristic, characteristic description and shape maintenance represented by the original line,
Wherein the simplifying algorithm is one of Distance & Angle, DOUGLAS, and LANG algorithms.
제 11 항에 있어서,
상기 심플피처콜렉션을 생성하는 단계는,
상기 엘리미네이션 알고리즘을 적용할 때 사용자가 입력한 일정 길이(㎞) 이하의 선 데이터 또는 일정 면적(㎡) 이하의 면 데이터를 삭제하는, 수치지도 일반화 방법.
12. The method of claim 11,
Wherein the generating the simple feature collection comprises:
Wherein when the elimination algorithm is applied, line data less than or equal to a certain length (km) input by the user or plane data less than or equal to a certain area (m2) is deleted.
제 12 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
일반화 결과 객체 생성 모듈에서,
상기 일반화 모듈을 통해 새로 생성된 심플피처콜렉션 객체를 생성하는 단계;를 더 포함하고,
상기 생성된 심플피처콜렉션 객체는 웹 상에 일반화 결과 값으로 표시될 공간 데이터를 의미하는, 수치지도 일반화 방법.
13. The method of claim 12,
Wherein the step of performing generalization on the map data comprises:
In the generalization result object creation module,
And generating a newly created simple feature collection object through the generalization module,
Wherein the generated simple feature collection object is spatial data to be displayed as a generalized result value on the web.
제 15 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
일반화 보고(Generalization Report) 객체 생성 모듈에서,
일반화 전, 후 데이터를 비교하는 일반화 보고 객체를 생성하는 단계;를 더 포함하고,
상기 일반화 보고에는 일반화 전 입력 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수, 일반화 후 반환될 심플피처콜렉션의 심플피처 객체 개수와 객체를 이루는 점의 개수를 저장하는, 수치지도 일반화 방법.
16. The method of claim 15,
Wherein the step of performing generalization on the map data comprises:
Generalization Report In the object creation module,
Generating a generalized report object that compares data before and after generalization,
The generalization report includes a number of simple feature objects before the generalization and a number of points constituting the object, a number of simple feature objects of the simple feature collection to be returned after generalization, and the number of points constituting the object. .
제 16 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
지오제이슨(GeoJSON) 객체 변환 모듈에서,
단순화과 엘리미네이션 알고리즘을 수행 후 반환된 심플피처콜렉션을 웹 브라우저 상에 표시하기 위해 지오제이슨 객체로 변환하는 단계;를 더 포함하는, 수치지도 일반화 방법.
17. The method of claim 16,
Wherein the step of performing generalization on the map data comprises:
In the GeoJSON object transform module,
And converting the simple feature collection returned after performing the simplification and elimination algorithm to a GeoJason object for display on a web browser.
제 17 항에 있어서,
상기 지도 데이터에 대한 일반화를 수행하는 단계는,
일반화 레이어(Generalization Layer) 생성 모듈에서,
일반화의 모든 모듈을 거쳐 생성된 일반화 결과지오제이슨 객체, 일반화 보고 객체, 토폴로지 테이블 객체를 하나의 일반화 레이어 객체로 생성하는 단계;를 더 포함하고,
상기 일반화 결과 지오제이슨 객체는 뷰어에 검수 결과 레이어로 추가되고, 상기 일반화 보고, 상기 토폴로지 테이블 객체는 테이블 형식으로 사용자 화면에 보여지는, 수치지도 일반화 방법.
18. The method of claim 17,
Wherein the step of performing generalization on the map data comprises:
In the Generalization Layer generation module,
Generating a generalization result GeoJason object, a generalized report object, and a topology table object as a generalized layer object through all modules of generalization,
Wherein the generalization result GeoJason object is added to a viewer as a verification result layer, and the generalization report and the topology table object are displayed on a user screen in a table format.
하드웨어와 결합되어 제 1 항 및 제 7 항 내지 제 18 항 중 어느 한 항에 기재된 수치지도 일반화 방법의 각 단계를 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.18. A computer program stored in a medium for executing each step of a digital map generalization method as claimed in any one of claims 1 to 7 in combination with hardware.
KR1020160153444A 2016-11-17 2016-11-17 THE Method for GENERALIZING DigitalMap KR101763413B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160153444A KR101763413B1 (en) 2016-11-17 2016-11-17 THE Method for GENERALIZING DigitalMap

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160153444A KR101763413B1 (en) 2016-11-17 2016-11-17 THE Method for GENERALIZING DigitalMap

Publications (1)

Publication Number Publication Date
KR101763413B1 true KR101763413B1 (en) 2017-08-14

Family

ID=60141981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160153444A KR101763413B1 (en) 2016-11-17 2016-11-17 THE Method for GENERALIZING DigitalMap

Country Status (1)

Country Link
KR (1) KR101763413B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840265A (en) * 2018-12-26 2019-06-04 出门问问信息科技有限公司 JSON structure conversion method, device, equipment and storage medium
CN116775786A (en) * 2023-06-19 2023-09-19 重庆市规划和自然资源信息中心 Geographic data image working method for repairing over-acute angle based on geotools

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840265A (en) * 2018-12-26 2019-06-04 出门问问信息科技有限公司 JSON structure conversion method, device, equipment and storage medium
CN109840265B (en) * 2018-12-26 2020-11-10 出门问问信息科技有限公司 JSON structure conversion method, device, equipment and storage medium
CN116775786A (en) * 2023-06-19 2023-09-19 重庆市规划和自然资源信息中心 Geographic data image working method for repairing over-acute angle based on geotools
CN116775786B (en) * 2023-06-19 2024-03-08 重庆市规划和自然资源信息中心 Geographic data image working method for repairing over-acute angle based on geotools

Similar Documents

Publication Publication Date Title
US20080208805A1 (en) Apparatus and method for remote querying of data sources
US9959607B2 (en) Automatic verification of graphic rendition of JSON data
CN105900121B (en) Method for generating an activity stream
CN113504908A (en) Business code generation method and device, electronic equipment and computer readable medium
KR101763413B1 (en) THE Method for GENERALIZING DigitalMap
CN107408113B (en) Analysis engine and method for analyzing pre-generated data reports
CN112966469A (en) Method, device and equipment for processing chart in document and storage medium
JP6185488B2 (en) Retrieving availability information from public calendars
CN113190517B (en) Data integration method and device, electronic equipment and computer readable medium
CN115686499A (en) Method, device, storage medium and electronic equipment for generating request message
US20090022312A1 (en) Apparatus and method for document synchronization
CN115392205A (en) Report data generation method and device, electronic equipment and storage medium
US11693909B2 (en) Data sharing tool for facilitating real-time access to current or updated datasets
Gosciewski Selection of interpolation parameters depending on the location of measurement points
CN113836876A (en) Document processing method, device, electronic equipment and medium
WO2005008518A2 (en) System and method for generating html based on common xslt
KR102060660B1 (en) Method and Apparatus For Providing Web Browsing Service
CN112818277A (en) Webpage generation method and device, storage medium and electronic equipment
CN113282852A (en) Method and device for editing webpage
CN112486482A (en) Page display method and device
CN111143310A (en) Log recording method and device and readable storage medium
KR20160002163A (en) System for creation electronic mail and method for creation electronic mail
KR20230142799A (en) Diagram of child nodes with multiple parent nodes
US20140164904A1 (en) Content management system
US10255260B2 (en) System and framework for transforming domain data

Legal Events

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