KR100340031B1 - 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법 - Google Patents

다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법 Download PDF

Info

Publication number
KR100340031B1
KR100340031B1 KR1019990045769A KR19990045769A KR100340031B1 KR 100340031 B1 KR100340031 B1 KR 100340031B1 KR 1019990045769 A KR1019990045769 A KR 1019990045769A KR 19990045769 A KR19990045769 A KR 19990045769A KR 100340031 B1 KR100340031 B1 KR 100340031B1
Authority
KR
South Korea
Prior art keywords
type
data
spatial data
extracted
gis
Prior art date
Application number
KR1019990045769A
Other languages
English (en)
Other versions
KR20010037981A (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 KR1019990045769A priority Critical patent/KR100340031B1/ko
Publication of KR20010037981A publication Critical patent/KR20010037981A/ko
Application granted granted Critical
Publication of KR100340031B1 publication Critical patent/KR100340031B1/ko

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 객체 관계형 지리정보시스템용 데이터가 아닌 도면 데이터의 파일 전체를 살펴 정의된 내용을 확인하여 데이터베이스에 정의하고 해당 부분별로 다시 읽어 객체 관계형 지리정보시스템용 데이터로 변환하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터베이스 관리시스템의 데이터로 변환하는 방법에 있어서, 변환될 도면 데이터의 파일명과 상기 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)에 생성되어질 데이터베이스명을 입력받아 초기환경을 설정하는 제 1 단계; 상기 변환될 도면 데이터 파일을 처음부터 끝까지 순차적으로 읽고 파일을 분석하여 정보를 추출하고, 입력된 상기 데이터베이스명에 따라 상기 객체 관계형 GIS용 DBMS의 데이터베이스를 생성하며, 상기 변환될 도면 데이터 파일에서 추출한 공간 데이터 타입 및 관련정보를 참조하여 클래스와 관련 애트리뷰트를 생성하는 제 2 단계; 및 상기 변환될 도면 데이터 파일에 대한 공간 데이터를 추출하고, 추출된 상기 공간 데이터를 상기 객체 관계형 GIS용 DBMS에서 제공하는 공간 데이터 타입으로 변환하며, 변환된 공간 데이터를 상기 객체 관계형 GIS용 DBMS 데이터베이스에 저장하는 제 3 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 지리정보시스템 등에 이용됨.

Description

다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법{METHOD FOR CONVERTING MAP DATA TO DATA FOR OBJECT_RELATED GEOGRAPHIC INFORMATION SYSTEM}
본 발명은 도면 데이터의 포맷 변환 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
먼저, 본 발명에 사용되는 용어의 개념을 살펴보면 다음과 같다.
데이터 변환 포맷(DXF : Data eXchange Format)은 오토데스크(AutoDesk)사에서 오토캐드(AutoCAD)와 타 캐드(CAD :Computer Aided Design) 시스템간 도면 데이터 교환을 위해 개발한 캐드(CAD) 도면 교환 파일로 아스키(ASCII : American Standard for Information Interchange) 파일로 구성되어 있으며 지리정보시스템(GIS : Geographic Information System) 및 CAD 시스템간 데이터 포맷 변환을 위해 국내에서 대표적으로 많이 이용되고 있는 데이터 교환 포맷이다.
세이프파일(Shapefile) 데이터 포맷은 아크/인포(Arc/Info) 시스템에서 도면 데이터를 표현하기 위해 개발한 공간 데이터 포맷 파일로 바이너리 파일로 구성되어 있으며 지리정보시스템간 데이터 포맷 교환을 위해 많이 이용되고 있는 데이터 포맷이다.
지리정보시스템(GIS : Geographic Information System)은 지리적 속성을 포함하는 공간 객체의 그래픽 요소와 그에 따른 속성 정보를 데이터베이스 시스템에서 일반 데이터를 처리하듯이 관리하며 사용자에게 가시적인 그래픽 화면을 제시하여 데이터베이스 디자인부터 입출력 및 분석에 활용할 수 있도록 지원하는 통합시스템이다.
지리정보시스템(GIS)은 통신시설분야 및 국방분야를 비롯하여 환경, 도시개발, 토목, 수자원, 교통, 통계 등 각 분야에서 시설관리 및 계획에 광범위하게 이용되고 있다. 이렇게 각 기관별로 지리정보시스템(GIS)을 도입하여 수치 지도 데이터베이스를 구축함에 따른 중복투자로 인하여 예산 낭비 및 타 기관과의 데이터 호환이 불가능할 뿐만 아니라 점차 확산되고 있는 지리정보시스템(GIS) 분야의 표준화가 어렵게 된다.
종래에는 DXF나 Shapefile 등의 도면 데이터를 제우스(GEUS)와 같은 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS : DataBase Management System)에서의 데이터로 변환이 되지않아 제우스(GEUS)와 같은 객체 관계형 GIS용 DBMS가 이용되는 시설관리용 지리정보시스템에서는 캐드(CAD) 시스템에서 그려진 도면이나 다른 지리정보시스템에서 구축된 도면 및 시설정보 데이터를 사용할 수 없는 문제점이 있었다.
또한, 도면 데이터의 특성상 기본적인 그래픽 데이터뿐만 아니라, 심볼 및 속성데이터까지 변환이 되어야 하는데 변환방법이 존재하지 않아 제우스(GEUS)와 같은 객체 관계형 GIS용 DBMS를 이용하는 지리정보시스템에서는 DXF 데이터를 이용할 수 없는 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 객체 관계형 지리정보시스템용 데이터가 아닌 도면 데이터의 파일 전체를 살펴 정의된 내용을 확인하여 데이터베이스에 정의하고 해당 부분별로 다시 읽어 객체 관계형 지리정보시스템용 데이터로 변환하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 컴퓨터의 구성예시도.
도 2 는 본 발명에 따른 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법의 개략적인 설명도.
도 3 은 본 발명에 이용되는 DXF와 제우스(GEUS)에서의 공간 데이터 타입을 나타낸 일예시도.
도 4 는 본 발명에 이용되는 DXF의 그룹코드에 대한 일예시도.
도 5 는 본 발명에 따른 DXF 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법에 대한 일실시예 흐름도.
도 6 은 본 발명에 이용되는 DXF의 섹션을 나타내는 일예시도.
도 7 은 본 발명에 따른 DXF 파일을 분석하여 각 섹션에서 정보를 추출하는 과정에 대한 일실시예 상세흐름도.
도 8 은 본 발명에 따른 DXF 파일에서 공간 데이터를 추출하는 과정에 대한 일실시예 상세흐름도.
도 9 는 본 발명에 따른 DXF 파일의 엔티티 섹션에 대하여 제우스(GEUS) 데이터베이스의 형식으로 데이터 변환하는 과정에 대한 일실시예 상세흐름도.
도 10 은 본 발명에 따른 세이프파일(Shapefile) 도면 데이터를 제우스(GEUS)에서의 데이터로 변환하는 방법에 대한 일실시예 흐름도.
도 11 은 본 발명에 이용되는 세이프파일(Shapefile)과 제우스(GEUS)에서의 공간 데이터 타입을 나타낸 일예시도.
*도면의 주요 부분에 대한 부호의 설명
101 : 중앙 처리 장치 102 : 주기억 장치
103 : 보조 기억 장치 104 : 출력 장치
105 : 입력 장치
상기 목적을 달성하기 위한 본 발명은, 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터베이스 관리시스템의 데이터로 변환하는 방법에 있어서, 변환될 도면 데이터의 파일명과 상기 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)에 생성되어질 데이터베이스명을 입력받아 초기환경을 설정하는 제 1 단계; 상기 변환될 도면 데이터 파일을 처음부터 끝까지 순차적으로 읽고 파일을 분석하여 정보를 추출하고, 입력된 상기 데이터베이스명에 따라 상기 객체 관계형 GIS용 DBMS의 데이터베이스를 생성하며, 상기 변환될 도면 데이터 파일에서 추출한 공간 데이터 타입 및 관련정보를 참조하여 클래스와 관련 애트리뷰트를 생성하는 제 2 단계; 및 상기 변환될 도면 데이터 파일에 대한 공간 데이터를 추출하고, 추출된 상기 공간 데이터를 상기 객체 관계형 GIS용 DBMS에서 제공하는 공간 데이터 타입으로 변환하며, 변환된 공간 데이터를 상기 객체 관계형 GIS용 DBMS 데이터베이스에 저장하는 제 3 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 객체 관계형 지리정보시스템용 데이터베이스 관리시스템에, 변환될 도면 데이터의 파일명과 상기 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)에 생성되어질 데이터베이스명을 입력받아 초기환경을 설정하는 제 1 기능; 상기 변환될 도면 데이터 파일을 처음부터 끝까지 순차적으로 읽고 파일을 분석하여 정보를 추출하고, 입력된 상기 데이터베이스명에 따라 상기 객체 관계형 GIS용 DBMS의 데이터베이스를 생성하며, 상기 변환될 도면 데이터 파일에서 추출한 공간 데이터 타입 및 관련정보를 참조하여 클래스와 관련 애트리뷰트를 생성하는 제 2 기능; 및 상기 변환될 도면 데이터 파일에 대한 공간 데이터를 추출하고, 추출된 상기 공간 데이터를 상기 객체 관계형 GIS용 DBMS에서 제공하는 공간 데이터 타입으로 변환하며, 변환된 공간 데이터를 상기 객체 관계형 GIS용 DBMS 데이터베이스에 저장하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.본 발명은, 데이터베이스를 중복하여 구축하는 단점을 해결하고, 이미 구축된 도면 데이터를 제우스(GEUS)의 데이터베이스 구축시 인력 및 비용을 절감할 수 있고, 점차 국가적인 포맷변환 기술 확보에 활용할 수 있도록 DXF 데이터 포맷을 GEUS 데이터베이스로 변환하는 방법을 제시한다. DXF 데이터 포맷 화일을 읽어서 매개변수 값 및 테이블들의 정의 내용을 추출하고, DXF 데이터 포맷 화일의 그래픽 요소들을 추출된 값 및 테이블 정보를 이용하여 동일한 내용을 갖는 GEUS 데이터베이스로 변환하도록 하여, GEUS 데이터베이스 시스템이 이용되는 시설관리용 지리정보 시스템에서 CAD 시스템에서 그려진 도면이나 다른 지리정보 시스템에서 구축된 도면 및 시설정보 데이터를 사용할 수 있도록 한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 컴퓨터의 구성예시도이다.
본 발명이 적용되는 컴퓨터는, 중앙 처리 장치(101), 주기억 장치(102), 보조 기억 장치(103), 출력 장치(104) 및 입력 장치(105)로 이루어진다.
중앙 처리 장치(101)는, 전체 동작을 제어 관리하며 주어진 작업을 수행하고, 주기억 장치(102)는 중앙 처리 장치(101)에서 수행할 프로그램을 저장하고 작업 수행중 이용되는 각종 데이터를 저장한다. 보조 기억 장치(103)는 주기억 장치(101)에서의 저장이 한계가 있으므로 보다 광범위하고 대량인 데이터를 저장하기 위한 기능을 담당한다. 출력 장치(104)는 모니터, 프린터 등의 실행 결과, 실행 과정 및 시스템 정보 등 사용자에게 정보를 제공하는 기능을 담당하며, 입력 장치(105)는 키보드, 터치 스크린 등 사용자의 입력을 받아 중앙 처리 장치(101)로 전달하는 기능을 담당한다.
다른 형식의 도면 데이터를 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)의 데이터로 변환하는 과정은 주기억장치(102)에 기록되어 중앙처리장치(101)에 의해 제어의 흐름순서에 따라 실행된다. 입력장치(105)를 통하여 요청된 공간 정보와 관련된 데이터베이스는 이미 만들어져서 보조기억장치(103)에 저장되어 있다고 가정한다.
도 2 는 본 발명에 따른 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법의 개략적인 설명도이다.
프로그램을 보조기억장치(103)에서 주기억장치(102)에 올린후 중앙처리장치(101)에 의해 작업이 시작되면 입력 모듈(201)에서는 생성하고자 하는 데이터베이스의 이름, 도면 데이터 파일이름 등의 입력정보를 입력받는다. 추출 모듈(202)에서는 도면 데이터 파일의 각종 정보를 추출하여, 변환 모듈(203)에서 도면 데이터에 대한 데이터 변환을 수행한다. 저장 모듈(204)에서는 객체 관계형 GIS용 DBMS인 제우스(GEUS)에서 제공하는 공간 타입에 맞게 그 값들을 변환한 후 제우스(GEUS) 공간 타입으로 데이터베이스(205)에 저장한다.
도 3 은 본 발명에 이용되는 DXF와 제우스(GEUS)에서의 공간 데이터 타입을 나타낸 설명예시도이다.
먼저, 제우스(GEUS)와 DXF 파일에 대해 살펴본다.
제우스(GEUS)는 객체 관계형 GIS용 DBMS로, 제공하는 데이터 타입은 일반적으로 점(point), 단순선(Simpline), 복합선(Polyline), 다각형(Polygon), 원(Circle), 사각형(Rectangle) 타입이 있다. 각 데이터 타입은 점, 단순선, 복합선, 다각형, 사각형, 원을 표현하기 위한 객체 타입이다.
제우스(GEUS)에는 고유의 포맷 뿐만 아니라 다른 형태의 포맷을 지원하기 위해서 공간 타입에 대해 라인 테이블(line table), 심볼 테이블(symbol table), 주석 테이블(annotation table), 컬러 테이블(color table), 영역 테이블(range table)이 정의되어 있다. 또한, 제우스(GEUS)에서는 공간 타입의 좌표뿐만 아니라 그 밖의 추출 정보를 제우스(GEUS)에서 정의된 고유의 형태로 변환시키고 필요시 정의된 형태에 맞게 추출할 수도 있다.
제우스(GEUS)에서의 라인 테이블(line table)은 라인의 두께, 색깔, 종류 등에 관한 정보를 가진다. 이때, 라인에 적용되는 색깔은 제우스(GEUS)에서 정의된 색깔을 이용하여 표현한다.
제우스(GEUS)에서의 심볼 테이블(symbol table)은 심볼의 영역, 심볼의 종류, 심볼을 구성하는 타입과 이에 대한 좌표 정보를 가진다.
제우스(GEUS)에서 제공하는 심볼 타입은 다음과 같다.
선심볼(SymbolLine), 곡선심볼(SymbolCurve), 사각형심볼(SymbolRectangle), 원심볼(SymbolCircle), 선택심볼(SymbolSelect), 다각형심볼(SymbolPolygon), 그룹심볼(SymbolGroup), 펜슬심볼(SymbolPencil) 등이다.
제우스(GEUS)에서의 컬러 테이블(color table)은 적(R : Red), 녹(G : Green), 청(B : Blue) 그리고 색이름 정보를 가진다.
제우스(GEUS)에서의 주석 테이블(annotation table)은 주석과 관련된 폰트, 색깔, 주석내용, 주석 좌표 등의 정보를 가진다.
제우스(GEUS)에서의 영역 테이블(range table)은 다른 포맷에서의 최대 최소영역 정보를 가진다.
즉, 'gis_info'라는 클래스가 정의되며 이 클래스내에 'sc_left_low_pt', 'sc_right_high_pt'라는 애트리뷰트가 포인트 타입으로 존재하여 영역 정보를 가진다.
데이터 변환 포맷(DXF : Data eXchange Format)에 대하여 설명하자면, DXF는 헤더 섹션, 테이블 섹션, 블록 섹션, 엔티티 섹션 등 4개의 섹션으로 구성되어 있으며 도면요소의 그룹 코드에 의해 여러 가지 형태의 데이터 요소가 정의된다.
DXF의 헤더 섹션은 도면에 대한 일반적인 정보를 가지고 있다. 헤더 섹션에 나타나는 도면의 최하단 및 최상단 좌표, 오토캐드 버전(AutoCAD Version), 글자크기 등 각각의 136가지의 매개변수들은 CAD 데이터에서 DXF로 변환시 관련된 값으로 설정되며, 이 정보는 도면요소에 영향을 준다.
DXF의 테이블 섹션에서는 도면에 이용되는 선 타입(Line Type), 레이어(Layer), 스타일(Style) 등 8가지 테이블들을 정의한다. 라인의 형태, 문자의 크기, 지정색 등과 같은 테이블들의 내용은 도면 환경 설정 및 도면요소에 영향을 주며 도면요소가 그려질 때 참조된다.
DXF의 블록 섹션은 여러 개의 블록으로 선(Line), 호(Arc), 원(Circle) 등의 도면요소들로 이루어진 하나의 집합체이며, 엔티티섹션에서 삽입(Insert) 요소에 의해 도면에 삽입된다.
DXF의 엔티티 섹션은 도면요소에 대한 실제 데이터 리스트를 가지고 있다.
DXF에서 사용되는 도면요소는 선(Line), 복합선(PolyLine), 원(Circle), 호(Arc), 텍스트(Text), 삽입(Insert), 치수(Dimension) 등이 있으며 각각의 도면요소들은 그룹코드로 이루어진 개별적인 포맷을 가지고 있으며 도면요소를 정의하기 위한 그룹코드 중에는 항상 존재해야 하는 코드와 선택적으로 존재하는 코드가 있다.
이러한, 제우스(GEUS)와 DXF에 대해 도 3 에서는 공간 데이터타입을 매칭시켜 설명하고 있다.
DXF에서 제공하는 공간 데이터타입 중 점에 해당하는 것은 'POINT', 'TEXT'이며, 제우스(GEUS)에서는 'DB_POINT'이다. 단순선에 해당하는 것은 DXF에서는 'LINE'이며, 제우스(GEUS)에서는 'DB_SIMPLELINE'이고, 복합선에 해당하는 것은 DXF에서는 'POLYLINE'이며, 제우스(GEUS)에서는 'DB_POLYLINE'이다.
DXF에서 제공하는 공간 데이터타입 중 다각형에 해당하는 것은 플래그(flag)의 값이 1인 'POLYLINE'이며, 제우스(GEUS)에서는 'DB_POLYGON'이다. 사각형에 해당하는 것은 DXF에서는 'TRACE', 'SOLID'이며, 제우스(GEUS)에서는 'DB_RECTANGLE'이다. 원에 해당하는 것은 DXF에서는 'CIRCLE'이며, 제우스(GEUS)에서는 'DB_CIRCLE'이다.
도 4 는 본 발명에 이용되는 DXF의 그룹코드에 대한 일예시도이다.
DXF에서 사용되는 각각의 도면요소들은 그룹코드로 이루어진 개별적인 포맷을 가지고 있으며 도면요소를 정의하기 위한 그룹코드 중에는 항상 존재해야 하는 코드와 선택적으로 존재하는 코드가 있다.
도면요소를 정의하는 값들은 이들 그룹코드 뒤에 나타나며 각각의 도면요소 포맷에 정의된 방식으로 이용된다. 각 도면요소는 그룹코드 0 뒤에 기술되며 그 특성에 따라 테이블 섹션과 블록 섹션에 정의된 내용을 참조한다.
도 4 에서는 DXF 파일에 나타나는 그룹코드와 그 의미를 나타내고 있다.
도 5 는 본 발명에 따른 DXF 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법에 대한 일실시예 흐름도이다.
도 5에 도시된 바와 같이, DXF 파일을 객체 관계형 지리정보시스템용 데이터베이스인 제우스(GEUS)에서의 데이터로 변환하는 과정은, 우선 변환될 DXF 파일명과 생성되어질 제우스(GEUS) 데이터베이스 파일명을 입력받아 초기환경을 설정한다(501). 추출 모듈(202)에서는 DXF 파일을 분석하여 각 섹션에서 정보를 추출한다(502). 즉, DXF 파일을 순차적으로 읽어가며 헤더 섹션에서는 DXF 파일의 도면 환경과 관련된 헤더 매개 변수를 추출하고, 블록 섹션에서는 데이터 변환 수행시에 참조하는 선 타입(Line Type), 레이어(Layer), 스타일(Style) 정보를 추출하며, 엔티티 섹션에서는 도면요소에 대한 실제 데이터를 추출한다.
추출 모듈(202)에서 DXF 파일의 각 레이어를 확인하고 처음 나타나는 레이어에 대해 레이어와 관련된 클래스를 생성하며 그 안에 있는 그룹코드에 따라 필요한 애트리뷰트들을 생성한다(503). 즉, 추출 모듈(202)에서는 처음 클래스와 그에 관련된 애트리뷰트를 생성할 때 처음 나타나는 레이어를 확인하고 이와 같은 이름을 가진 클래스가 있는지를 확인하여 없으면 클래스를 생성하고 그 안의 그룹 코드에 따라 필요한 애트리뷰트들을 생성한다. 만일, 이와 같은 이름을 가진 클래스가 있으면 이미 클래스가 생성되었으므로 다음의 레이어를 찾는다. 스캔시에 레이어를 만날때마다 새로운 클래스를 만들 때 클래스의 이름은 레이어(layer)의 이름으로 하며 애트리뷰트는 그룹코드와 관련을 지어서 만들도록 한다.
공통의 레이어 이름을 가지면서 다른 공간 타입을 가지는 레이어에 대해서는 클래스내에 공간 타입을 가지는 애트리뷰트가 여러 개가 될 수 있도록 지원하여 DXF 파일 내에 같은 레이어를 가지면서 다른 공간 타입을 가질 수 있도록 한다. 다시 말하면, DXF 파일에서 정보를 추출하여 데이터베이스에 넣을 때 공간 타입을 확인하고, 그에 따라 원하는 애트리뷰트에 저장하도록 한다. 필요로 하는 변수는 DXF 파일의 그룹코드에 따라서 달라지며 이미 추출 전에 필요로 하는 변수는 정의가 되어있으며 그에 따른 변수도 정의되어야 한다. 이 변수를 가지고 DXF 파일 내의 엔티티들을 반복적으로 추출하면서 변수를 사용한다.
DXF 엔티티섹션 내에 새로운 레이어가 존재하는지를 확인한다(504). 존재하지 않으면 종료하고, 존재하면 DXF 공간 데이터를 추출한다(505).
변환 모듈(203)은 DXF 파일의 실제 데이터 리스트인 엔티티 섹션에 대한 데이터 변환을 수행한다(506). 변환 모듈(203)은 DXF 데이터 변환 범위에 해당하는 도면요소들에 대해 제우스(GEUS) 데이터베이스의 공간 데이터 타입으로 변환을 수행한다. 데이터 변환 수행시 각각의 도면요소들은 헤더, 선 타입(Line Type), 스타일(Style) 정보를 참조하여 변환을 수행한다. 만일 DXF에서 제공하는 타입이 제우스(GEUS) 데이터베이스에서 제공하지 않으면 가장 적당한 타입에 대응시켜서 변환시켜야 한다. 상기한 도 3 의 설명을 통해 매칭되는 공간 데이터타입에 대해 설명하였다.
저장 모듈(204)에서는 제우스(GEUS) 공간 데이터 타입으로 데이터베이스에저장한다(507). 저장 모듈(204)에서 DXF 파일을 두 번째 스캔할 때 DXF 파일에 관련 엔티티가 나타나면 추출 모듈(202)에서 제우스(GEUS)에서 제공하는 공간 데이터 타입에 맞게 그 값들을 변환한 후 제우스(GEUS) 공간 데이터 타입으로 데이터베이스에 저장한다.
마지막으로, DXF 파일내에 다른 레이어가 존재하는지를 확인하여(508), 다른 레이어가 존재하면 새로운 레이어 DXF 공간 데이터를 추출하는 과정(505)부터 반복 수행하고, 다른 레이어가 존재하지 않으면 종료한다.
도 6 은 본 발명에 이용되는 DXF의 섹션을 나타내는 일예시도이다.
도 6에 도시된 바와 같이, DXF는 4개의 섹션(SECTION)으로 나누어져 있으며, 각 섹션(SECTION)은 그래픽과 관련된 고유한 정보를 가지고 있다. 그리고 섹션의 시작은 그룹코드 0 뒤에 섹션(SECTION)이 나오며 섹션의 끝에는 그룹코드 0과 'ENDSEC'으로 끝난다.
그룹코드 0은 섹션(SECTION)뿐만 아니라 다음 라인부터 새로운 내용이 시작된다는 의미를 가지며 정확한 의미는 다음 라인에 무엇이 오는가에 따라 달라진다.
DXF 파일의 각 섹션(SECTION)은 도 6에 도시된 바와 같이 헤더 섹션(HEADER SECTION, 601), 테이블 섹션(TABLE SECTION, 602), 블록 섹션(BLOCK SECTION, 603) 및 엔티티 섹션(ENTITY SECTION, 604)으로 구성된다.
헤더 섹션(HEADER SECTION, 601)에 대해 설명하면 다음과 같다.
헤더 섹션(HEADER SECTION, 601)은 도면과 관련된 변수의 설정 값을 가지고 있는 많은 변수들로 구성되어 있으며 그룹코드 9 다음에 변수 명이 오고, 그 뒤에 변수값을 갖는 그룹코드와 그룹 값이 온다. 각 변수명의 앞에는 $가 붙으며제우스(GEUS)용 포맷 변환에 필요한 요소는 도곽좌표 설정에 필요한 '$EXTMIN'과 '$EXTMAX'의 값만 사용한다.
테이블 섹션(TABLE SECTION, 602)에 대해서 설명하면 다음과 같다.
테이블 섹션(TABLE SECTION, 602)은 몇 개의 테이블로 구성되어 있으며 각각의 순서에는 관계가 없으나 'LTYPE'테이블은 반드시 레이어(LAYER)테이블 앞에 온다. 각 테이블의 시작은 그룹코드 0의 테이블(TABLE)로 시작되며 그룹코드 0의 'ENDTAB'으로 끝난다.
테이블 섹션(TABLE SECTION, 602)을 구성하는 'LTYPE' 테이블(Table)은 특수한 라인의 모양을 표현한다. 제우스(GEUS)의 공간 데이터 타입으로 변환시에 'LTYPE' 테이블(Table)을 읽어서 제우스(GEUS) 라인 스타일(Line Style) 파일의 라인 패턴을 만든다. 'LTYPE' 테이블(Table)의 구성은 다음의 [표 1]과 같이 이루어질 수 있다.
그룹코드 내용
72 정렬코드
73 대쉬(Dash) 길이(반복회수)
40 총패턴길이
49 대쉬(Dash)길이1
49 대쉬(Dash)길이2
3 패턴
테이블 섹션(TABLE SECTION, 602)을 구성하는 레이어 테이블(LAYER Table)은 각 레이어가 사용할 공통적인 요소를 표현한다. 이곳에서 레이어명과 그 레이어에서 사용하는 라인의 모양과 색상을 가져온다. 레이어 테이블(LAYER Table)의 구성은 [표 2]와 같다.
그룹코드 내용
2 레이어명
62 색상수
6 라인타입명
70 레이어 최대수
이외에도 여러 테이블이 있지만 공간 데이터 변환에 필요한 테이블은 위의 두 테이블이다. 'LTYPE' 테이블과 레이어(LAYER) 테이블을 이용하여 그래픽 선과 관련된 색상과 모양을 추출할 수 있다.
블록 섹션(BLOCK SECTION, 603)에 대하여 설명하면 다음과 같다.
블록 섹션(BLOCK SECTION, 603)에서는 모든 블록(BLOCK)에 대한 정보가 블록(BLOCK)을 형성하는 엔티티와 함께 들어있다. 형식은 엔티티 섹션(ENTYTY SECTION, 604)과 동일하며 모든 블록(BLOCK)은 'BLOCK'과 'ENDBLK'사이에 있어야 하며 엔티티들 간에 중복될 수 없다. 블록(BLOCK)은 복합객체가 그룹화되어 있는 공간 객체의 집합으로서 여기에 있는 정보를 이용하여 심볼을 만든다.
엔티티 섹션(ENTITY SECTION, 604)에 대하여 설명하면 다음과 같다.
엔티티 섹션(ENTITY SECTION, 604)은 공간객체를 표현하는 점, 선, 면, 원, 텍스트 등 실제 도면을 표현하는데 필요한 객체들로 구성되어 있다. 표현 형태와 구성요소는 블록 섹션(BLOCK SECTION, 603)과 거의 동일하다. 데이터 변환에 필요한 모든 요소는 이 엔티티 섹션(ENTITY SECTION, 604)에서 추출한다.
첫번째로 선(LINE)은 시작점과 끝점을 가지는 직선으로, 다음의 [표 3]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
선(LINE) 10 시작점 X좌표
20 시작점 Y좌표
30 시작점 Z좌표
11 끝점 X좌표
21 끝점 Y좌표
31 끝점 Z좌표
두번째로 점(POINT)은 한점의 좌표만 가지는 객체로서 주석의 표현 등에 사용하고, 다음의 [표 4]와 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
점(POINT) 10 X좌표
20 Y좌표
30 Z좌표
세번째로 원(CIRCLE)은 중심점의 좌표와 반지름으로 표현되며, 다음의 [표 5]와 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
원(CIRCLE) 10 중심점 X좌표
20 중심점 Y좌표
40 반지름
네번째로 원호(ARC)는 중심점과 반지름, 시작각, 끝각으로 표현하며, 다음의 [표 6]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
원호(ARC) 10 원호(ARC) 중심점 X좌표
20 원호(ARC) 중심점 Y좌표
40 반지름
50 시작각
51 끝각
다섯번째로 고형체(SOLID)이다. 이 객체는 내부가 채워진 삼각형 또는 사각형이다. 4개의 좌표를 가지며 4점이 각각 다를 경우에는 사각형이 되고 3,4번째의 좌표값이 같을 경우에는 삼각형이 된다. 다음의 [표 7]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
고형체(SOLID) 10 첫번째 코너 X좌표
20 첫번째 코너 Y좌표
11 두번째 코너 X좌표
21 두번째 코너 Y좌표
12 세번째 코너 X좌표
22 세번째 코너 Y좌표
13 네번째 코너 X좌표
23 네번째 코너 Y좌표
여섯번째로 텍스트(TEXT)는 다음의 [표 8]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
텍스트(TEXT) 10 텍스트 삽입점의 X좌표
20 텍스트 삽입점의 Y좌표
40 텍스트 대문자의 높이
1 텍스트의 스트링
50 회전각
41 상대적인 X축 축척
51 경사각
7 텍스트 스타일명
71 텍스트 형성 플래그
72 수평배열
73 수직배열
11 정렬 점(ALIGNMENT POINT)
일곱번째로 형상(SHAPE)이다. 이 공간 객체는 선(LINE), 원호(ARC), 원(CIRCLE)을 이용하여 표현되며 점(POINT) 위치에서 입력되며 구조상 텍스트(TEXT)와 동일하다. 다음의 [표 9]와 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
형상(SHAPE) 10 형상(SHAPE) 삽입점의 X좌표
20 형상(SHAPE) 삽입점의 X좌표
40 크기
2 형상(SHAPE)명
50 회전각
1 상대적인 X축 축척
51 경사각
여덟번째로 삽입(INSERT)은 블록 섹션(BLOCK SECTION, 603)에서 정의된 심볼이 입력되는 곳이다. 다음의 [표 10]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
삽입(INSERT) 66 속성 후속 플래그(FOLLOW FLAG)(기본값 0)
2 블록(BLOCK)명
10 블록(BLOCK)삽입 위치
41 X축척계수(선택, 기본값 1)
42 Y축척계수(선택, 기본값 1)
43 Z축척계수(선택, 기본값 1)
50 회전각(선택, 기본값 1)
70 컬럼 수(Column Count)(선택, 기본값 1)
71 열 수(Row Count)(선택, 기본값 1)
44 컬럼 크기(Column Spacing)(선택, 기본값 0)
45 열 수(Row Spacing)(선택, 기본값 0)
아홉번째로 복합선(POLYLINE)은 다음의 [표 11]과 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
복합선(POLYLINE) 66 수직 후속 플래그(Vertics follow flag)
10 더미 포인트(DUMMY POINT)
70 복합선(POLYLINE) 플래그(FLAG)
40 시작점의 너비
41 끝점의 너비
71 Polygon Mash M vertex count
72 Polygon Mash N vertex count
73 Smooth surface M density
74 Smooth surface N density
75 Curve & Smooth surface
열번째로 정점(VERTEX)은 다음과 같다. 이점은 복합선(POLYLINE)과 함께 사용되며 복합선(POLYLINE)의 중간점들을 나타낸다.
열한번째로 트레이스(TRACE)는 특정 목적을 위한 직선 세그먼트이다. 외형상복합선(PolyLine)처럼 보이지만 고형체(SOLID)와 데이터 구조가 유사하다. 다음의 [표 12]와 같이 구성될 수 있다.
엔티티(Entity) 그룹코드 내 용
트레이스(TRACE) 10 첫번째 코너 X좌표
20 첫번째 코너 Y좌표
11 두번째 코너 X좌표
21 두번째 코너 Y좌표
12 세번째 코너 X좌표
22 세번째 코너 Y좌표
13 네번째 코너 X좌표
23 네번째 코너 Y좌표
열두번째로 3디페이스(3DFACE)는 구조상 고형체(SOLID)와 유사하나 Z값을 가짐으로 3차원이된다.
이와 같이 DXF 파일의 각 섹션이 구성된다.
이와 같은 DXF 파일을 제우스(GEUS)의 공간 데이터 타입으로 변환하기 위해서는 먼저 DXF 파일에서 헤더 섹션이 나오면 제우스(GEUS)의 영역 테이블에 대응시켜 다음의 [표 13]과 같이 정보를 대응시켜 헤더 변수 '$EXTMIN'과 '$EXTMAX'가 제우스(GEUS)의 영역 테이블인 'gis_info'로 변환시킨다.
DXF 제우스(GEUS)
헤더변수 그룹코드 그룹값 클래스명 객체명 객체형
$EXTMIN 10 X좌표값 gis_info sc_left_low_pt Point
20 Y좌표값
30 Z좌표값 변환되지 않음
$EXTMAX 10 X좌표값 sc_right_high_pt Point
20 Y좌표값
30 Z좌표값 변환되지 않음
엔티티 섹션(604)에서 추출되는 것중 삽입(insert) 타입은 블록 섹션(BLOCK SECTION, 603)에서 정의된 심볼이 입력되는 곳인데, 이 곳에서의 정보를 추출하여 제우스(GEUS)에서의 심볼 테이블로 대응시킨다.
DXF에서 제공하는 형상(SHAPE) 타입은 선(LINE), 원호(ARC), 원(CIRCLE)을 이용하여 표현되며 점(POINT) 위치에서 입력되며 구조상 텍스트(TEXT)와 동일하다. 형상(SHAPE) 타입의 경우도 제우스(GEUS)에서 제공하는 심볼 타입으로 대응시키고 점(POINT) 위치에서 입력되는 텍스트는 주석 테이블에 좌표와 주석 내용, 주석 폰트, 색깔등을 대응시켜 정보를 제우스(GEUS)에서 제공하는 테이블 형태로 전환한다.
도 7 은 본 발명에 따른 DXF 파일을 분석하여 각 섹션에서 정보를 추출하는 과정에 대한 일실시예 상세흐름도이다.
도 7 에서는 DXF 파일을 분석하고 각 섹션에서 정보를 추출하는 과정(502)을 자세히 기술하고 있다.
DXF 파일을 읽어가는 중에 추출하여야 할 정보가 헤더 섹션에 존재하는지를 판단한다(701). 판단 결과, 추출하여야 할 정보가 헤더 섹션에 존재하면 도곽좌표에 필요한 '$EXTMIN', '$EXTMAX' 정보를 추출한다(702). '$EXTMIN'는 도면의 좌측-하단의 위치 정보를 갖고 있고, '$EXTMAX'는 도면의 우측-상단의 정보를 갖고 있어, 전체 도면의 크기를 파악할 수 있다.
추출하여야 할 정보가 헤더 섹션에 존재하는지를 판단한 결과, 헤더 섹션에 존재하지 않거나, 헤더 섹션에 존재하는 정보를 추출하였으면 다음 단계로 넘어가, 추출하여야 할 정보가 테이블 섹션에 존재하는지를 확인한다(703).
추출하여야 할 정보가 테이블 섹션에 존재하는지를 확인한 결과, 존재하면 선(LINE)의 형태, 문자 크기, 지정색, 선(LINE) 패턴, 색상번호, 라인 타입 등 공간 데이터 타입의 도면 요소에 영향을 주는 특성을 테이블 섹션으로부터 추출한다(704).
추출하여야 할 정보가 테이블 섹션에 존재하는지를 확인한 결과, 테이블 섹션에 존재하지 않거나, 테이블 섹션에 존재하는 정보를 추출하였으면 다음 단계로 넘어가, 추출하여야 할 정보가 블록 섹션에 존재하는지를 검사한다(705).
추출하여야 할 정보가 블록 섹션에 존재하는지를 검사한 결과, 존재하면 블록은 공간 객체의 집합이므로 이 정보를 이용하여 심볼을 구성한다(706).
추출하여야 할 정보가 블록 섹션에 존재하는지를 검사한 결과, 블록 섹션에 존재하지 않거나, 블록 섹션에 존재하는 정보를 추출하였으면 다음 단계로 넘어가, 추출하여야 할 정보가 엔티티 섹션에 존재하는지를 점검한다(707).
추출하여야 할 정보가 엔티티 섹션에 존재하는지를 점검한 결과, 존재하면 실제 도면을 표현하는데 필요한 객체들에 대한 공간 데이터를 추출한다(708).
추출하여야 할 정보가 엔티티 섹션에 존재하는지를 점검한 결과, 엔티티 섹션에 존재하지 않거나, 엔티티 섹션에 존재하는 정보를 추출하였으면 DXF 파일을 분석하고 각 섹션에서 정보를 추출하는 과정(502)을 종료한다.
도 8 은 본 발명에 따른 DXF 파일에서 공간 데이터를 추출하는 과정에 대한 일실시예 상세흐름도이다.
도 8 에서는 DXF 공간 데이터에 대해 관련된 특성값을 추출하는 과정(505)을 상세히 나타내고 있다.
추출하려는 레이어에 있는 공간 데이터의 타입이 점(point) 또는 텍스트(text)인가를 판단한다(801). 판단 결과, 공간 데이터 타입이 점(point) 또는 텍스트(text)이면, X, Y 좌표를 추출하고, 점(point)의 색깔, 주석 여부 및 주석 내용 정보를 추출한다(802).
공간 데이터의 타입이 점(point) 또는 텍스트(text)인가를 판단한 결과, 점(point)이나 텍스트(text)가 아니거나, 점(point)이나 텍스트(text)로부터 공간 데이터 정보를 추출하였으면, 추출하려는 레이어에 있는 공간 데이터의 타입이 단순선(Line)이거나 복합선(PolyLine)인가를 확인한다(803).
공간 데이터의 타입이 단순선(Line)이거나 복합선(PolyLine)인가를 확인한 결과, 단순선(Line)이거나 복합선(PolyLine)이면 선(Line)의 형태, 문자 크기, 지정색, 선(Line) 패턴, 색상번호, 선(Line) 타입 등 공간 타입의 도면 요소에 영향을 주는 특성과 실제 공간 타입에 대한 좌표를 추출한다(804).
공간 데이터의 타입이 단순선(Line)이거나 복합선(PolyLine)인가를 확인한 결과, 단순선(Line)이거나 복합선(PolyLine)이 아니거나, 단순선(Line)이거나 복합선(PolyLine)으로부터 공간 데이터 정보를 추출하였으면, 추출하려는 레이어에 있는 공간 데이터의 타입이 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)인가를 검사한다(805).
공간 데이터의 타입이 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)인가를 검사한 결과, 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)이면 중심 좌표, 필(fill) 여부, 필(fill) 색깔, 선(Line) 패턴 및 굵기 등의 정보를 추출한다(806).
공간 데이터의 타입이 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)인가를 검사한 결과 아니거나, 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)로부터 공간 데이터 정보를 추출하였으면 그 밖의 공간 데이터 타입이 있는지를 점검한다(807).
그 밖의 공간 데이터 타입이 있는지를 점검한 결과, 있으면 제우스(GEUS)에서 제공하는 공간 타입에서 필요한 정보를 추출한다(808).
그 밖의 공간 데이터 타입이 있는지를 점검한 결과 없거나, 그 밖의 공간 데이터 타입으로부터 정보를 추출하였으면 DXF 공간 데이터 추출 과정(505)을 종료한다.
도 9 는 본 발명에 따른 DXF 파일의 엔티티 섹션에 대하여 제우스(GEUS) 데이터베이스의 형식으로 데이터 변환하는 과정에 대한 일실시예 상세흐름도이다.
도 9 에서는 추출된 공간데이터의 관련 특성값을 제우스(GEUS)에서 제공하는 특수 클래스에 대응시켜 변환하는 과정(506)을 상세히 보여주고 있다.
실제 추출값들을 변환하여 저장하기 위해 제우스(GEUS)의 특수클래스와 속성을 생성되어 있다. 이때 특수클래스로는 라인 테이블, 심볼 테이블, 주석 테이블, 컬러 테이블 등이 있다.
우선, 변환하고자 하는 추출된 공간 데이터 타입이 라인의 특성을 가지는지를 판단한다(901). 판단 결과, 라인의 특성을 가지면, 제우스(GEUS)에서 정의된 라인 테이블에 정의된 색, 두께, 라인 타입, 라인 파일 헤더 정보 등의 에트리뷰트에 추출된 라인의 형태, 문자 크기, 지정색, 라인 패턴, 색상수 등을 대응시켜 변환한다(902).
변환하고자 하는 추출된 공간 데이터 타입이 라인의 특성을 가지는지를 판단한 결과, 라인의 특성을 가지지 않거나, 라인의 특성을 가져 변환을 수행하였으면 변환하고자 하는 추출된 공간 데이터 타입이 색깔의 특성을 가지는지를 확인한다(903).
추출된 공간 데이터 타입이 색깔의 특성을 가지는지를 확인한 결과, 색깔의 특성을 가지면 제우스(GEUS)에서 정의된 색깔 테이블에 정의된 적(R), 녹(G), 청(B), 색이름, 추출 본래의 색 종류 등의 애트리뷰트에 추출된 색관련 값들을 대응시켜 변환한다(904).
추출된 공간 데이터 타입이 색깔의 특성을 가지는지를 확인한 결과, 색깔의 특성을 가지지 않거나, 색깔의 특성을 가져 변환을 수행하였으면 변환하고자 하는 추출된 공간 데이터 타입이 주석의 특성을 가지는지를 검사한다(905).
추출된 공간 데이터 타입이 주석의 특성을 가지는지를 검사한 결과, 주석의특성을 가지면 제우스(GEUS)에서 정의된 주석 테이블에 주석의 폰트 크기, 색깔, 주석내용 등의 애트리뷰트들에 추출된 주석 관련 값들을 대응시켜 변환한다(906).
추출된 공간 데이터 타입이 주석의 특성을 가지는지를 검사한 결과, 주석의 특성을 가지지 않거나, 주석을 특성을 가져 변환을 수행하였으면 변환하고자 하는 추출된 공간 데이터 타입이 심볼의 특성을 가지는지를 점검한다(907).
추출된 공간 데이터 타입이 심볼의 특성을 가지는지를 점검한 결과, 제우스(GEUS)에서 정의된 심볼 테이블에 정의된 심볼의 최대 최소 영역, 심볼의 타입 그리고 심볼을 구성하는 각 공간 타입에 대해 본래의 색 종류 등의 애트리뷰트에 추출된 심볼 관련 값들을 대응시켜 변환한다(908).
추출된 공간 데이터 타입이 심볼의 특성을 가지는지를 검사한 결과, 심볼의 특성을 가지지 않거나, 심볼의 특성을 가져 변환을 수행하였으면 제우스(GEUS) 데이터베이스의 형식으로 변환하는 과정(506)을 종료한다.
이렇게 하여 DXF 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법에 대한 일실시예를 설명하였다.
다음으로, 객체 관계형 지리정보시스템용 데이터로 변환이 필요한 다른 형식의 도면 데이터인 세이프파일(Shapefile)의 변환에 대하여 설명한다.
도 10 은 본 발명에 따른 세이프파일(Shapefile) 도면 데이터를 제우스(GEUS)에서의 데이터로 변환하는 방법에 대한 일실시예 흐름도이다.
우선, 세이프파일(Shapefile) 데이터 포맷에 대해 설명하자면, 세이프파일(Shapefile)은 메인 파일(*.shp), 인덱스 파일(*.shx), 디베이스파일(*.dbf)로 구성된다. 메인 파일은 고정길이 헤더와 가변길이 레코드로 구성되며 그안에 공간 타입을 가지는 애트리뷰트들의 타입과 실제 값을 가지며 인덱스 파일에서는 정의된 속성에 대해 인스턴스의 시작위치를 가진다. 디베이스 파일에서는 비공간 타입을 가지는 애트리뷰트들의 타입 정의와 실제 값을 가진다. 공간 속성들의 정의와 값은 메인 파일(.shp)에 있고 비공간 속성의 정의와 값은 디베이스 파일(.dbf)에 있다.
세이프파일(Shapefile)은 메인 헤더가 먼저 나와서 전체 파일에 대한 설명을 가지며 그 뒤에 각 레코드 헤더와 실제 공간 데이터가 연속해서 나온다.
이러한 세이프파일(Shapefile)을 제우스(GEUS)에서의 데이터로 변환하는 과정은, 우선 변환될 세이프파일(Shapefile) 파일명과 생성되어질 제우스(GEUS) 데이터베이스 파일명을 입력받아 초기환경을 설정한다(1001).
추출 모듈(202)에서는 세이프파일(Shapefile)을 분석하고, 메인 헤더 정보를 추출한다(1002). 즉, 세이프파일(Shapefile)을 순차적으로 읽어가며 메인 파일 헤더에서 전체 영역의 엠비알(MBR), 세이프파일(Shapefile)에 존재하는 공간 데이터 타입의 종류를 추출한다. 디베이스(dbf) 파일에서는 비 공간 속성을 갖는 데이터를 가진다.
추출 모듈(202)에서는 데이터베이스 생성, 관련 클래스 및 애트리뷰트를 생성한다(1003). 추출 모듈(202)에서 처음 클래스와 그에 관련된 애트리뷰트를 생성할 때는 메인 파일 헤더에서 추출한 세이프파일(Shapefile) 공간 데이터 타입 및 관련정보를 참조하고 클래스와 관련 애트리뷰트를 정의한다. 만일 이와 같은 이름을 가진 클래스가 있다면 이미 클래스를 생성하였으므로 실제 공간 데이터를 추출한다. 디베이스(dbf) 파일에 대해서는 이와 관련된 비공간 속성을 갖는 데이터에 대한 애트리뷰트를 제우스(GEUS) 데이터베이스에 정의한다.
추출 모듈(202)에서 새로운 레코드 헤더가 존재하는지를 확인하여(1004), 새로운 레코드 헤더가 존재하지 않으면 종료하고, 새로운 레코드 헤더가 존재하면 세이프파일(Shapefile)에서 공간 데이터를 추출한다(1005). 즉, 추출 모듈(202)에서는 레코드 헤더를 참조하여 실제 세이프파일(Shapefile)의 공간 데이터를 추출하고 디베이스 파일(dbf)에서는 관련 비공간 데이터를 추출한다. 다시 한 번 설명하면, 세이프파일(Shapefile) 데이터 포맷의 도면 데이터 파일의 각 레코드 헤더에서 레코드 번호와 실제 데이터의 길이를 추출한다. 레코드 헤더가 나온뒤에는 실제 데이터가 나온다.
추출 모듈(202)에서 추출된 공간 데이터는 변환 모듈(203)로 넘겨져서 제우스(GEUS) 데이터에 적합하게 변환된 뒤 저장 모듈(204)에서 데이터베이스에 저장된다. 세이프파일(Shapefile)에서 정보를 추출하여 데이터베이스에 넣을 때 공간 타입을 확인하고 그에 따라 원하는 애트리뷰트에 저장하도록 한다. 이에 대해 설명하면 우선, 변환 모듈(203)은 제우스(GEUS) 데이터베이스 형식으로 데이터를 변환한다(1006). 즉, 변환 모듈(203)은 세이프파일(Shapefile)의 실제 데이터에 대해 데이터 변환을 수행한다. 변환 모듈(203)은 세이프파일(Shapefile) 데이터 변환 범위에 해당하는 공간 데이터에 대해 제우스(GEUS) 데이터베이스의 공간 데이터 타입으로 변환을 수행한다.
저장 모듈(204)에서는 제우스(GEUS) 데이터베이스의 공간 데이터 타입으로 변환된 데이터를 데이터베이스에 저장한다(1007). 즉, 저장 모듈(204)에서 세이프파일(Shapefile)을 두 번째 스캔할때는 세이프파일(Shapefile)에서 관련 엔티티가 나타나면 추출 모듈(202)에서 제우스(GEUS)에서 제공하는 공간 타입에 맞게 그 값들을 변환한 후 제우스(GEUS) 공간 타입으로 데이터베이스에 저장한다.
마지막으로 세이프파일(Shapefile)내에 다른 레코드 헤더가 존재하는지를 확인하여(608), 다른 레코드 헤더가 존재하면 세이프파일(Shapefile)에서 공간 데이터를 추출하는 과정(604)부터 반복 수행하고, 다른 레코드 헤더가 존재하지 않으면 종료한다.
도 11 은 본 발명에 이용되는 세이프파일(Shapefile)과 제우스(GEUS)에서의 공간 데이터 타입을 나타낸 일예시도이다.
도 11에 도시된 바와 같이, 제우스(GEUS)에서 제공하는 공간 데이터 타입과 이에 대응되게 세이프파일(Shapefile) 데이터 포맷에서 제공하는 공간 데이터 타입을 점, 단순선, 복합선, 다각형, 사각형, 원 등에 대하여 설명하고 있다.상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 데이터 변환 포맷(DXF : Data eXchange Format)이나 세이프파일(Shapefile) 등의 도면 데이터를 제우스(GEUS)와 같은 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)의 데이터로 변환시켜 줌으로써 제우스(GEUS)를 이용하는 시설관리용 지리정보 시스템에서도 캐드(CAD)시스템에서 그려진 도면이나 다른 지리정보 시스템에서 구축된 도면 및 시설정보 데이터를 이용할 수 있는 효과가 있다.

Claims (14)

  1. 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터베이스 관리시스템의 데이터로 변환하는 방법에 있어서,
    변환될 도면 데이터의 파일명과 상기 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)에 생성되어질 데이터베이스명을 입력받아 초기환경을 설정하는 제 1 단계;
    상기 변환될 도면 데이터 파일을 처음부터 끝까지 순차적으로 읽고 파일을 분석하여 정보를 추출하고, 입력된 상기 데이터베이스명에 따라 상기 객체 관계형 GIS용 DBMS의 데이터베이스를 생성하며, 상기 변환될 도면 데이터 파일에서 추출한 공간 데이터 타입 및 관련정보를 참조하여 클래스와 관련 애트리뷰트를 생성하는 제 2 단계; 및
    상기 변환될 도면 데이터 파일에 대한 공간 데이터를 추출하고, 추출된 상기 공간 데이터를 상기 객체 관계형 GIS용 DBMS에서 제공하는 공간 데이터 타입으로 변환하며, 변환된 공간 데이터를 상기 객체 관계형 GIS용 DBMS 데이터베이스에 저장하는 제 3 단계
    를 포함하는 도면 데이터 변환 방법.
  2. 제 1 항에 있어서,
    상기 객체 관계형 GIS용 DBMS는,
    실질적으로, 제우스(GEUS)인 것을 특징으로 하는 도면 데이터 변환 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 변환될 도면 데이터 파일은,
    실질적으로, 데이터 교환 포맷(DXF) 파일인 것을 특징으로 하는 도면 데이터 변환 방법.
  4. 제 3 항에 있어서,
    상기 제 2 단계에서 파일 분석 및 정보 추출 과정은,
    상기 DXF 파일의 헤더 섹션에 추출하여야 할 정보가 존재하면 도곽 좌표에 필요한 정보를 추출하는 제 4 단계;
    상기 DXF 파일의 테이블 섹션에 추출하여야 할 정보가 존재하면 선(Line)의 형태, 문자 크기, 지정색, 선(Line) 패턴, 색상수, 선(Line) 타입 등 공간 타입의 도면 요소에 영향을 주는 특성을 추출하는 제 5 단계;
    상기 DXF 파일의 블록 섹션에 추출하여야 할 정보가 존재하면 상기 블록은 복합객체가 그룹화되어 있는 공간 객체의 집합이므로 이 정보를 이용하여 심볼을 구성하는 제 6 단계; 및
    상기 DXF 파일의 엔티티 섹션에 추출하여야 할 정보가 존재하면 실제 도면을 표현하는데 필요한 객체들에 대한 공간 데이터를 추출하는 제 7 단계
    를 포함하는 도면 데이터 변환 방법.
  5. 삭제
  6. 제 4 항에 있어서,
    상기 제 3 단계에서 공간 데이터 추출 과정은,
    상기 DXF 파일의 엔티티 섹션 내의 레이어에 대해 추출해야 할 공간 데이터의 타입이 어떤 타입인지를 판단하는 제 8 단계;
    상기 제 8 단계의 판단 결과, 추출해야 할 공간 데이터 타입이 점(Point)이나 텍스트(Text)이면 좌표, 상기 점(Point)의 색깔, 주석 여부 및 주석 내용 정보를 추출하는 제 9 단계;
    상기 제 8 단계의 판단 결과, 추출해야 할 공간 데이터 타입이 단순선(Line)이나 복합선(Polyline)이면 선의 형태, 문자 크기, 지정색, 선 패턴, 색상수, 선 타입 등 공간 타입의 도면 요소에 영향을 주는 특성과 실제 공간 타입에 대한 좌표를 추출하는 제 10 단계;
    상기 제 8 단계의 판단 결과, 추출해야 할 공간 데이터 타입이 원(Circle), 다각형(Polygon), 고형체(Solid) 또는 트레이스(Trace)이면 중심 좌표, 필(fill) 여부, 필(fill) 색깔, 선 패턴 및 굵기 등의 정보를 추출하는 제 11 단계; 및
    상기 제 8 단계의 판단 결과, 추출해야 할 공간 데이터 타입이 상기한 타입들 외의 공간 데이터 타입이면 상기 객체 관계형 GIS용 DBMS에서 필요한 정보를 추출하는 제 12 단계
    를 포함하는 도면 데이터 변환 방법.
  7. 제 4 항에 있어서,
    상기 제 3 단계에서 공간 데이터를 공간 데이터 타입으로 변환하는 과정은,
    추출된 상기 공간 데이터가 어떤 타입인지를 판단하는 제 8 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 점(Point)이면 상기 객체 관계형 GIS용 DBMS에서 제공하는 점(Point)에 대응시켜서 변환하는 제 9 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 텍스트(Text)이면 면 상기 객체 관계형 GIS용 DBMS에서 제공하는 점(Point)에 대응시키고, 상기 객체 관계형 GIS용 DBMS의 주석 테이블에 주석과 관련된 폰트, 색깔, 주석내용, 주석 좌표 등의 정보를 대응시키며, 추출된 색깔 정보를 분석하여 컬러테이블에 대응시켜 변환하는 제 10 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 단순선(Line)인 경우에 상기 객체 관계형 GIS용 DBMS에서 제공하는 단순선(Simpleline) 타입에 대응시키며 상기 객체 관계형 GIS용 DBMS에서 제공하는 라인 테이블에 선의 두께, 색깔, 선의 종류를 대응 시키고 추출된 색깔 정보를 분석하여 컬러테이블에 대응시켜 변환하는 제 11 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 복합선(PolyLine)인 경우에 상기 객체 관계형 GIS용 DBMS에서 제공하는 복합선(Polyline) 타입에 대응시키며 상기 객체 관계형 GIS용 DBMS에서 제공하는 상기 라인 테이블에 선의 두께, 색깔, 선의 종류를 대응시키고 추출된 색깔 정보를 분석하여 상기 컬러테이블에 대응시켜 변환하는 제 12 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 다각형(Polygon)인 경우에 상기 객체 관계형 GIS용 DBMS에서 제공하는 다각형(Polygon) 타입에 대응시키며 상기 객체 관계형 GIS용 DBMS에서 제공하는 상기 라인 테이블에 선의 두께, 색깔, 선의 종류를 대응시키고 추출된 색깔 정보를 분석하여 상기 컬러테이블에 대응시켜 변환하는 제 13 단계;
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 사각형(Rectangle)인 경우에 상기 객체 관계형 GIS용 DBMS에서 제공하는 사각형(Rectangle) 타입에 대응시키며 상기 객체 관계형 GIS용 DBMS에서 제공하는 상기 라인 테이블에 선의 두께, 색깔, 선의 종류를 대응시키고 추출된 색깔 정보를 분석하여 상기 컬러테이블에 대응시켜 변환하는 제 14 단계; 및
    상기 제 8 단계의 판단 결과, 상기 공간 데이터의 타입이 심볼을 지원하는 타입에 대해서는 상기 객체 관계형 GIS용 DBMS에서 제공하는 심볼 테이블에서 정의된 형태로 대응시켜 변환시키며 필요시 상기 라인 테이블, 상기 컬러테이블 및 상기 주석 테이블에 대응시켜서 변환하는 제 15 단계
    를 포함하는 도면 데이터 변환 방법.
  8. 제 4 항에 있어서,
    상기 제 3 단계에서 공간 데이터를 공간 데이터 타입으로 변환하는 과정은,
    추출된 상기 공간 데이터가 라인의 특성을 가지면 상기 객체 관계형 GIS용 DBMS에서 정의된 라인 테이블에 정의된 색, 두께, 선 타입, 선 파일 헤더 정보 애트리뷰트에 추출된 상기 공간 데이터의 선 형태, 문자 크기, 지정색, 선 패턴, 색상수 등을 대응시켜 변환하는 제 8 단계;
    추출된 상기 공간 데이터가 색깔의 특성을 가지면 상기 객체 관계형 GIS용 DBMS에서 정의된 색깔 테이블에 정의된 적(R : Red), 녹(G : Green), 청(B : Blue), 색이름, 추출 본래의 색 종류 등의 애트리뷰트에 추출된 상기 공간 데이터의 색관련 값들을 대응시켜 변환하는 제 9 단계;
    추출된 상기 공간 데이터가 주석의 특성을 가지면 상기 객체 관계형 GIS용 DBMS에서 정의된 주석 테이블에 정의된 주석의 폰트 크기, 색깔, 주석내용 등의 애트리뷰트에 추출된 상기 공간 데이터의 주석 관련 값들을 대응시켜 변환하는 제 10 단계; 및
    추출된 상기 공간 데이터가 심볼의 특성을 가지면 상기 객체 관계형 GIS용 DBMS에서 정의된 심볼 테이블에 정의된 심볼의 최대 최소 영역, 심볼의 타입 그리고 심볼을 구성하는 각 공간 타입에 대해 본래의 색 종류 등의 애트리뷰트에 추출된 상기 공간 데이터의 심볼 관련값들을 대응시켜 변환하는 제 11 단계
    를 포함하는 도면 데이터 변환 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 변환될 도면 데이터는,
    실질적으로, 세이프파일(Shapefile) 도면 데이터인 것을 특징으로 하는 도면 데이터 변환 방법.
  10. 삭제
  11. 삭제
  12. 제 9 항에 있어서,
    상기 제 3 단계에서 공간 데이터를 공간 데이터 타입으로 변환하는 과정은,
    추출된 상기 공간 데이터의 타입이 점(Point)이면 상기 객체 관계형 GIS용 DBMS에서 제공하는 점(Point) 타입에 대응시켜서 변환하는 제 4 단계;
    추출된 상기 공간 데이터의 타입이 원호(Arc) 타입이면서 단순선의 성질을 가지면 상기 객체 관계형 GIS용 DBMS에서 제공하는 단순선(SimpleLine) 타입에 대응시켜서 변환하는 제 5 단계;
    추출된 상기 공간 데이터의 타입이 원호(Arc) 타입이면서 복합선의 성질을 가지면 상기 객체 관계형 GIS용 DBMS에서 제공하는 복합선(PolyLine) 타입에 대응시켜서 변환하는 제 6 단계;
    추출된 상기 공간 데이터의 타입이 다각형(Polygon)이면 상기 객체 관계형 GIS용 DBMS에서 제공하는 다각형(Polygon) 타입에 대응시켜서 변환하는 제 7 단계; 및
    추출된 상기 공간 데이터의 타입이 사각형(Rectangle)이면 상기 객체 관계형 GIS용 DBMS에서 제공하는 사각형(Rectangle) 타입에 대응시켜서 변환하는 제 8 단계
    를 포함하는 도면 데이터 변환 방법.
  13. 삭제
  14. 프로세서를 구비한 객체 관계형 지리정보시스템용 데이터베이스 관리시스템에,
    변환될 도면 데이터의 파일명과 상기 객체 관계형 지리정보시스템(GIS)용 데이터베이스 관리시스템(DBMS)에 생성되어질 데이터베이스명을 입력받아 초기환경을 설정하는 제 1 기능;
    상기 변환될 도면 데이터 파일을 처음부터 끝까지 순차적으로 읽고 파일을 분석하여 정보를 추출하고, 입력된 상기 데이터베이스명에 따라 상기 객체 관계형 GIS용 DBMS의 데이터베이스를 생성하며, 상기 변환될 도면 데이터 파일에서 추출한 공간 데이터 타입 및 관련정보를 참조하여 클래스와 관련 애트리뷰트를 생성하는 제 2 기능; 및
    상기 변환될 도면 데이터 파일에 대한 공간 데이터를 추출하고, 추출된 상기 공간 데이터를 상기 객체 관계형 GIS용 DBMS에서 제공하는 공간 데이터 타입으로 변환하며, 변환된 공간 데이터를 상기 객체 관계형 GIS용 DBMS 데이터베이스에 저장하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990045769A 1999-10-21 1999-10-21 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법 KR100340031B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990045769A KR100340031B1 (ko) 1999-10-21 1999-10-21 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990045769A KR100340031B1 (ko) 1999-10-21 1999-10-21 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법

Publications (2)

Publication Number Publication Date
KR20010037981A KR20010037981A (ko) 2001-05-15
KR100340031B1 true KR100340031B1 (ko) 2002-06-12

Family

ID=19616286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990045769A KR100340031B1 (ko) 1999-10-21 1999-10-21 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법

Country Status (1)

Country Link
KR (1) KR100340031B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101074098B1 (ko) 2007-02-16 2011-10-17 현대중공업 주식회사 선박용 그래픽 빌더의 드로잉 정보 저장 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100516292B1 (ko) * 1999-12-14 2005-09-21 주식회사 케이티 상속화를 이용한 객체구현을 통한 위상정보 생성방법
KR100609575B1 (ko) * 1999-12-31 2006-08-04 주식회사 케이티 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법
KR20040012214A (ko) * 2002-08-01 2004-02-11 김창수 이동 컴퓨팅 환경을 위한 지리정보 데이터 용량 축약 방법
KR100716514B1 (ko) * 2005-07-28 2007-05-09 엔에이치엔(주) 좌석 예매/판매를 위한 공연장 맵 생성 방법 및 이를이용한 좌석 예매 서비스 제공 방법
KR100964317B1 (ko) * 2007-12-18 2010-06-16 한국건설기술연구원 지알디 파일을 지오매니아 지시디 파일로 변환하는 시스템및 방법
CN102591709B (zh) * 2011-12-20 2014-03-12 南京大学 基于OGR的shapefile文件主从式并行写方法
US9002821B2 (en) * 2013-01-16 2015-04-07 Google Inc. Indexing application pages of native applications
KR101991796B1 (ko) 2017-10-20 2019-06-25 한국해양수산개발원 형상파일로부터 Marxan with Zones의 투입파일을 자동 생성하는 방법
KR20190044282A (ko) 2017-10-20 2019-04-30 한국해양수산개발원 Marxan과 Marxan with Zones 간의 투입 자료 변환 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101074098B1 (ko) 2007-02-16 2011-10-17 현대중공업 주식회사 선박용 그래픽 빌더의 드로잉 정보 저장 방법

Also Published As

Publication number Publication date
KR20010037981A (ko) 2001-05-15

Similar Documents

Publication Publication Date Title
US20230367841A1 (en) System and method for implementing containers which extract and apply semantic page knowledge
US6470095B2 (en) Automatic extraction of text regions and region borders for an electronic work surface
EP1457917B1 (en) Apparatus and methods for converting network drawings from raster format to vector format
JP5851607B2 (ja) 漢字構成方法および装置、文字構成方法および装置、ならびにフォントライブラリ構築方法
EP0702322A2 (en) Method and apparatus for identifying words described in a portable electronic document
EP0516483A2 (en) Retrieval system for graphic information
JP2007242021A (ja) 自動文書レイアウトデザイン
KR100340031B1 (ko) 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법
US6167410A (en) Document processing apparatus for adding predetermined design types to an original document
JPS63206873A (ja) 入力走査画像データのベクトル化のための装置及び方法
CN112579086B (zh) 一种适配多平台前端View的模板构建方法
US7027071B2 (en) Selecting elements from an electronic document
JPH06251007A (ja) 表データ入力装置
JPH08212366A (ja) 文書ページを解析するアプリケーションプログラムインタフェース及びその生成方法
Eastman Vector versus raster: a functional comparison of drawing technologies
JPH0827843B2 (ja) 図形内文字列編集方法
JP3070801B2 (ja) 図面管理方法
JP4585742B2 (ja) 画像表示装置、画像表示方法、プログラム及び記録媒体
JP2003150144A (ja) 筆順等の情報を持ったインテリジェントフォント、およびその作成方法、並びにその描画方法
KR100408969B1 (ko) 지오매니아 데이터 파일을 디엑스에프 파일로 변환하는 방법
KR100609575B1 (ko) 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법
JPH07107711B2 (ja) 文書画像の処理装置
Calder Building user interfaces with lightweight objects
Dürst Prolog for structured character description and font design
CN115934715A (zh) 一种程序数据结构的表格化构建方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130430

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150507

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20180503

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee