KR100609575B1 - 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법 - Google Patents

객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법 Download PDF

Info

Publication number
KR100609575B1
KR100609575B1 KR1019990067964A KR19990067964A KR100609575B1 KR 100609575 B1 KR100609575 B1 KR 100609575B1 KR 1019990067964 A KR1019990067964 A KR 1019990067964A KR 19990067964 A KR19990067964 A KR 19990067964A KR 100609575 B1 KR100609575 B1 KR 100609575B1
Authority
KR
South Korea
Prior art keywords
type
point
class
level
extracting
Prior art date
Application number
KR1019990067964A
Other languages
English (en)
Other versions
KR20010059969A (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 KR1019990067964A priority Critical patent/KR100609575B1/ko
Publication of KR20010059969A publication Critical patent/KR20010059969A/ko
Application granted granted Critical
Publication of KR100609575B1 publication Critical patent/KR100609575B1/ko

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보 파일 저장 방법에 관한 것으로, 지리정보 파일의 공통 헤더를 읽어 타입과 레벨 정보를 확인하는 제1 단계; 상기 타입과 레벨이 헤더이면, 상기 지리정보 파일 전체의 좌하점과 우상점이 저장된 위치에서 정보를 추출하여 객체지향형 공간 데이터베이스의 해당 클래스의 값을 설정하는 제2 단계; 상기 타입 제1 임의의 값이고 레벨이 제2 임의의 값이면, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 라인 파일을 생성하는 제3 단계; 상기 타입이 제3 임의의 값이면, 셀 라이브러리에 저장된 유효 레벨 값이 다르 경우 다른 점 클래스를 생성하여 상기 생성된 점 클래스에 점 좌표를 저장하는 제4 단계; 상기 타입이 제4 임의의 값이면, 레벨값으로 단순선 클래스를 생성하여 시작점과 종점을 추출하여 저장하는 제5 단계; 상기 타입이 제5 임의의 값이면, 지리정보 파일의 포인트 스트링 타입에서 각 레벨별로 포인트 클래스를 생성하여 포인트 좌표를 저장하는 제6 단계; 상기 타입이 폴리라인이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 복합선 클래스에 저장하는 제7 단계; 상기 타입이 폴리곤이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 폴리곤 클래스에 저장하는 제8 단계; 상기 타입이 원이면, 지리정보 파일의 타원 타입에서 정보를 추출하여 객체지향형 공간 데이터베이스의 원 클래스로 변환하는 제9 단계; 및 상기 타입이 텍스트이면, 텍스트 정보에서 좌표 값과 텍스트 정보를 추출하여 상기 추출한 좌표값과 텍스트 정보를 객체지향형 공간 데이터베이스의 그래픽 주석 클래스에 각각 저장하는 제10 단계를 포함한다.
dgn, 파일, GEUS, 공간, 데이터베이스, 객체, 지리, 정보

Description

객체지향형 공간 데이터베이스 관리시스템에서의 지리정보 파일 저장 방법{METHOD TO STORE GEOGRAPHIC DATA FILES IN OBJECT-RELATIONAL DATABASE MANAGEMENT SYSTEMS}
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도.
도 2 는 본 발명에 이용되는 dgn 파일의 전체적인 구조 및 복합 구조를 나타낸 설명도.
도 3 은 본 발명에 따른 지리정보 파일 포맷 저장 방법에 대한 일실시예 흐름도.
*도면의 주요 부분에 대한 부호의 설명
11 : 중앙처리장치 12 : 주기억장치
13 : 보조기억장치 14 : 입력장치
15 : 출력장치 16 : 주변장치
본 발명은 객체지향형 공간 데이터베이스 관리시스템(한국통신에서는 "제우스(GEUS)"로 명명함)에서 "dgn" 파일 등과 같은 지리정보 파일에 저장되어 있는 여러 가지 점, 선, 면에 대한 자료구조를 효율적으로 변환/저장함으로써 이를 활용할 수 있도록 한 지리정보 파일 포맷 저장 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
GEUS 등과 같은 객체지향형 공간 데이터베이스 관리시스템에서는 점(point), 단순선(simpleline), 복합선(polyline), 사각형(rectangle), 원(circle), 폴리곤(polygon)의 6가지 공간 데이터 타입을 저장할 수 있으며, 그래픽 주석(graphic annotation)이라는 클래스에서 좌표값을 갖는 텍스트 타입을 저장할 수 있다.
따라서, dgn 파일 포맷 등과 같은 지리정보 파일 포맷내에 저장된 여러 가지 공간 타입을 변환 손실을 최소화하면서 GEUS의 각 공간 클래스에 변환/저장함으로써, 기존에 지리정보 파일로 구축된 공간 자료를 쉽게 이용할 수 있도록 하는 방안이 필수적으로 요구된다.
상기한 바와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 제우스(GEUS) 등과 같은 객체지향형 공간 데이터베이스 관리시스템에서 "dgn" 파일 등과 같은 지리정보 파일에 저장되어 있는 여러 가지 점, 선, 면에 대한 자료구조 를 효율적으로 변환/저장함으로써, 향후 이를 쉽게 활용할 수 있도록 하기 위한 지리정보 파일 포맷 저장 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 객체지향형 공간 데이터베이스 관리시스템(GEUS)에서의 지리정보 파일(dgn) 포맷 저장 방법에 있어서, 지리정보 파일의 공통 헤더를 읽어 타입과 레벨 정보를 확인하는 제1 단계; 상기 타입과 레벨이 헤더이면, 상기 지리정보 파일 전체의 좌하점과 우상점이 저장된 위치에서 정보를 추출하여 객체지향형 공간 데이터베이스의 해당 클래스의 값을 설정하는 제2 단계; 상기 타입 제1 임의의 값이고 레벨이 제2 임의의 값이면, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 라인 파일을 생성하는 제3 단계; 상기 타입이 제3 임의의 값이면, 셀 라이브러리에 저장된 유효 레벨 값이 다르 경우 다른 점 클래스를 생성하여 상기 생성된 점 클래스에 점 좌표를 저장하는 제4 단계; 상기 타입이 제4 임의의 값이면, 레벨값으로 단순선 클래스를 생성하여 시작점과 종점을 추출하여 저장하는 제5 단계; 상기 타입이 제5 임의의 값이면, 지리정보 파일의 포인트 스트링 타입에서 각 레벨별로 포인트 클래스를 생성하여 포인트 좌표를 저장하는 제6 단계; 상기 타입이 폴리라인이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 복합선 클래스에 저장하는 제7 단계; 상기 타입이 폴리곤이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 폴리곤 클래스에 저장하는 제8 단계; 상기 타입이 원이면, 지리정보 파일의 타원 타입에서 정보를 추출하여 객체지향형 공간 데이터베이스의 원 클래스로 변환하는 제9 단계; 및 상기 타입이 텍스트이면, 텍스트 정보에서 좌표 값과 텍스트 정보를 추출하여 상기 추출한 좌표값과 텍스트 정보를 객체지향형 공간 데이터베이스의 그래픽 주석 클래스에 각각 저장하는 제10 단계를 포함한다.
그리고, 프로세서를 구비한 객체지향형 공간 데이터베이스 관리 컴퓨터에서, 지리정보 파일의 공통 헤더를 읽어 타입과 레벨 정보를 확인하는 제1 단계; 상기 타입과 레벨이 헤더이면, 상기 지리정보 파일 전체의 좌하점과 우상점이 저장된 위치에서 정보를 추출하여 객체지향형 공간 데이터베이스의 해당 클래스의 값을 설정하는 제2 단계; 상기 타입 제1 임의의 값이고 레벨이 제2 임의의 값이면, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 라인 파일을 생성하는 제3 단계; 상기 타입이 제3 임의의 값이면, 셀 라이브러리에 저장된 유효 레벨 값이 다르 경우 다른 점 클래스를 생성하여 상기 생성된 점 클래스에 점 좌표를 저장하는 제4 단계; 상기 타입이 제4 임의의 값이면, 레벨값으로 단순선 클래스를 생성하여 시작점과 종점을 추출하여 저장하는 제5 단계; 상기 타입이 제5 임의의 값이면, 지리정보 파일의 포인트 스트링 타입에서 각 레벨별로 포인트 클래스를 생성하여 포인트 좌표를 저장하는 제6 단계; 상기 타입이 폴리라인이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 복합선 클래스에 저장하는 제7 단계; 상기 타입이 폴리곤이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 폴리곤 클래스에 저장하는 제8 단계; 상기 타입이 원이면, 지리정보 파일의 타원 타입에서 정보를 추출하여 객체지향형 공간 데이터베이스의 원 클래스로 변환하는 제9 단계; 및 상기 타입이 텍스트이면, 텍스트 정보에서 좌표 값과 텍스트 정보를 추출하여 상기 추출한 좌표값과 텍스트 정보를 객체지향형 공간 데이터베이스의 그래픽 주석 클래스에 각각 저장하는 제10 단계를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은 dgn 파일에 저장되어 있는 여러 가지 점, 선, 면에 대한 자료 구조를 공간 데이터베이스 시스템인 GEUS로 효율적으로 저장하여 널리 사용되는 dgn 포맷을 활용할 수 있도록 하는데 있다.
이처럼, dgn 파일 내용을 GEUS에 저장함으로써 공간데이터베이스 시스템 관련 기술을 확보하고 GEUS의 활용도를 높일 수 있다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 하드웨어 시스템은, 중앙처리장치(11)와, 중앙처리장치(11)에 연결된 주기억장치(12)와, 주기억장치(12)에 연결된 보조기억장치(13)와, 중앙처리장치(11)에 연결된 입출력장치(14,15) 및 주기억장치(12)에 연결된 주변장치(16)를 구비한다.
여기서, 하드웨어 시스템은, 컴퓨터의 전체 동작을 제어하고 관리하는 중앙처리장치(11), 상기 중앙처리장치(11)에서 수행되는 프로그램을 저장하고 작업 수행중 이용되는 또는 작업 수행중에 발생되는 각종 데이터를 저장하는 주기억장치(12)와 보조기억장치(13) 및 사용자와의 데이터 입출력을 위한 입출력장치(14,15)와 통신 인터페이스 등을 위한 주변장치(16)를 포함한다.
그리고, 상기 보조기억장치(13)는 대량의 데이터를 저장하는 역할을 하며, 상기 입출력장치(14,15)는 일반적인 키보드, 디스플레이 장치 및 프린터 등을 포함한다.
그러나, 상기한 바와 같은 구성을 갖는 컴퓨터 하드웨어 환경은 당해 분야에서 이미 주지된 기술에 지나지 아니하므로 여기에서는 그에 관한 자세한 설명은 생략하기로 한다. 다만, 상기와 같은 하드웨어 시스템의 주기억장치(12)에는 지리정보 파일 포맷 변환 프로그램이 기록되어 중앙처리장치(11)에 의해 제어의 흐름 순 서에 따라 실행된다.
이하, 본 발명에 따른 dgn 파일을 GEUS로 변환하는 방법을 설명함에 있어서, 입력장치(14)를 통하여 입력된 공간 정보를 보조기억장치(13)의 공간 데이터베이스에 저장되어 있다고 가정하여 설명한다.
우선, 본 발명의 이해를 돕기 위하여 dgn에서 저장하는 각 공간 타입마다의 구조 및 디자인 파일 헤더 구조에 대해 설명하고, 이를 GEUS로 변환하는 방법에 대해 설명한다.
dgn 포맷은 마이크로스테이션과 인터그래프사의 대화형 그래픽 디자인 시스템(IGDS)에서 공통으로 사용되는 파일 포맷이다.
디자인 파일은 순차적이고 가변길이의 파일이며, 디자인 파일 헤더용 가변길이 레코드, 파일 설정 정보, 그래픽 요소와 비그래픽 요소로 구성된다.
사용자 정의 요소는 네 번째 요소부터 시작한다.
디자인 파일의 확장자는 일반적으로 ".dgn"이다.
셀 라이브러리는 디자인 파일에서 사용된 셀 정의 데이타를 저장하는 파일이다. 이러한 셀 라이브러리는 파일 헤더(타입5)와 각 셀 정보로 구성된다.
각각의 셀은 셀 라이브러리 헤더 요소와 컴퍼넌트 요소를 포함하는 복합적인 요소이다.
셀의 주석 부분은 중첩될 수 있다.
중첩 셀은 타입 2의 헤더와 컴퍼넌트 요소를 갖게 된다.
셀 라이브러리에 이미 중첩된 셀이 있을 경우에는 컴퍼넌트 요소가 중복되지 않는다.
셀 라이브러리의 확장자는 일반적으로 ".cel"이다. dgn 파일의 전체적인 구조 및 복합 구조는 도 2와 같다.
디자인 파일 헤더 구조를 살펴보면 (표 1)과 같다. 디자인 파일의 처음 세가지 요소를 디자인 파일 헤더라고 부른다.
타입 내용
8. 디지타이저 설정 IGDS에 의해서만 사용된다. 마이크로스테이션에서는 무시한다.
9. 파일 메뉴 설정 FILEDESIGN(파일 메뉴/설정 저장)이 실행되었을 경우 설정 내용이 저장. 터미널 제어 블럭(TCB)참고.
10. 레벨 심볼로지 레벨 심볼로지가 켜져(On) 있는 특정 뷰의 특정 레벨 표시때 도형 요소의 심볼로지(색상,선 형태, 선 굵기)
다음은, dgn 파일의 기본 요소 및 복합요소에 대해 설명한다.
기본 요소(Primitive elements)는 선, 복합선, 폴리곤, 타원, 문자 등을 말한다.
복합 요소(Complex elements)는 논리적으로 한 개의 엔티티로 된 요소들의 집합체이다. 이러한 복합요소는 헤더 다음 컴퍼넌트 요소들을 갖는 요소로서, 디자인 파일내에 들어있다. 즉, 문자 노드, 복합체인, 복합 폐각형은 디자인 파일안에 들어있다.
복합 요소 헤더는 컴퍼넌트 요소의 숫자를 포함해서 전체 요소에 관한 정보를 담고 있다.
헤더의 19번째 워드는 컴퍼넌트 요소들의 워드(words)의 전체 길이와 헤더 내의 19번째 이후에 있는 워드의 수를 더한 내용을 가지고 있다.
헤더들의 길이를 모두 합한 값과 모든 구성요소의 합은 65535 워드를 초과할 수 없다.
dgn 파일의 요소 표현을 살펴보면, "인터그래프(CLIPPER)", "Sun SPARC", "HP700" 등에서 메모리 내부 포맷은 다소 틀리다. 긴 정수(long integer)는 언제나 짝수 워드의 경계선에서 시작되며, 배정도 및 부동소수값은 이 포맷에서 4워드 경계선에서만 시작된다.
한편, 바이트 순서(Byte Ordering)를 살펴보면, 바이트 배치 순서는 컴퓨터에 따라 차이를 보인다. 예를 들면, short이나 long integer같은 경우 어떤 바이트를 먼저 배치시키느냐가 서로 다르다는 뜻이다. 이에 대해서는 (표 2)에 상세히 설명되었다.
순서 견본 시스템 long integer(32bits)주소
Big endian SPARC,HP700,Macintosh 내림차순 바이트 3-2-1-0
Little endian 80x86기반PC, CLIPPER 올림차순 바이트 0-1-2-3
Middle-endian PDP-11 혼합차순 바이트 2-3-0-1
디자인 파일에서 short integer는 little-endian 순서로 저장되고, long integer는 middle-endian 순서로 저장된다.
이제, 부동 소수값에 대해 살펴보면, 모든 부동 소수값(floating-point variables)은 VAX D-Float 포맷으로 디자인 파일에서 저장된다. 각 비트들은 다음과 같이 우측부터 0-63까지 표시된다.
15 14 7 6 0
기호 지수부분 지수부분
31 16
소수
47 32
소수
63 48
소수
한편, 요소 헤더를 살펴보면, 디자인 파일의 요소중에 처음 18워드는 그 요소의 고정된 헤더로서, 요소 타입, 레벨, WTF(words to follow) 및 범위 정보 등을 담고 있다.
타입은 요소의 공간 타입을 나타내는 숫자로 선, 폴리곤, 타원 등을 나타낸다.
레벨은 요소의 레벨을 나타내는 숫자로, 0에서 63까지의 값을 가지며, 하나의 레벨은 하나의 레이어를 의미한다.
첫번째 워드에서는 요소의 타입과 레벨을 정의하며, 구조는 다음과 같다.
0 1 7 8 9 10 15
U Type C R Level
여기서, "U"가 0으로 설정되어 있으면 요소가 사용중, 요소가 삭제되면 설정된다.
그리고, "Type"은 요소의 타입을 표시하는 숫자, "C"는 요소가 복합 요소의 일부일 경우 1로 설정, 아니면 0으로 설정된다. 또한, "R"은 예약(0과 같음), "Level"은 요소의 레벨을 표시하는 숫자(0-63)이다.
요소 헤더의 두 번째 워드는 요소 전체의 워드들중에서 1번과 2번 워드를 뺀 나머지 워드들의 개수를 표시한다. 예를 들면, 디자인 파일내의 다음 요소를 지적한다(일반적으로 words to follow 또는 WTF라고 함).
요소 헤더의 3-14번째 워드에는 요소의 범위를 표시하는 6개의 배정도(long integer)가 들어 있다. 이 범위의 x, y, z 값의 상한, 하한은 정밀 단위계(UOR)로 표현한다. 요소내의 모든 점들은 디자인 평면에 포함되어 있어야 한다.
15번째 워드는 요소의 그래픽 그룹 번호를 갖고 있다. 0일 경우에는 요소가 그래픽 그룹에 속해 있지 않음을 의미한다. 0이 아닐 경우에는 같은 그래픽 그룹 번호를 사용하는 모든 다른 요소들과 함께 하나의 그룹에 속해 있음을 의미한다.
16번째 워드는 16번째 워드와 속성 데이터의 1번째 워드 사이에 들어가는 워드의 개수를 정의한다. 속성 데이터는 선택사항이기 때문에 없을 수도 있다.
17번째 워드는 요소의 특성을 나타낸다.
0 1 2 3 4 5 6 7 8 11 12 15
H S P R A M N L Reserved(사용안함) 클래스
여기서, 각 인자에 대한 정의가 (표 3)에 나타나 있다.
비트 표시내용
H 폐쇄 요소 타입(폐각형, 복합 폐각형, 타원, 원뿔, B-스플라인 곡면 헤더, 폐쇄 B-스플라인 곡선 헤더)에서 요소가 솔리드인지 홀인지 나타낸다. 0 = Solid , 1 = hole 셀 헤더(타입 2 )에서는 0 = 셀의 헤더 1= 오펀 셀(orphan cell)의 헤더(GROUP SELECTION 또는 응용프로그램에 의해 만들어진 ) 선에서는 0 = 라인 세그먼트 , 1 = 무한길이 선 연속점 요소에서는 0 =연속 , 1 = 불연속 이외의 요소에서는 H 비트가 아무 의미가 없다.
S 요소를 스냅할 수 있는지 나타낸다. - 0 = 스냅 가능, 1 = 스냅 불가능
P 표면이 평면인지 나타낸다. - 0 = 평면, 1 = 비평면
R 요소 방향 0 = 디자인 파일에 상대적인 방향 1 = 화면에 상대적인 방향
A 속성 데이타가 있는지 여부 0 = 속성 데이타 없음, 1 = 속성 데이타 있음
M 요소의 그래픽면이 수정되었는지의 여부 0 = 수정 안되었음, 1 = 수정 되었음
N 요소가 새로운 것인지의 여부 0 = 새로운 것이 아님 1 = 새로운 것임(요소가 놓일 때 1로 설정)
L 요소가 잠금상태인지의 여부 0 = 잠금상태가 아님 , 1 = 잠금상태임
4-7 예약된 비트(Reserved)
클래스 다음과 같은 내용을 표시한다. 0. Primary 1.Pattern Component 2.Construction element 3.Dimension element 4. Primary rule element 5.Linear pattern element 6.Construction rule element
18번째 워드는 요소의 심볼로지(색상, 선형태, 선 굵기)를 나타낸다.
0 7 8 12 13 15
Color Class Style
점 좌표의 구성을 살펴보면, 마이크로스테이션은 32비트 정수형 디자인 평면 을 기반으로 하고 있다.
좌표계상의 위치는 두개 또는 세 개의 long integer(각각 2D와 3D에 쓰인다)에 의해 명시된다.
다음은 dgn의 각 타입에 대한 구조 및 이를 GEUS로 변환하는 방식에 대해 설명한다.
첫 번째로, 셀 헤더(타입 2)를 살펴보면 다음과 같다.
셀 헤더 요소는 4.0 이상의 마이크로스테이션에서 사용되는 디자인 파일에 배치된 비공유 셀으로 시작된다.
각 셀 헤더는 원점과(디자인 파일의 좌표로) 셀 라이브러리에서 현재의 디자인 파일 좌표계로 옮기는 동안의 모든 조작 내용(회전과 축적 변경)을 담은 변환 행렬로 구성된다.
변환 행렬은 2*2 또는 3*3행렬의 크기의 행렬로, 4.6566E-6(10,000/231)에 해당하는 올림차순 비트구조의 long integer이다.
2D인 경우에는 다음과 같은 구조를 갖는다.
typedef struct
{
Elm_hdr ehdr; /* 요소 헤더 */
Disp_hdr dhdr; /* 디스플레이 헤더 */
unsigned short totlength; /* 셀의 전체 길이 */
long name; /* Radix 50 이름 */
short class; /* 비트 맵 클래스 */
short levels[4]; /* 셀에 사용된 레벨들 */
Point2d rnglow; /* 블럭 범위 하한 */
Point2d rnghigh; /* 블럭 범위 상한 */
Trans2d trans; /* 변환 행렬 */
Point2d orgin; /* 셀 원점 */
} Cell_2d;
두 번째로, 선 요소(타입 3)를 살펴보면, 선 요소는 헤더 정보와 디자인 평면에서의 선의 양끝 좌표로 구성된다. 이 구조에서는 선의 양끝과 좌표를 추출하여 GEUS의 단순선 클랙스 start, end 좌표를 생성한다.
세 번째로, 복합선(타입 4)과 폴리곤(타입 6)을 살펴보면, 복합선과 폴리곤은 디자인 파일안에서 서로 유사하게 표현된다.
헤더 정보뒤에 정점의 개수와 그 정점의 좌표가 뒤따라 나온다. 이 타입의 요소는 최대 101개의 정점을 가질 수 있다.
폴리곤의 경우 처음 정점의 좌표가 마지막 정점의 좌표와 반드시 일치해야 한다.
복합선 구조에서는 정점의 개수 n과 그 정점의 좌표들을 추출하여 GEUS의 복합선 클래스의 n개의 좌표들을 생성한다.
폴리곤 구조에서는 정점의 개수 n과 그 정점의 좌표들을 추출하여 GEUS의 폴 리곤 클래스의 n개의 좌표들을 생성한다.
네 번째로, 타원 요소(타입 15)를 살펴보면, 타원 요소(ellipse element)는 중점, 회전각, 장축 및 단축 등으로 구성된다.
원은 장축과 단축의 길이가 같은 타원이다. 이 구조에서는 중점을 추출하고 장축 및 단축 정보에서 원의 반지름을 추출하여 GEUS의 원 클래스의 center와 radius를 생성한다.
다섯 번째로, 문자 요소(타입 17)를 살펴보면, 문자 요소는 한 줄짜리 문자로 구성된다. 이 구조에서는 문자가 위치한 좌표값과 문자 스트링을 추출하여 GEUS의 그래픽 주석 클래스의 location과 annotation_text를 생성한다.
위와 같이, GEUS에서는 dgn에 저장되어 있는 각 데이터 타입에서 좌표값 및 필요한 정보들을 추출하여 GEUS의 각 공간 클래스에 저장하게 된다.
GEUS에는 6개의 공간 타입을 갖는 6개의 공간 클래스를 지원하며, 텍스트 정보를 갖는 그래픽 주석 클래스를 지원한다.
dgn 파일에서 제공하는 데이터 타입중 대부분의 공간 데이터 타입은 GEUS의 공간 클래스로 변환되며, 원뿔이라든지 B-spline 곡선과 같이 GIS에서 많이 사용하지 않는 데이터 타입은 변환되지 않는다.
이제, dgn 파일을 GEUS로의 변환 방식에 대해 보다 상세히 설명한다.
다음은 GEUS에서 지원하는 데이터 타입에 대한 구조이다.
점 클래스는 location이라는 point 좌표를 갖는다. 여기서, location은 double로된 x, y 좌표로 구성된다.
단순선 클래스는 sline이라는 simpleline 값을 갖는다. 여기서, sline은 point 타입으로 된 두 개의 점 start와 end로 구성된다.
복합선 클래스는 path라는 polyline 타입값을 갖는다. 여기서, path는 점의 개수 n과 n개의 point 좌표값으로 구성된다.
폴리곤 클래스는 boundary라는 polygon 타입값을 갖는다. 여기서, boundary는 polyline과 동일한 구조로 점의 개수 n과 n개의 point 좌표값으로 폐각형을 구성한다.
사각형 클래스는 box라는 rectangle 타입 값을 갖는다. 여기서, box는 minpt와 maxpt라는 사각형의 좌하점과 우상점으로 구성된다.
원 클래스는 ring이라는 circle 타입값을 갖는다. 여기서, ring은 center라는 point값과 radius라는 반지름으로 구성된다.
(표 4 )는 GEUS에서 제공하는 각 데이터 타입을 나타낸다.
그래픽 주석 클래스는 annotation_location이라는 point 좌표값과 annotation_text라는 좌표값에 존재하는 텍스트 정보로 구성된다.
공간 타입 구조
x, y : double
단순선 start, end : point
복합선 num : integer npoints : point
폴리곤 num : integer n points : rectangle
사각형 minpt, maxpt : point
center : point radius : double
도 3 은 본 발명에 따른 지리정보 파일 포맷 저장 방법에 대한 일실시예 흐름도로서, dgn 파일을 읽으면서 필요한 정보들을 GEUS의 각 공간 클래스로 저장하는 절차를 나타낸다.
도 3에 도시된 바와 같이, 본 발명에 따른 지리정보 파일 포맷 저장 방법은, 먼저 각 요소의 공통 헤더 부분을 읽어 필요한 정보인 타입, 레벨 등에 대한 정보를 읽는다(301).
이후, 각 타입을 읽어 각 타입에 맞는 과정으로 이동한다(302).
이를 보다 상세히 살펴보면 다음과 같다.
만약, 타입이 9이고 레벨이 8인 경우에는 dgn 파일의 가장 앞에 나오는 헤더에 해당하며 이 경우 파일 전체의 좌하점과 우상점이 저장된 위치에서 필요한 정보를 추출하여 GEUS의 gis_info 클래스의 sc_left_low_pt와 sc_right_high_pt를 설정한다(303). dgn의 모든 점 좌표는 혼합구조(middle-endian) 방식으로 저장되어 있으며, long 타입으로 되어있다. 이를 UNIX 포맷인 big-endian 방식으로 변환하여 추출한다.
한편, 타입이 5이고 레벨이 1인 경우에는, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 GEUS에서 사용하는 라인 파일을 생성한다(304). 저장되어 있는 칼라는 256칼라에 라인 스타일이 8가지이므로 GEUS의 라인파일에는 256*8개의 패턴이 생성된다.
다른 한편, 타입이 2인 경우에는 점 클래스를 생성한다. 셀 라이브러리에 저장된 유효 레벨(active level)값이 다르면 다른 점 클래스를 생성하여 그 클래스에 점 좌표를 저장한다(305). 셀 라이브러리에는 레벨 0에서 63까지중에서 사용되는 유효 레벨 비트(active level bit)에 1이 설정되어 있으므로 그 유효 레벨이 다르면 새로운 클래스로 저장한다. dgn의 셀 라이브러리에서 유효 레벨값이 같은 데이터들이 GEUS에서 하나의 점 클래스로 저장되며, 클래스 이름 명명시 기존의 레벨값과 겹치지 않도록 level100_point 클래스, level101_point 클래스와 같이 레벨값을 증가시켜 새로운 클래스 이름을 생성한다. 셀 라이브러리에 저장된 각 유효 레벨은 하나의 복합 구조로 설정되어 하나의 심볼을 구성하게 된다. 즉, 셀 라이브러리에서는 심볼이 저장된 점 위치와 심볼을 이루는 레벨들이 저장되어 있으므로 이 정보를 보면 후에 나오는 이 레벨들로 이루어진 복합구조에서 심볼 모양을 추출할 수 있다. 예를 들면, 하나의 셀 라이브러리의 유효 레벨값이 10과 11로 구성되어 있다면 이 셀 라이브러리의 점 좌표에는 레벨 10과 레벨 11에 있는 데이터를 합한 심볼 모양이 그 점 좌표가 갖는 심볼 형태가 된다.
한편, 타입이 3이면, 레벨값으로 단순선 클래스를 생성하여 start 점과 end 점을 추출하여 GEUS에 저장한다(306). dgn에서는 타원 타입을 제외한 다른 타입의 경우 모두 long integer 값으로 좌표값을 저장하므로 이 좌표값을 읽어 실제 좌표값으로 변환하여 GEUS에서는 double값으로 저장하게 된다. dgn에서의 레벨값과 타입을 기반으로 GEUS 클래스 이름을 생성한다. 예를 들면, 레벨값이 5이고 단순선에 대한 데이터는 GEUS에서 level5_sline이라는 클래스에 저장된다.
다른 한편, 타입이 22이면, dgn의 point string 타입에서 각 level별로 point 클래스를 생성하여 point 좌표를 저장한다(307).
또 다른 한편, 타입이 4인 polyline 타입이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 GEUS의 복합선 클래스에 저장한다(308).
한편, 타입이 6인 폴리곤 타입이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 GEUS의 폴리곤 클래스에 저장한다(309).
다른 한편, 타입이 15이면, dgn의 타원 타입에서 정보를 추출하여 GEUS의 원 클래스로 변환하다(310). dgn에서 타원은 장축 반지름과 단축 반지름, 중심점에 대한 정보가 VAX-D 형태로 저장되어 있으므로 이를 IEEE double 포맷으로 변환한다. VAX-D 형태와 IEEE 형태는 저장 방식이 다르며, 지수부분의 유효자리수가 다르고 따라서 bias 값도 다르므로 IEEE double 형태로 변환하는 작업이 필요하다. GEUS로 변환시 장축 반지름과 단축 반지름을 평균한 값을 반지름으로 설정한다.
또 다른 한편, 타입이 17이면, text 정보에서 좌표 값과 텍스트 정보를 추출한다(311). 텍스트 정보는 한글인 경우와 영문인 경우 그 저장 구조가 다르므로 영문인 경우는 그대로 크기만큼 읽어 추출하고, 한글인 경우는 전체 텍스트에 대해 각각 2바이트씩을 서로 교환하여 추출하고 마지막 2바이트는 중복되어 저장된 것으로 추출하지 않는다. 추출한 좌표값과 텍스트 정보를 GEUS의 그래픽 주석 클래스의 annotation_location과 annotaiton_text에 각각 저장한다.
한편, 위의 어느 경우에도 해당하지 않는 타입이면, GEUS에서 지원하지 않는 타입이므로 그 요소는 건너뛴다(312). 복합구조를 나타내는 type 12와 같은 경우에도 그 복합요소 헤더 뒤에 나오는 복합요소들을 기본 요소와 동일하게 저장한다. 즉, 여러 개의 공간 타입이 하나의 복합 요소로 묶여 있다 해도 GEUS에서는 각 타 입을 하나의 인스턴스로 저장하게 된다. dgn에서 복합구조로 되어 있는 하나의 객체가 GEUS에서는 여러 클래스로 나뉘게 되지만 클래스 이름에서 같은 레벨값을 갖는 것들을 함께 도시하면 복합 객체 형태를 확인할 수 있다. 즉, level160_circle 클래스와 level160_sline 클래스의 내용을 함께 도시하면 dgn 파일에서 레벨 60인 복합 구조(원과 단순선으로 이루어진) 형태를 확인할 수 있다.
마지막으로, 다음 요소를 읽어(313) 크기가 0이면 종료하고 그렇지 않은 경우 다시 "301" 단계로 돌아가 상기의 과정을 반복 수행한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기한 바와 같은 본 발명은, 지리정보 파일 포맷(dgn 포맷)내에 저장된 여러 가지 공간 타입을 변환 손실을 최소화하면서 객체지향형 공간 데이터베이스 관리시스템(GEUS)의 각 공간 클래스에 저장함으로써 기존에 dgn 파일로 구축된 공간 자료를 쉽게 이용할 수 있도록 하는 효과가 있다.

Claims (2)

  1. 객체지향형 공간 데이터베이스 관리시스템(GEUS)에서의 지리정보 파일(dgn) 포맷 저장 방법에 있어서,
    지리정보 파일의 공통 헤더를 읽어 타입과 레벨 정보를 확인하는 제1 단계;
    상기 타입과 레벨이 헤더이면, 상기 지리정보 파일 전체의 좌하점과 우상점이 저장된 위치에서 정보를 추출하여 객체지향형 공간 데이터베이스의 해당 클래스의 값을 설정하는 제2 단계;
    상기 타입 제1 임의의 값이고 레벨이 제2 임의의 값이면, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 라인 파일을 생성하는 제3 단계;
    상기 타입이 제3 임의의 값이면, 셀 라이브러리에 저장된 유효 레벨 값이 다르 경우 다른 점 클래스를 생성하여 상기 생성된 점 클래스에 점 좌표를 저장하는 제4 단계;
    상기 타입이 제4 임의의 값이면, 레벨값으로 단순선 클래스를 생성하여 시작점과 종점을 추출하여 저장하는 제5 단계;
    상기 타입이 제5 임의의 값이면, 지리정보 파일의 포인트 스트링 타입에서 각 레벨별로 포인트 클래스를 생성하여 포인트 좌표를 저장하는 제6 단계;
    상기 타입이 폴리라인이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 복합선 클래스에 저장하는 제7 단계;
    상기 타입이 폴리곤이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 폴리곤 클래스에 저장하는 제8 단계;
    상기 타입이 원이면, 지리정보 파일의 타원 타입에서 정보를 추출하여 객체지향형 공간 데이터베이스의 원 클래스로 변환하는 제9 단계; 및
    상기 타입이 텍스트이면, 텍스트 정보에서 좌표 값과 텍스트 정보를 추출하여 상기 추출한 좌표값과 텍스트 정보를 객체지향형 공간 데이터베이스의 그래픽 주석 클래스에 각각 저장하는 제10 단계
    를 포함하는 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보 파일 저장 방법.
  2. 프로세서를 구비한 객체지향형 공간 데이터베이스 관리 컴퓨터에서,
    지리정보 파일의 공통 헤더를 읽어 타입과 레벨 정보를 확인하는 제1 단계;
    상기 타입과 레벨이 헤더이면, 상기 지리정보 파일 전체의 좌하점과 우상점이 저장된 위치에서 정보를 추출하여 객체지향형 공간 데이터베이스의 해당 클래스의 값을 설정하는 제2 단계;
    상기 타입 제1 임의의 값이고 레벨이 제2 임의의 값이면, 저장되어 있는 rgb 값과 라인 스타일을 추출하여 라인 파일을 생성하는 제3 단계;
    상기 타입이 제3 임의의 값이면, 셀 라이브러리에 저장된 유효 레벨 값이 다르 경우 다른 점 클래스를 생성하여 상기 생성된 점 클래스에 점 좌표를 저장하는 제4 단계;
    상기 타입이 제4 임의의 값이면, 레벨값으로 단순선 클래스를 생성하여 시작점과 종점을 추출하여 저장하는 제5 단계;
    상기 타입이 제5 임의의 값이면, 지리정보 파일의 포인트 스트링 타입에서 각 레벨별로 포인트 클래스를 생성하여 포인트 좌표를 저장하는 제6 단계;
    상기 타입이 폴리라인이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 복합선 클래스에 저장하는 제7 단계;
    상기 타입이 폴리곤이면, 점의 개수와 각 점의 좌표를 추출하여 각 레벨별로 객체지향형 공간 데이터베이스의 폴리곤 클래스에 저장하는 제8 단계;
    상기 타입이 원이면, 지리정보 파일의 타원 타입에서 정보를 추출하여 객체지향형 공간 데이터베이스의 원 클래스로 변환하는 제9 단계; 및
    상기 타입이 텍스트이면, 텍스트 정보에서 좌표 값과 텍스트 정보를 추출하여 상기 추출한 좌표값과 텍스트 정보를 객체지향형 공간 데이터베이스의 그래픽 주석 클래스에 각각 저장하는 제10 단계
    를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990067964A 1999-12-31 1999-12-31 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법 KR100609575B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990067964A KR100609575B1 (ko) 1999-12-31 1999-12-31 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990067964A KR100609575B1 (ko) 1999-12-31 1999-12-31 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법

Publications (2)

Publication Number Publication Date
KR20010059969A KR20010059969A (ko) 2001-07-06
KR100609575B1 true KR100609575B1 (ko) 2006-08-04

Family

ID=19635052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990067964A KR100609575B1 (ko) 1999-12-31 1999-12-31 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법

Country Status (1)

Country Link
KR (1) KR100609575B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012172A1 (en) 1993-10-29 1995-05-04 Wall Data Incorporated Semantic object modeling system for creating relational database schemas
KR20000038181A (ko) * 1998-12-04 2000-07-05 이계철 공간 데이터베이스 시스템에서 공간 데이터를 포스트스크립트형식으로 변환하는 방법
KR20010037981A (ko) * 1999-10-21 2001-05-15 이계철 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법
KR20010059971A (ko) * 1999-12-31 2001-07-06 이계철 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012172A1 (en) 1993-10-29 1995-05-04 Wall Data Incorporated Semantic object modeling system for creating relational database schemas
KR20000038181A (ko) * 1998-12-04 2000-07-05 이계철 공간 데이터베이스 시스템에서 공간 데이터를 포스트스크립트형식으로 변환하는 방법
KR20010037981A (ko) * 1999-10-21 2001-05-15 이계철 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법
KR20010059971A (ko) * 1999-12-31 2001-07-06 이계철 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1019990067964 - 629379 *

Also Published As

Publication number Publication date
KR20010059969A (ko) 2001-07-06

Similar Documents

Publication Publication Date Title
US6683618B1 (en) Method and apparatus for creating and performing graphics operations on device-independent bitmaps
US20030020726A1 (en) Method and system for displaying graphics information
US20080046808A1 (en) Method and apparatus for visualizing multidimensional data sets using expandable grids with hierarchically-labeled axes
CA2480653A1 (en) Revivifivation display method for outline fonts based on stroke centerlines technology
CN105550247A (zh) 基于svg标准可自定义图符的电力系统图形显示方法
JPH1031472A (ja) 段階的表現可能フォント、その変換方法およびレンダリング方法
CN105512235A (zh) 一种GIS与AutoCAD数据交换方法及中间文件
CN112100795A (zh) 一种计算机辅助设计图纸的对比方法及装置
CN114969586A (zh) 基于web端的bim图形引擎加载方法及装置
JP3083314B2 (ja) 文書処理方法及び装置
She et al. 3D building model simplification method considering both model mesh and building structure
Goh A graphic query language for cartographic and land information systems
KR100340031B1 (ko) 다른 형식의 도면 데이터를 객체 관계형 지리정보시스템용 데이터로 변환하는 방법
KR100609575B1 (ko) 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법
US5883629A (en) Recursive and anisotropic method and article of manufacture for generating a balanced computer representation of an object
KR20010044367A (ko) 디엑스에프 파일을 지오매니아 데이터 파일로 변환하는 방법
CN113642091B (zh) 基于图纸的变更挂接方法、装置、电子设备及存储介质
CN115981625A (zh) 一种可扩展的电力系统接线图界面建模方法及系统
US20030020748A1 (en) Method and system for displaying graphics information
CN111159480B (zh) 一种基于电网gis数据的图形绘制方法
KR100679289B1 (ko) 벡터화소를 이용한 이미지 처리 시스템
US6801214B1 (en) Three-dimensional graphics system reducing color data/bits in drawing operations for faster processing
KR100321773B1 (ko) 공간데이터베이스시스템에서공간데이터를포스트스크립트형식으로변환하는방법
Fuchs et al. Extended focus & context for visualizing abstract data on maps
CN117592283A (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: 20100708

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee