KR20010059971A - 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 - Google Patents
벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 Download PDFInfo
- Publication number
- KR20010059971A KR20010059971A KR1019990067967A KR19990067967A KR20010059971A KR 20010059971 A KR20010059971 A KR 20010059971A KR 1019990067967 A KR1019990067967 A KR 1019990067967A KR 19990067967 A KR19990067967 A KR 19990067967A KR 20010059971 A KR20010059971 A KR 20010059971A
- Authority
- KR
- South Korea
- Prior art keywords
- identifier
- data
- name
- vector product
- integer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간 데이터베이스 관리시스템상에서 관리하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 벡터 프로덕트 포맷 전자지도 파일을 상대적으로 데이터의 운용관리가 용이하고 벡터 프로덕트 포맷을 효율적으로 표현할 수 있는 객체관계형 공간 데이터로 변환하여 객체관계형 공간 데이터베이스 관리시스템상에서 관리하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 벡터 프로덕트 포맷 처리를 위한 데이터베이스 시스템 객체를 생성하는 제 1 단계; 상기 데이터베이스 시스템 객체에 의해 파일 변환 부객체가 구동되어 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터를 공간 데이터베이스 관리시스템의 데이터로 변환하는데 필요한 벡터 프로덕트 포맷 기반 전자지도의 객체관계형 데이터 모델링 및 데이터 파일 변환을 수행하는 제 2 단계; 상기 데이터베이스 시스템 객체에 의해 자료변경 부객체가 구동되어 공간 데이터의 삽입 및 삭제와 같은 데이터 변경을 처리하는 제 3 단계; 및 상기 파일 변환 부객체나 상기자료변경 부객체에 의해 자료관리 부객체가 구동되어 공간 데이터간의 위상 관계 및 공간 색인을 유지 관리하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 객체관계형 공간 데이터베이스 관리시스템 등에 이용됨.
Description
본 발명은 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간 데이터베이스 관리시스템상에서 관리하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 벡터 프로덕트 포맷(VPF : Vector Product Format)을 기반으로 하는 전자지도를 객체관계형 공간 데이터베이스 관리시스템(DBMS : DataBase Management System)인 제우스(GEUS)상에서 관리하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
이를 위하여 벡터 프로덕트 포맷의 디렉토리 계층구조상의 각종 전자지도 파일을 객체관계형 데이터베이스 관리시스템 상에서 표현할 수 있도록 벡터 프로덕트포맷 처리용 데이터베이스 시스템 객체를 기존 공간 데이터베이스 관리시스템과 밀결합시켜 구동시킴으로써 이 객체내 파일변환 부객체에 의해 초기 벡터 프로덕트 포맷 전자지도 파일을 변환시켜 공간 데이터베이스 클래스 계층구조를 생성하고 자료변경 요청시에는 자료변경 부객체에 의해 공간 데이터베이스 클래스 계층구조상의 관련 클래스에 반영하도록 지원한다.
한편, 자료관리 부객체를 두어 파일변환이나 자료변경 부객체가 작업을 마친 후에 공간 데이터간의 위상 관계나 공간 색인 등을 유지, 관리할 수 있도록 지원한다.
파일변환 부객체에서는 스키마 변환기와 데이터 변환기를 통해 기본 공간처리 클래스를 추가하고 추가된 클래스를 기반으로 벡터 프로덕트 포맷의 전자지도를 객체관계형 공간 데이터베이스 관리시스템 상의 클래스 계층구조로 변환한다. 이때 벡터 프로덕트 포맷의 한계에 따라 분리되어 관리되고 있는 공간 및 비공간 속성을 통합함으로써 불필요한 항목이나 두 테이블(파일)간의 매개 테이블을 삭제함으로써 데이터 관리상의 효율성을 높이게 된다.
한편, 자료변경 부객체에서는 레벨 분석기를 통하여 변경 요청된 데이터의 공간 데이터베이스 클래스 계층 구조상의 관련 레벨들을 분석하고 그 결과를 자료 변경기로 전달하여 공간 데이터베이스 클래스 계층 구조상의 해당 클래스에 반영한다.
마지막으로 파일변환 부객체와 자료변경 부객체에 의해 1차 완성된 클래스 계층구조상의 공간 데이터들간의 위상관계나 공간색인을 유지, 관리하기 위하여 자료관리 부객체를 구동한다. 이 객체는 위상관리기를 통하여 전자지도에서 명시된 위상레벨에 맞게 공간 데이터간의 위상 정보를 산출하여 위상 클래스에 저장하고 색인관리기를 통하여 공간 색인을 생성함으로써 데이터 검색 효율을 높일 수 있다.
공간 색인은 초기 구축시에는 색인관리기를 작동시켜서 생성시켜야 하나, 그 이후로는 데이터 변경시에 자동으로 공간색인 정보가 클래스 계층구조상에 반영될 수 있다.
본 발명은, 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터베이스 파일을 객체관계형 공간 데이터베이스 관리시스템인 제우스상에서 관리하는 효율적인 방법을 제안한다. 이를 효율적으로 지원하기 위하여 본 발명에서는 객체관계형 공간 데이터베이스 관리시스템상의 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체를 정의한다.
본 발명에서 제안하는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체는 이제까지 디렉토리 계층구조상에서 파일 단위로 관리되는 벡터 프로덕트 포맷 사양의 전자지도 데이터베이스를 객체관계형 공간 데이터베이스 관리시스템상에서 객체관계형 모델링 기법에 따라 설계된 구조로 변환 및 재구축하여 불필요한 데이터의 중복 요소를 제거하는 방법으로 데이터베이스 볼륨을 줄임과 동시에 데이터 검색 속도를 획기적으로 향상시킬 수 있다.
또한, 공간 데이터베이스 관리시스템에서 제공하는 다양하고 안정적인 기능들을 사용하여 데이터의 변경, 관리를 지원하여 체계적이고 효율적인 유지보수를 가능하게 하고자 한다. 한편, 벡터 프로덕트 포맷 구조 기반의 전자지도를 활용하는 지리정보시스템 응용 시스템 개발자나 전자지도 데이터베이스 운용 관리자들이 데이터베이스 관리시스템에서 제공하는 기능들을 적극 활용하게 됨으로써 전자지도 데이터베이스의 활용도를 높여 다양한 지리정보시스템 응용 시스템 개발에 적용될 수 있는 기회를 높이고자 한다.
본 발명은, 지리정보시스템의 응용 시스템 개발과 관련된 전자지도 데이터베이스 운용기술 분야에 속하는 것으로서 지리정보시스템 응용 시스템을 개발함에 있어 전자지도 데
이터베이스 소스가 벡터 프로덕트 포맷 사양을 따라 구축된 경우, 지금까지의 응용 시스템에서는 전자지도의 원천 소스 파일을 단지 참조하고 검색하는 용도로만 사용해 왔었다. 이는 벡터 프로덕트 포맷 형식을 따르는 전자지도의 경우, 하나의 벡터 프로덕트 포맷 테이블이 한 파일내에 순차 레코드들로 구성되어 있고, 일련번호뿐만 아니라 물리적인 레코드 위치까지도 고정되기 때문에 일부 데이터가 변경될 경우, 파일 전체 또는 이와 관련된 모든 파일들을 각 디렉토리 계층 구조별로 따라 다니면서 수정하는 번거로운 작업을 수행해야 하는 문제점이 있다.
따라서, 전자지도의 유지보수 기능이 필수적으로 요구되는 지리정보시스템 응용 시스템을 개발하여 실제로 적용하기 위해서는 기존 방식에 한계가 있다.
또한, 공간 데이터와 비공간 데이터를 별도로 운용함에 따라 공간 정보를 기준으로 비공간 데이터를 검색할 때 이들의 관계를 연결짓는 매개 항목과 매개 테이블이 별도로 필요한 실정이다. 그 결과로 데이터 파일 갯수가 증가하게 되어 이를 처리하는 것도 부담이 되고 단순히 검색이 아닌 데이터 변경 작업시에도 부담이 배로 증가하는 문제점이 있었다.
또한, 파일 형태로 제공되는 벡터 프로덕트 포맷 기반의 전자지도 데이터베이스를 활용하여 지리정보시스템 응용 시스템을 개발하는 경우, 데이터 검색이나 트랜잭션 관리 부분에서 응용 시스템 개발자나 데이터 운용 관리자들이 편리한 유틸리티나 응용 시스템 개발 툴들을 전혀 지원 받을 수 없는 문제점이 있다. 그러므로, 벡터 프로덕트 포맷 구조는 전자지도 데이터를 구축하는 데 있어 상용화된 거의 모든 포맷의 장점들을 수용한 범용개념의 포맷이기는 하나 실제로 이 구조 자체가 파일 단위로 관리되는 단순한 데이터 파일들의 모음이기 때문에 이를 활용하여 다양한 사용자들의 요구를 충족시켜주는 지리정보시스템 응용 시스템을 구현하기란 용이하지 않은 문제점이 있다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 벡터 프로덕트 포맷 전자지도 파일을 상대적으로 데이터의 운용관리가 용이하고 벡터 프로덕트 포맷을 효율적으로 표현할 수 있는 객체관계형 공간 데이터로 변환하여 객체관계형 공간 데이터베이스 관리시스템상에서 관리하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명의 벡터 프로덕트 포맷 전자지도 데이터베이스를 객체 관계형 공간 데이터베이스 관리시스템에서 관리할 수 있는 파일 변환 및 데이터 변경과 관리 기능을 갖는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 일반적인 응용 예시도.
도 2 는 본 발명의 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 구성 예시도.
도 3 은 본 발명의 벡터 프로덕트 포맷 기반 전자지도 파일변환 부객체 구성예시도.
도 4 은 본 발명의 벡터 프로덕트 포맷 기반 전자지도 자료변경 부객체 구성예시도.
도 5 는 본 발명의 벡터 프로덕트 포맷 기반 전자지도 자료관리 부객체 구성예시도.
도 6 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 일실시예 흐름도.
도 7 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 파일변환 부객체의 일실시예 흐름도.
도 8 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료변경 부객체의 일실시예 흐름도.
도 9 는 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료관리 부객체의 일실시예 흐름도.
상기 목적을 달성하기 위한 본 발명은, 객체관계형 공간 데이터베이스 관리시스템에 적용되는 벡터 프로덕트 포맷 전자지도 파일을 관리하는 방법에 있어서, 벡터 프로덕트 포맷 처리를 위한 데이터베이스 시스템 객체를 생성하는 제 1 단계; 상기 데이터베이스 시스템 객체에 의해 파일 변환 부객체가 구동되어 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터를 공간 데이터베이스 관리시스템의 데이터로 변환하는데 필요한 벡터 프로덕트 포맷 기반 전자지도의 객체관계형 데이터 모델링 및 데이터 파일 변환을 수행하는 제 2 단계; 상기 데이터베이스 시스템 객체에 의해 자료변경 부객체가 구동되어 공간 데이터의 삽입 및 삭제와 같은 데이터 변경을 처리하는 제 3 단계; 및 상기 파일 변환 부객체나 상기 자료변경 부객체에 의해 자료관리 부객체가 구동되어 공간 데이터간의 위상 관계 및 공간 색인을 유지 관리하는 제 4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 대용량 프로세서를 구비한 객체관계형 공간 데이터베이스 관리시스템에, 벡터 프로덕트 포맷 처리를 위한 데이터베이스 시스템 객체를 생성하는 제 1 기능; 상기 데이터베이스 시스템 객체에 의해 파일 변환 부객체가 구동되어 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터를 공간 데이터베이스 관리시스템의 데이터로 변환하는데 필요한 벡터 프로덕트 포맷 기반 전자지도의 객체관계형 데이터 모델링 및 데이터 파일 변환을 수행하는 제 2 기능; 상기 데이터베이스 시스템 객체에 의해 자료변경 부객체가 구동되어 공간 데이터의 삽입 및 삭제와 같은 데이터 변경을 처리하는 제 3 기능; 및 상기 파일 변환 부객체나 상기 자료변경 부객체에 의해 자료관리 부객체가 구동되어 공간 데이터간의 위상 관계 및공간 색인을 유지 관리하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은, 상대적으로 데이터의 운용관리가 용이하고 벡터 프로덕트 포맷을 효율적으로 표현할 수 있는 객체관계형 공간 데이터베이스 관리시스템상에 전자지도 데이터베이스를 변환하여 관리할 수 있는 방식으로 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체를 객체관계형 공간 데이터베이스 관리시스템 내부에서 제공함으로써 벡터 프로덕트 포맷의 전자지도 데이터베이스의 활용도를 높일 수 있을 것으로 판단된다.
본 발명을 통하여 벡터 프로덕트 포맷 파일을 기반으로 하는 전자지도 데이터베이스 구조를 신속하고 효율적으로 분석하는 과정과 그 분석된 결과를 객체관계형 공간 데이터베이스 관리시스템인 제우스상에 변환하는데 필요한 객체관계형 데이터 모델링 방식의 시스템 클래스들을 정의하고, 실제 전자지도의 변환과 지속적인 데이터의 변경관리, 위상 관계 및 공간 색인을 유지할 수 있도록 지원하는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체를 객체관계형 공간 데이터베이스 관리시스템인 제우스 상에 생성시켜 줌으로써 기존 벡터 프로덕트 포맷 처리용 소프트웨어들에서 제공하지 못했던 데이터 변경 기능을 강화한 체계적이고 효율적인 전자지도 데이터베이스 관리 기법을 제안하고자 한다.
본 발명의 가장 핵심적인 기술은 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체를 객체관계형 공간 데이터베이스 관리시스템 내부에 형상화 시켜줌으로써 벡터 프로덕트 포맷의 전자지도를 객체관계형 공간 데이터베이스 관리시스템상으로 변환, 재구축하여 데이터의 변경을 가능하게 함은 물론 기존의 공간 데이터간의 위상관계나 공간 색인 등을 데이터베이스 관리시스템 내부에서 제공하는 기능으로 흡수 통합시켜 줌으로써 전자지도 데이터베이스의 유지, 보수를 가능하게 함은 물론 전자지도 변환에 필요한 데이터베이스 시스템 내부 클래스들을 객체관계형 데이터 모델링 방식에 따라 정의함으로써 테이블들간의 관계를 실세계에 맞도록 반영하고 공간 및 비공간 속성들을 하나의 클래스안으로 통합 관리함으로써 불필요한 항목과 테이블들을 제거함으로써 데이터베이스 볼륨과 데이터 검색 속도를 획기적으로 줄였다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명의 벡터 프로덕트 포맷 전자지도 데이터베이스를 객체 관계형 공간 데이터베이스 관리시스템에서 관리할 수 있는 파일 변환 및 데이터 변경과 관리 기능을 갖는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 일반적인 응용 예시도이다.
도 1 은 초기 구축된 벡터 프로덕트 포맷의 전자지도 파일을 객체관계형 공간 데이터베이스 관리시스템상에서 관리할 수 있는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체를 통한 전자지도 기반 지리정보시스템 응용 시스템에서 활용하는 일반적인 응용 방법을 표현한 것이다. 응용 시스템에서는 파일변환 부객체에서 변환한 전자지도 데이터베이스를 기존 공간 데이터베이스 검색과 동일한 방법으로 접근하여 검색할 수 있으며 데이터의 변경과 그에 따른 위상 관계 및 공간 색인 등의 데이터 관리 기능을 자료변경 부객체와 자료관리 부객체를 통해 수행하게 된다.
도 2 는 본 발명의 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 구성예시도이다.
도 2 는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 역할 및 기능을 표현한 것으로, 이 객체내 파일변환 부객체를 통하여 벡터 프로덕트 포맷의 전자지도 파일이 공간 데이터베이스 관리시스템상의 클래스 계층구조로 변환된다. 또한, 전자지도 기반의 지리정보시스템 응용 시스템은 데이터 변경시 자료변경 부객체를 통하여 클래스 계층 구조상의 데이터를 변경하고 그에 따른 공간 데이터의 위상 관계 및 공간 색인 등의 데이터 관리 기능을 자료관리 부객체를 통해 수행한다. 도 2 에 표현되어 있는 공간 데이터베이스 클래스 계층구조는 벡터 프로덕트 포맷의 전자지도 사양을 객체관계형 모델링 기법에 의해 재구축한 내역으로 실제 포맷에서 불필요한 사항을 제거하여 단순화시킨 내역으로 최하위 레벨의 개별도는 기존의 원시 객체와 속성 클래스를 합하여 하나의 클래스안에 통합시킨 내역을 보여주고 있다. 주제도는 기존의 주제도와 같은 의미이며, 추상도는 전자지도의 지도고 개념에 따른 분류와 최상위 데이터베이스 참고정보들을 표현해주기 위한 계층이다.
도 3 은 본 발명의 벡터 프로덕트 포맷 기반 전자지도 파일변환 부객체 구성 예시도이다.
도 3 은 벡터 프로덕트 기반 전자지도 스키마 변환기와 데이터 변환기로 구성된 전자지도 데이터베이스 파일변환 부객체 예시도이다. 전자지도 스키마 변환기가 벡터 프로덕트 포맷 전자지도 구조를 분석한 내용에 맞춰 설계된 전자지도 변환 모델링 규칙을 참조하여 공간 데이터베이스 관리시스템내에 관련 클래스 구조를 생성하고 나면 데이터 변환기에서 실제 전자지도 데이터를 공간 데이터베이스 관리시스템상의 클래스 계층구조로 변환하여 저장한다.
도 4 는 본 발명의 벡터 프로덕트 포맷 기반 전자지도 파일변환 부객체 구성 예시도이다.
도 4 는 벡터 프로덕트 포맷 기반 전자지도 데이터베이스 파일변환 부객체상의 스키마 변환기 구성 예시도로서, 전자지도 데이터베이스 파일로부터 전자지도 변환 모델링 규칙을 참조하여 벡터 프로덕트 포맷 구조 내부 디렉토리 계층구조상의 데이터베이스(Database), 지도고(Library), 주제도(Coverage), 속성클래스(Feature class) 및 원시객체(Primitive) 파일들을 공간 데이터베이스 관리시스템내 시스템 클래스로 변환하는 내역을 포함한다.
다음은 벡터 프로덕트 포맷 디렉토리 계층 구조내 파일들에 대한 상세 사양 분석 내용과 제우스 내부 시스템 클래스로 변환하기 위한 데이터 모델링 내역이다. 이해를 돕기 위하여 모델링한 시스템 내역을 간략한 설명과 함께 제우스에서 제공되는 데이터 정의어(DDL : Data Definition Language)로 작성하였다. 참고로 '' 이하 문장은 주석문으로서 시스템 내부에 어떠한 영향도 주지 않는다.
(1) 벡터 프로덕트 포맷 표현을 위한 기본 클래스 정의
(가) 3중 식별자(Triplet id)
벡터 프로덕트 포맷의 전자지도 데이터베이스는 전자지도를 영역별로 타일(Tiles)로 나누어 관리한다. 따라서, 지도상의 한 대상을 구분하기 위한 식별자는 타일 식별자와 타일내에서의 식별자로 구성된다. 또한, 내부적으로 관리하는 시스템 내부 식별자를 필요로 하기 때문에 하나의 대상을 구분하기 위한 식별자는 타일 구조를 갖는 경우 다음의 [표 1]과 같은 3중 구조를 갖게 된다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
3중식별자(Triplet_id) | 없음 | 시스템식별자(null_id) | 정수(integer) | 사용하지 않음 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
객체식별자(prim_id) | 정수(integer) | 타일내 객체 식별자 |
다음은 3중 식별자를 표현하기 위하여 제우스에서 제공되는 DDL(Data Definition Language)로 작성한 내역이다.
- 3중식별자(Triplet_id)
create class triplet_id{
null_id integer, -- 사용하지 않음
tile_id smallint, -- 타일 식별자
prim_id integer -- 타일내 객체 식별자
}
(2) 원시 객체(Primitives) 레벨
원시 객체 레벨은 벡터 프로덕트 포맷 디렉토리 계층구조상의 최하위 레벨로 점 객체, 선 객체, 면 객체 등에 대한 정보를 포함한 화일들로 구성된다.
다음으로 벡터 프로덕트 포맷을 분석한 내용과 본 발명에서 제안하는 벡터 프로덕트 포맷상에 정의된 공간 표현 방식을 객체관계형 공간 DBMS로 변환하는데 필요한 데이터 모델링 방법을 설명한다.
(가) 벡터 프로덕트 포맷 사양의 분석
- 점객체(Node primitive)
* 단일점객체(entity nodes)
단일점객체의 정보를 담고 있는 파일은 다음의 [표 2]와 같다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
개체식별자(*.PFT_ID) | 속성테이블(Feature table)상의 식별자 | 정수 |
포함면(CONTAINING_FACE) | 단일점객체를 포함하는 면 식별자 | 정수 |
제일선(FIRST_EDGE) | 유효하지 않은 항목임 | - |
좌표(COORDINATE) | 좌표 | 좌표표현형식 |
* 연결점객체(connected nodes)
연결점객체의 정보를 담고 있는 파일은 다음의 [표 3]과 같음.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
개체식별자(*.PFT_ID) | 속성테이블(Feature table)상의 식별자 | 정수 |
포함면(CONTAINING_FACE) | 유효하지 않은 항목임 | - |
제일선(FIRST_EDGE) | 연결점 객체에서 시작하는 첫번째 선객체 식별자 | 정수/3중식별자 |
좌표(COORDINATE) | 좌표 | 좌표표현형식 |
- 선객체(Edge primitive)
선객체는 위상학적 관계를 표현하기 위하여 점, 선, 면 정보를 갖게 되며 상세 내역은 다음과 같음.
* 관련 점 정보
+ 위상레벨 1 이상의 위상관계를 표현하기 위해 필요한 정보임
+ 해당 선객체의 시작점과 끝점 정보를 가짐.
* 관련 선 정보
+ 위상레벨 1 이상의 위상관계를 표현하기 위해 필요한 정보임
+ 해당 선객체의 오른쪽 선과 왼쪽 선 정보를 가짐
+ 관련 면 정보
+ 위상레벨 3 의 위상관계를 표현하기 위해 필요한 정보임
+ 해당 선객체의 오른쪽 면과 왼쪽 면 정보를 가짐
선객체의 정보를 담고 있는 파일의 내용은 다음의 [표 4]와 같다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
개체식별자(*.LFT_ID) | 속성테이블(Feature table)상의 식별자 | 정수 |
시작점(START_NODE) | 관련점 정보로 시작점 식별자 | 정수 |
끝점(END_NODE) | 관련점 정보로 끝점 식별자 | 정수 |
오른쪽면(RIGHT_FACE) | 관련면 정보로 오른쪽면 식별자 | 정수/3중식별자 |
왼쪽면(LEFT_FACE) | 관련면 정보로 오른쪽면 식별자 | 정수/3중식별자 |
오른쪽선(RIGHT_EDGE) | 관련선 정보로 끝점에서의 오른쪽선 식별자 | 정수/3중식별자 |
왼쪽선(LEFT_EDGE) | 관련선 정보로 시작점에서의 왼쪽선 식별자 | 정수/3중식별자 |
좌표(COORDINATES) | 좌표 | 좌표표현형식 |
- 면객체(Face primitive)
면객체는 하나 또는 그 이상의 고리(ring)에 의해 표현되며 상세 내역은 다음의 [표 5]와 같다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
개체식별자(*.AFT_ID) | 속성테이블(Feature table)상의 식별자 | 정수 |
고리지시자(RING_PTR) | 고리 식별자 | 정수 |
하나의 면을 구성하는 고리가 여러개인 경우 같은 면식별자를 갖는 행중에서 제일 처음에 있는 고리지시자가 가장 외곽 고리를 표현하고 그 다음부터는 내부 고리를 표현함. 다음의 [표 6]은 고리 테이블의 내역이다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
면식별자 정보(FACE_ID) | 고리가 표현하는 면식별자 | 정수 |
시작선(START_EDGE) | 고리의 시작선 식별자 | 정수 |
- 문자객체(Text primitive)
문자객체(Text primitive)는 다음의 [표 7]과 같다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
개체식별자(*.TFT_ID) | 속성테이블(Feature table)상의 식별자 | 정수 |
문자열(STRING) | 문자객체에 포함된 문자열 | 스트링 |
좌표열(SHAPE_LINE) | 문자객체를 도시하는 위치 표시열 | 좌표열 |
- 최소경계사각형(MBR : Minimum bounding rectangle)
최소경계사각형은 다음의 [표 8]과 같다.
항목명 | 설명 | 항목유형 |
식별자(ID) | 개체식별자 | 정수 |
최소X 좌표(XMIN) | 최소 X 좌표 | 실수 |
최소X 좌표(YMIN) | 최소 Y 좌표 | 실수 |
최대X 좌표(XMAX) | 최대 X 좌표 | 실수 |
최대Y 좌표(YMAX) | 최대 Y 좌표 | 실수 |
(나) 벡터 프로덕트 포맷의 객체관계형 데이터 모델링
본 발명의 핵심 사항인 벡터 프로덕트 포맷을 객체관계형 공간 데이터베이스관리시스템상에 표현하기 위한 모델링 방법을 제안하고자 한다. 이해를 돕기 위하여 각 클래스에 포함되는 내역과 이를 실제로 객체관계형 공간 데이터베이스 관리시스템상에 정의할 수 있는 언어를 명시하는 방식으로 설명한다.
- 타일화되지 않은 점객체(vpf_node(VPF node))에 대해 설명하면 다음의 [표 9]와 같다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
타일화되지 않은 점객체(vpf_node) | 점클래스(point_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성 테이블 명 | ||
속성테이블식별자(pft_id) | 정수(integer) | 속성테이블식별자 | ||
점객체포함면(containing_face) | 정수(integer) | 점객체를 포함하는면식별자 | ||
점객체제일선(first_edge) | 정수(integer) | 점객체에서 분기된 첫번째 선식별자 | ||
높이(height) | 실수(float) | 3차원 표현을 위한 높이 | ||
점좌표(location) | 점(point) | point_class로부터 상속한 위치좌표 |
create class vpf_node under point_class{
id integer, -- 시스템식별자
ft_name string, -- 속성테이블명
pft_id integer, -- 속성테이블식별자
containing_face integer, -- 점객체포함면
first_edge integer, -- 점객체제일선
height float, -- 높이
--location point -- 위치좌표(point_class로부터
상속한 위치좌표)
}
- 타일화된 점객체(vpf_tiled_node(VPF node))에 대해 설명하면 다음의 [표 10]과 같다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
타일화된 점객체(vpf_tiled_node) | 점클래스(point_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성테이블 명 | ||
속성테이블식별자(pft_id) | 정수(integer) | 속성테이블식별자 | ||
점객체포함면(containing_face) | 정수(integer) | 점객체를 포함하는면식별자 | ||
점객체제일선(first_edge) | 3중식별자(Triplet_id) | 점객체에서 분기된 첫번째 선식별자 | ||
높이(height) | 실수(float) | 3차원 표현을 위한 높이 | ||
점좌표(location) | 점(point) | point_class로부터 상속한 위치좌표 |
create class vpf_tiled_node under point_class {
id integer, -- 시스템식별자
ft_name string, -- 속성테이블명
pft_id integer, -- 속성테이블식별자
containing_face integer, -- 점객체포함면
first_edge triplet_id, -- 점객체제일선 3중 식별자
height float, -- 높이
--location point -- 위치좌표(point_class로부터
상속한 위치좌표)
}
- 타일화되지 않은 선객체(vpf_edge(VPF edge))에 대해 설명하면 다음의 [표 11]과 같다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
타일화되지 않은 선객체(vpf_edge) | 선클래스(pline_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성테이블 명 | ||
속성테이블식별자(lft_id) | 정수(integer) | 속성테이블식별자 | ||
시작점(start_node) | 정수(integer) | 선객체상의 점정보 | ||
끝점(end_node) | 정수(integer) | 선객체상의 점정보 | ||
오른쪽면(right_face) | 정수(integer) | 선객체상의 면정보 | ||
왼쪽면(left_face) | 정수(integer) | 선객체상의 면정보 | ||
오른쪽선(right_edge) | 정수(integer) | 선객체상의 선정보 | ||
왼쪽선(left_edge) | 정수(integer) | 선객체상의 선정보 | ||
선좌표(path) | 선(polyline) | pline_class로부터 상속한 위치좌표 |
create class vpf_edge under pline_class {
id integer, -- 시스템식별자
ft_name string, -- 속성테이블명
lft_id integer, -- 속성테이블식별자
start_node integer, -- 시작점
end_node integer, -- 끝점
right_face integer, -- 오른쪽면
left_face integer, -- 왼쪽면
right_edge integer, -- 오른쪽선
left_edge integer, -- 왼쪽선
--path polyline -- 선좌표(pline_class로부터
상속한 선좌표)
}
- 타일화된 선객체(vpf_tiled_edge(VPF edge))에 대해 설명하면 다음의 [표 12]와 같다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
타일화된 선객체(vpf_tiled_edge) | 선클래스(pline_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성테이블 명 | ||
속성테이블식별자(lft_id) | 정수(integer) | 속성테이블식별자 | ||
시작점(start_node) | 정수(integer) | 선객체상의 점정보 | ||
끝점(end_node) | 정수(integer) | 선객체상의 점정보 | ||
오른쪽면(right_face) | 3중식별자(Triplet_id) | 선객체상의 면정보 | ||
왼쪽면(left_face) | 3중식별자(Triplet_id) | 선객체상의 면정보 | ||
오른쪽선(right_edge) | 3중식별자(Triplet_id) | 선객체상의 선정보 | ||
왼쪽선(left_edge) | 3중식별자(Triplet_id) | 선객체상의 선정보 | ||
선좌표(path) | 선(polyline) | pline_class로부터 상속한 위치좌표 |
create class vpf_tiled_edge under pline_class {
id integer, -- 시스템식별자
ft_name string, -- 속성테이블명
lft_id integer, -- 속성테이블식별자
start_node integer, -- 시작점
end_node integer, -- 끝점
right_face triplet_id, -- 오른쪽면
left_face triplet_id, -- 왼쪽면
right_edge triplet_id, -- 오른쪽선
left_edge triplet_id, -- 왼쪽선
--path polyline -- 선좌표(pline_class로부터
상속한 선좌표)
}
- 면객체(vpf_face(VPF face))에 대해 다음의 [표 13]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
면객체(vpf_face) | 없음 | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성테이블 명 | ||
속성테이블식별자(aft_id) | 정수(integer) | 속성테이블식별자 | ||
최외곽고리식별자(outer_ring_ptr) | 정수(integer) | 최외곽고리식별자 | ||
내부고리식별자집합(inner_ring_ptr) | 정수집합(set(integer)) | 내부고리식별자집합 |
create class vpf_face {
id integer, -- 시스템식별자
ft_name string, -- 속성테이블명
aft_id integer, -- 속성테이블식별자
outer_ring_ptr integer, -- 최외곽 고리 식별자
inner_ring_ptr set (integer) -- 내부 고리 식별자 집합
}
- 고리객체(vpf_ring(VPF ring))에 대해 다음의 [표 14]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
고리객체(vpf_ring) | 없음 | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
포함면식별자(face_id) | 정수(integer) | 고리가 속하는 포함면 식별자 | ||
시작선(start_edge) | 정수(integer) | 고리의 시작선 식별자 |
create class vpf_ring {
id integer, -- 시스템식별자
face_id integer, -- 포함면식별자
start_edge integer -- 시작선
}
- 문자객체(vpf_text(VPF text))를 다음의 [표 15]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
문자객체(vpf_text) | 선클래스(pline_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
속성테이블명(ft_name) | 문자열(string) | 속성테이블 명 | ||
속성테이블식별자(tft_id) | 정수(integer) | 속성테이블식별자 | ||
문자열(text_string) | 문자열(string) | 문자열 | ||
선좌표(path) | 선(polyline) | pline_class로부터 상속한 위치좌표 |
create class vpf_text under pline_class{
id integer, -- 시스템식별자
ft_namestring, -- 속성테이블명
tft_id integer, -- 속성테이블식별자
text_string varchar(100), -- 문자열
--path polyline -- 선좌표(pline_class로부터
상속한 선좌표)
}
- 최소경계사각형(vpf_mbr(VPF mbr))에 대해 다음의 [표 16]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
문자객체(vpf_text) | 사각형클래스(rect_class) | 시스템식별자(id) | 정수(integer) | 시스템 내부 식별자 |
사각형좌표(box) | 사각형(rectangle) | rect_class로부터 상속한 위치좌표 |
create class vpf_mbr under rect_class{
id integer, -- primary key
--box rectangle -- inherited from super class
-- box(minpt(x,y),maxpt(x,y))
-- XMIN, YMIN, XMAX, YMAX
}
(3) 속성 클래스(Feature class) 레벨
속성 클래스 레벨은 벡터 프로덕트 포맷 디렉토리 계층구조상의 최하위 레벨로 점 객체, 선 객체, 면 객체 등에 대한 정보를 포함한 화일들로 구성된다. 다음부터는 벡터 프로덕트 포맷을 분석한 내용과 본 발명에서 제안하는 벡터 프로덕트 포맷상에 정의된 공간 표현 방식을 객체관계형 공간 DBMS로 변환하는데 필요한 데이터 모델링 방법을 설명한다.
(가) 벡터 프로덕트 포맷 사양의 분석
- 속성 테이블(Feature table)은 다음의 [표 17]과 같다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
속성테이블(vpf_..._feature) | 점, 선, 면, 문자 객체 클래스 중 선택(vpf_node, vpf_tiled_node, vpf_edge, vpf_tiled_edge, vpf_face, vpf_text) | 면속성식별자(feature_id) | 정수(integer) | 속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
원시객체명(prim_name) | 문자열(string) | 원시객체명 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. | ||
선방향(from_to) | 정수(integer) | 선방향 |
- 공간 데이터의 속성 분류
면속성 : 하나 또는 그 이상의 면 원시객체로 표현됨
선속성 : 하나 또는 그 이상의 선 원시객체로 표현됨
점속성 : 점 원시객체
문자속성 : 문자 원시객체
복합속성 : 면, 선, 점, 문자 속성들의 조합으로 표현됨.
- 속성 매개(조인) 테이블(Feature join table)
* 이 테이블은 기존 벡터 프로덕트 포맷에서 속성 테이블들간의 관계를 표현하기 위하여 정의되었던 매개 테이블로 본 발명에서는 본 테이블의 단순 변환하되 실제 데이터베이스 검색시에는 이를 통하지 않고 직접 데이터베이스 관리시스템에서 제공되는 조인기능을 사용한다. 본 테이블의 역할은 다음과 같다.
+ 속성 테이블과 원시객체 테이블간의 연관관계를 표현함.
+ 속성 테이블간의 연관관계를 표현함.
+ 속성 테이블과 기타 다른 순수 속성 테이블간의 연관관계를 표현함.
(나) 벡터 프로덕트 포맷의 객체관계형 데이터 모델링
- 면속성 테이블
* 타일화되지 않은 면속성 테이블을 다음의 [표 18]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
면속성테이블(vpf_fac_feature_...) | 면 원시객체 클래스 (vpf_face) | 면속성식별자(feature_id) | 정수(integer) | 면속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
원시객체명(prim_name) | 문자열(string) | 면 원시객체명 | ||
면식별자(fac_id) | 정수(integer) | 면 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_fac_feature under vpf_face
feature_id integer, -- 면속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 면 원시객체명
fac_id integer, -- 면 원시객체식별자
-- 기타 속성들 ...
}
* 타일화된 면속성 테이블은 다음의 [표 19]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
면속성테이블(vpf_fac_feature_...) | 면 원시객체 클래스 (vpf_face) | 면속성식별자(feature_id) | 정수(integer) | 면속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
면원시객체명(prim_name) | 문자열(string) | 면 원시객체명 | ||
면원시객체식별자(fac_id) | 3중식별자(triplet_id) | 면 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_tiled_fac_feature under vpf_feature {
feature_id integer, -- 면속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 면 원시객체명
fac_id triplet_id, -- 면 원시객체식별자
-- 기타 속성들 ...
}
- 선속성 테이블
* 타일화되지 않은 선속성 테이블은 다음의 [표 20]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
선속성테이블(vpf_edg_feature_...) | 선 원시객체 클래스 (vpf_edge) | 선속성식별자(feature_id) | 정수(integer) | 선속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
선원시객체명(prim_name) | 문자열(string) | 선 원시객체명 | ||
선원시객체식별자(edg_id) | 정수(integer) | 선 원시객체식별자 | ||
선방향(from_to) | 정수(integer) | 선방향 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_edg_feature under vpf_edge {
feature_id integer, -- 선속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 선 원시객체명
edg_id integer, -- 선 원시객체식별자
from_to integer, -- 선방향 지시자
-- 기타 속성들 ...
}
* 타일화된 선속성 테이블은 다음의 [표 21]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
선속성테이블(vpf_tiled_edg_feature_...) | 선 원시객체 클래스 (vpf_tiled_edge) | 선속성식별자(feature_id) | 정수(integer) | 선속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
선원시객체명(prim_name) | 문자열(string) | 선 원시객체명 | ||
선원시객체식별자(edg_id) | 3중식별자(triplet_id) | 선 원시객체식별자 | ||
선방향(from_to) | 정수(integer) | 선방향 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_tiled_edg_feature under vpf_tiled_edge {
feature_id integer, -- 선속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 선 원시객체명
edg_id triplet_id, -- 선 원시객체식별자
from_to integer, -- 선방향 지시자
-- 기타 속성들 ...
}
- 점속성 테이블
* 타일화되지 않은 단일점속성 테이블을 다음의 [표 22]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
단일점속성테이블(vpf_end_feature_...) | 점 원시객체 클래스 (vpf_node) | 점속성식별자(feature_id) | 정수(integer) | 점속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
점원시객체명(prim_name) | 문자열(string) | 점 원시객체명 | ||
점원시객체식별자(end_id) | 정수(integer) | 점 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_end_feature under vpf_node {
feature_id integer, -- 점속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 점 원시객체명
end_id integer, -- 점 원시객체식별자
-- 기타 속성들 ...
}
* 타일화된 단일점속성 테이블을 다음의 [표 23]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
단일점속성테이블(vpf_tiled_end_feature_...) | 점 원시객체 클래스 (vpf_tiled_node) | 점속성식별자(feature_id) | 정수(integer) | 점속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
점원시객체명(prim_name) | 문자열(string) | 점 원시객체명 | ||
점원시객체식별자(end_id) | 3중식별자(triplet_id) | 점 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_tiled_end_feature under vpf_tiled_node {
feature_id integer, -- 점속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 점 원시객체명
end_id triplet_id, -- 점 원시객체식별자
-- 기타 속성들 ...
}
* 타일화되지 않은 연결점속성 테이블을 다음의 [표 24]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
연결점속성테이블(vpf_cnd_feature_...) | 점 원시객체 클래스 (vpf_node) | 점속성식별자(feature_id) | 정수(integer) | 점속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
점원시객체명(prim_name) | 문자열(string) | 점 원시객체명 | ||
점원시객체식별자(cnd_id) | 정수(integer) | 점 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_cnd_feature under vpf_node {
feature_id integer, -- 점속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 점 원시객체명
cnd_id
integer, -- 점 원시객체식별자
-- 기타 속성들 ...
}
* 타일화된 연결점속성 테이블을 다음의 [표 25]를 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
연결점속성테이블(vpf_tiled_cnd_feature_...) | 점 원시객체 클래스 (vpf_tiled_node) | 점속성식별자(feature_id) | 정수(integer) | 점속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
점원시객체명(prim_name) | 문자열(string) | 점 원시객체명 | ||
점원시객체식별자(cnd_id) | 3중식별자(triplet_id) | 점 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_tiled_cnd_feature under vpf_tiled_node {
feature_id integer, -- 점속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 점 원시객체명
cnd_id triplet_id, -- 점 원시객체식별자
-- 기타 속성들 ...
}
- 문자속성 테이블
* 타일화되지 않은 문자속성 테이블을 다음의 [표 26]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
문자속성테이블(vpf_text_feature_...) | 문자 원시객체 클래스 (vpf_text) | 문자속성식별자(feature_id) | 정수(integer) | 문자속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
문자원시객체명(prim_name) | 문자열(string) | 문자 원시객체명 | ||
문자원시객체식별자(txt_id) | 정수(integer) | 문자 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_text_feature under vpf_text {
feature_id integer, -- 문자속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 문자 원시객체명
txt_id integer, -- 문자 원시객체식별자
-- 기타 속성들 ...
}
* 타일화된 문자속성 테이블을 다음의 [표 27]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
문자속성테이블(vpf_tiled_text_feature_...) | 문자 원시객체 클래스 (vpf_text) | 문자속성식별자(feature_id) | 정수(integer) | 문자속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
문자원시객체명(prim_name) | 문자열(string) | 문자 원시객체명 | ||
문자원시객체식별자(txt_id) | 3중식별자(triplet_id) | 문자 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_text_feature under vpf_text {
feature_id integer, -- 문자속성식별자
tile_id integer, -- 타일 식별자
prim_name string, -- 문자 원시객체명
txt_id triplet_id, -- 문자 원시객체식별자
-- 기타 속성들 ...
}
- 복합속성 테이블을 다음의 [표 28]을 통해 설명한다.
구분 | 상속대상 | 항목명 | 항목유형 | 설명 |
복합속성테이블(vpf_complex_feature_...) | 점, 선, 면, 문자 원시객체 클래스 (vpf_...) | 속성식별자(feature_id) | 정수(integer) | 속성식별자 |
타일식별자(tile_id) | 정수(integer) | 타일 식별자 | ||
원시객체명(prim_name) | 문자열(string) | 원시객체명 | ||
원시객체식별자(..._id) | 정수(integer)/3중식별자(triplet_id) | 원시객체식별자 | ||
속성... | 기존 속성과 같은 유형 | 기존 테이블상의 속성항목을 모두 포함시킴. |
create class vpf_complex_feature under vpf_... {
feature_id integer, -- 속성식별자
tile_id smallint -- 타일 식별자
prim_name string, -- 원시객체명
..._id integer/triplet_id, -- 원시객체식별자
-- 기타 속성들 ...
}
(4) 주제도(Coverage) 레벨
주제도 레벨은 같은 주제의 범주에 속하는 하나 또는 그 이상의 속성 클래스들로 구성됨. 주제도간의 관계는 이 레벨의 상위 레벨인 지도고(library) 레벨 상의 주제도 속성 테이블상에 표시되어 있음.
(가) 벡터 프로덕트 포맷 사양의 분석
- 속성 클래스 스키마 테이블(Feature class schema table)
* 주제도상에 포함된 속성 클래스를 정의함
* 주제도상의 각각의 테이블들간의 관계를 명시함.
표를 통해 나타내면 다음의 [표 29]와 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
속성클래스명(FEATURE_CLASS) | 속성클래스명 | 문자열(string) |
테이블1명(TABLE1) | 테이블1명 | 문자열(string) |
테이블1키(TABLE1_KEY) | 테이블1키 매개 항목명 | 문자열(string) |
테이블2명(TABLE2) | 테이블2명 | 문자열(string) |
테이블2키(TABLE2_KEY) | 테이블2키 매개 항목명 | 문자열(string) |
대표값 설명 테이블(Value description table)
한 주제도상의 속성테이블에서 사용되는 대표값들에 대한 설명 테이블임.
주제도상에서 암호화 기법을 적용할 때 필요함.
종류
정수 대표값 설명 테이블
문자 대표값 설명 테이블
표를 통해 나타내면 다음의 [표 30]과 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
속성테이블명(FEATURE_TABLE) | 속성테이블명 | 문자열(string) |
속성항목명(FEATURE_ATTRIBUTE) | 속성항목명 | 문자열(string) |
속성값(FEATURE_VALUE) | 속성값 | 문자열(string) |
속성유형(FEATURE_TYPE) | 속성유형 | 문자열(string) |
속성설명(DESCRIPTION) | 속성설명 | 문자열(string) |
(5) 지도고(Library) 레벨
특정한 지역에 포함되는 주제도들의 집합으로 구성되며, 지도고 레벨에서는 고유의 공간 영역을 관리한다. 이를 위하여 최소경계사각형을 사용한다. 지도고 레벨상에 포함되는 필수 테이블은 지도고 헤더 테이블(Library header table), 지리 참조 테이블(Geographic reference table), 주제도 참조 테이블(Coverage reference table) 등이 있다.
(가) 벡터 프로덕트 포맷 사양의 분석
지도고 헤더 테이블(Library header table) : 지도고상에 포함되는 사항을 정의한다.
지도고를 식별하는데 필요한 정보, 포함된 내용에 대한 정보, 보안문제 및 기타 지도 데이터 파일을 포함한다
이를 표로 나타내면 다음의 [표 31]과 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
제품유형(PRODUCT_TYPE ) | 제품유형 | 문자열(string) |
지도고명(LIBRARY_NAME) | 지도고명 | 문자열(string) |
지도고설명(DESCRIPTION) | 지도고설명 | 문자열(string) |
지도고 위상레벨(DATA_STRUCT_CODE) | 지도고 수용 최대 위상 레벨 | 문자(char) |
5 = 레벨 0 위상관계 수용 | ||
6 = 레벨 1 위상관계 수용 | ||
7 = 레벨 2 위상관계 수용 | ||
8 = 레벨 3 위상관계 수용 | ||
축척 | 지도고상의 전자지도의 축척 | 정수(integer) |
전자지도시리즈 번호(SOURCE_SERIES ) | 전자지도시리즈 번호 | 문자열(string) |
전자지도 식별자(SOURCE_ID) | 전자지도 식별자 | 문자열(string) |
전자지도판번호(SOURCE_EDITION) | 전자지도판번호 | 문자열(string) |
전자지도명(SOURCE_NAME) | 전자지도명 | 문자열(string) |
전자지도구축년월일(SOURCE_DATE) | 전자지도 구축 년월일 | 날짜(date) |
보안레벨(SECURITY_CLASS) | 보안레벨 | 문자(char) |
T = 극비(TOP SECRET) | ||
S = 비밀(SECRET) | ||
C = 내부에 한함(CONFIDENTIAL) | ||
R = 제한적(RESTRICTED (or alternatively | ||
"FOR OFFICIAL USE ONLY" | ||
administrative classification | ||
only) | ||
U = 미분류(UNCLASSIFIED) | ||
하향화가능여부(DOWNGRADING) | 필요시 하향화 가능 여부 | 문자열(string) |
하향화년월일(DOWNGRADING_DATE) | 하향화 년월일 | 날짜(date) |
발표시 제한사항(RELEASABILITY) | 발표시 제한사항 | 문자열(string) |
지리 참조 테이블(Geographic reference table) : 지도고상의 지리적인 위치에 관련된 정보
지도고의 지리적인 요소들을 결정하는데 필요한 상수들은 다음과 같은 4개의 범주로 나뉨.
- 지리적인 위치 상수(geographic parameters)
- 투영법(projections)
- 등록점 테이블 명칭(registration points table name)
- 보정용 지점 테이블 명칭(diagnostic points table name)
표를 통해 설명하면 다음의 [표 32]와 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
데이터유형(DATA_TYPE) | 데이터 유형 | 문자열(string) |
측정단위(UNITS) | 측정단위 | 문자열(string) |
타원체명(ELLIPSOID_NAME) | 지도고상의 전자지도 타원체명 | 문자열(string) |
타원체상세코드(ELLIPSOID_DETAIL) | 적용된 타원체의 상세 코드 | 문자열(string) |
직각참조명(VERT_DATUM_NAME ) | 직각참조명 | 문자열(string) |
직각참조코드(VERT_DATUM_CODE ) | 직각참조코드 | 문자열(string) |
측량데이터명(SOUND_DATUM_NAME) | 측량데이터명 | 문자열(string) |
측량데이터코드(SOUND_DATUM_CODE) | 측량데이터코드 | 문자열(string) |
측지데이터명(GEO_DATUM_NAME) | 측지데이터명 | 문자열(string) |
측지데이터코드(GEO_DATUM_CODE) | 측지데이터코드 | 문자열(string) |
투영명(PROJECTION_NAME) | 투영명 | 문자열(string) |
투영코드(PROJECTION_CODE) | 투영코드 | 문자열(string) |
투영인자1(PARAMETER1) | 투영인자1 | 실수(float) |
투영인자2(PARAMETER1) | 투영인자2 | 실수(float) |
투영인자3(PARAMETER1) | 투영인자3 | 실수(float) |
투영인자4(PARAMETER1) | 투영인자4 | 실수(float) |
횡축보정(FALSE_ORIGIN_X) | 횡축보정 | 실수(float) |
종축보정(FALSE_ORIGIN_Y) | 종축보정 | 실수(float) |
고도보정(FALSE_ORIGIN_Z ) | 고도보정 | 실수(float) |
등록점 테이블 명(REG_PT_TABLE) | 등록점 테이블 명 | 문자열(string) |
보정용 지점 테이블 명(DIAG_PT_TABLE) | 보정용 지점 테이블 명 | 문자열(string) |
주제도 참조 테이블(Coverage attribute table) : 지도고상에 포함된 주제도들에 대한 설명내역을 포함함.
표를 통해 설명하면 다음의 [표 33]과 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
주제도명(COVERAGE_NAME) | 주제도명 | 문자열(string) |
설명글(DESCRIPTION) | 설명글 | 문자열(string) |
위상레벨(LEVEL) | 위상레벨 | 정수(integer) |
기타 추가 테이블들
타일 참조 주제도(Tile reference coverage)
전자지도가 타일화되어 있는 경우, 타일 참조 주제도(TILEREF)가 필요함. 이 테이블은 면속성 테이블과 유사한 형태임.
타일 참조 주제도 테이블은 여러 면들의 집합임.
이 테이블에 포함된 면들이 다시 타일화가 될 수도 있고 그렇지 않을 수가 있음. 따라서 이 테이블 상의 면원시객체식별자는 정수 또는 3중 식별자로 정의할 수 있음.
타일 참조 면 속성 테이블의 정의
이에 대해 표를 통해 설명하면 다음의 [표 34]와 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
타일명(TILE_NAME) | 타일명 | 문자열(string) |
면원시객체식별자(FAC_ID) | 면원시객체식별자 | 정수(integer)/3중식별자(triplet_id) |
등록점 테이블(Registration point table)을 다음의 [표 35]를 통해 설명한다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
등록점식별자(REG_PT_ID) | 등록점식별자 | 정수(integer) |
등록점경도(REG_LONG) | 등록점경도 | 실수(float) |
등록점위도(REG_LAT ) | 등록점위도 | 실수(float) |
등록점고도(REG_Z ) | 등록점고도 | 실수(float) |
X좌표(REG_table_X) | X좌표 | 실수(double) |
Y좌표(REG_table_Y) | Y 좌표 | 실수(double) |
Z좌표(REG_table_Z) | Z 좌표 | 실수(double) |
보정용 지점 테이블(Diagnostic point table)을 표로 나타내면 다음의 [표 36]과 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
보정용지점식별자(DIAG_PT _ID) | 보정용 지점 식별자 | 정수(integer) |
보정용지점경도(DIAG_LONG) | 보정용 지점 경도 | 실수(float) |
보정용지점위도(DIAG_LAT) | 보정용 지점 위도 | 실수(float) |
보정용지점고도(DIAG_Z) | 보정용 지점 고도 | 실수(float) |
X좌표(DIAG_table_X) | X좌표 | 실수(double) |
Y좌표(DIAG_table_Y) | Y 좌표 | 실수(double) |
Z좌표(DIAG_table_Z) | Z 좌표 | 실수(double) |
(6) 데이터베이스(Database) 레벨
데이터베이스 레벨에 포함되는 필수 테이블은 지도고 속성 테이블과 데이터베이스 헤더 테이블임.
(가) 벡터 프로덕트 포맷 사양의 분석
- 지도고 속성 테이블(Library attribute table)
데이터베이스에 포함되는 각각의 지도고들의 식별명과 범위(최소경계사각형)등에 대한 정보를 포함함.
표를 통해 설명하면 다음의 [표 37]과 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
지도고명(LIBRARY_NAME) | 지도고명 | 문자열(string) |
최소X(XMIN) | 극서 경도값 | 실수(float) |
최소Y(YMIN) | 극남 위도값 | 실수(float) |
최대X(XMAX) | 극동 경도값 | 실수(float) |
최대Y(YMAX) | 극북 위도값 | 실수(float) |
데이터베이스 헤더 테이블(Database header table)
데이터베이스 내용을 정의하는데 필요한 정보 또는 보안 정보등을 포함함.
이를 표로 나타내면 다음의 [표 38]와 같다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
전자지도버전(VPF_VERSION) | VPF 전자지도버전 | 문자열(string) |
데이터베이스명(DATABASE_NAME) | 데이터베이스의 디렉토리명 | 문자열(string) |
데이터베이스설명(DATABASE_DESC) | 데이터베이스 설명 | 문자열(string) |
데이터베이스기록매체(MEDIA_STANDARD) | 데이터베이스 기록매체 | 문자열(string) |
제작처제목주소(ORIGINATOR) | 제목 및 제작처 주소 | 문자열(string) |
수신처제목주소(ADDRESSEE) | 제목 및 수신처 주소 | 문자열(string) |
기록매체볼륨번호(MEDIA_VOLUMES) | 기록매체 볼륨번호 | 문자열(string) |
기록매체일련번호(SEQ_NUMBERS) | 기록매체 일련번호 | 문자열(string) |
지도고갯수(NUM_DATA_SETS) | 데이터베이스에 포함된 지도고 갯수 | 문자열(string) |
보안등급(SECURITY_CLASS) | 보안등급 | 문자(char) |
T = 극비(TOP SECRET) | ||
S = 비밀(SECRET) | ||
C = 내부에 한함(CONFIDENTIAL) | ||
R = 제한적(RESTRICTED (oralternatively | ||
"FOR OFFICIAL USE ONLY") | ||
U = 미분류(UNCLASSIFIED) | ||
하향화가능여부(DOWNGRADING) | 필요시 하향화 가능 여부 | 문자열(string) |
하향화년월일(DOWNGRADING_DATE) | 하향화 년월일 | 날짜(date) |
발표시 제한사항(RELEASABILITY) | 발표시 제한사항 | 문자열(string) |
기타기준사항(OTHER_STD_NAME) | 기타 기준 설정 사항 | 문자열(string) |
기타기준설정년월일(OTHER_STD_DATE) | 기타 기준 설정 년월일 | 날짜(date) |
기타기준개정번호(OTHER_STD_VER) | 기타 기준 개정 번호 | 문자열(string) |
데이터베이스유일식별자(TRANSMITTAL_ID) | 데이터베이스유일식별자 | 문자열(string) |
데이터베이스제작판번호(EDITION_NUMBER) | 데이터베이스 제작판 번호 | 문자열(string) |
데이터베이스제작년월일(EDITION_DATE) | 데이터베이스 제작 년월일 | 날짜(date) |
(7) 데이터 품질(Data quality)
데이터 품질 테이블은 데이터베이스 레벨, 지도고 레벨, 주제도 레벨의 계층 모두에 포함될 수 있음. 그중에서 지도고 레벨에는 필수적으로 포함되어야만 함. 이 테이블에는 데이터의 품질과 관련된 데이터 완전성, 데이터 일관성, 데이터 상태, 속성 정확도, 위치 정확도 및 기타 품질과 관련된 정보를 저장하게 됨. 또한 지리정보가 유추된 원천 자료나 계보와 같은 정보도 포함됨.
(가) 벡터 프로덕트 포맷 사양의 분석
- 데이터 품질 테이블(Data quality table)
이를 다음의 [표 39]를 통해 설명한다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
전자지도디렉토리레벨(VPF_LEVEL) | 데이터베이스 레벨:DATABASE지도고 레벨:LIBRARY주제도 레벨:COVERAGE | 문자열(string) |
전자지도디렉토리명(VPF_LEVEL_NAME) | 전자지도 디렉토리명 | 문자열(string) |
속성클래스완전도(FEATURE_COMPLETE) | 속성클래스완전도(%로 표시) | 문자열(string) |
단순속성완전도(ATTRIB_COMPLETE) | 단순속성완전도(%로 표시) | 문자열(string) |
논리적일관도(LOGICAL_CONSIST ) | 논리적 일관도 | 문자열(string) |
제작번호(EDITION_NUM) | 제작번호 | 문자열(string) |
생성년원일(CREATION_DATE) | 생성년원일 | 날짜(date) |
수정년월일(REVISION_DATE) | 수정년월일 | 날짜(date) |
제품명세명(SPEC_NAME) | 제품명세명 | 문자열(string) |
제품명세년월일(SPEC_DATE) | 제품명세 년월일 | 날짜(date) |
최초원본년월일(EARLIEST_SOURCE) | 최초 원본 제작 년월일 | 날짜(date) |
최근원본년월일(LATEST_SOURCE) | 최근 원본 제작년월일 | 날짜(date) |
속성정량적정확도(QUANT_ATT_ACC) | 속성의 정량적 정확도 | 문자열(string) |
속성정성적정확도(QUAL_ATT_ACC) | 속성의 정성적 정확도 | 문자열(string) |
집합명세명(COLLECTION_SPEC) | 집합명세명 | 문자열(string) |
원본파일명(SOURCE_FILE_NAME) | 원본파일명 | 문자열(string) |
절대수평정확도(ABS_HORIZ_ACC) | 절대수평정확도 | 문자열(string) |
절대수평정확도측정단위(ABS_HORIZ_UNITS) | 절대수평정확도측정단위 | 문자열(string) |
절대수직정확도(ABS_VERT_ACC) | 절대수직정확도 | 문자열(string) |
절대수직정확도측정단위(ABS_VERT_UNITS) | 절대수직정확도측정단위 | 문자열(string) |
상대수평정확도(REL_HORIZ_ACC) | 상대수평정확도 | 문자열(string) |
상대수평정확도측정단위(REL_HORIZ_UNITS) | 상대수평정확도측정단위 | 문자열(string) |
상대수직정확도 (REL_VERT_ACC) | 상대수직정확도 | 문자열(string) |
상대수직정확도측정단위(REL_VERT_UNITS) | 상대수직정확도측정단위 | 문자열(string) |
주석문(COMMENTS) | 주석문 | 문자열(string) |
설명 테이블(Narrative table)
설명테이블에는 설명글이 포함됨.
(가) 벡터 프로덕트 포맷 사양의 분석
설명 테이블(Narrative table)을 다음의 [표 40]을 통해 설명한다.
항목명 | 설명 | 항목유형 |
객체식별자(ID) | 행 식별자 | 정수(integer) |
설명(TEXT) | 설명글 | 문자열(string) |
이상은 벡터프로덕트 포맷으로 구축된 전자지도 디렉토리 계층 구조상의 파일들에 대한 분석내역과 이들 파일들을 객체관계형 공간 데이터베이스 관리시스템상에 객체관계형 데이터 모델링 방식으로 모델링한 내역임.
도 5 는 본 발명의 벡터 프로덕트 포맷 기반 전자지도 자료관리 부객체의 구성예시도이다.
도 5 는 벡터 프로덕트 포맷 기반 전자지도 데이터베이스 파일변환 부객체상의 데이터 변환기 구성 예시도로서, 전자지도 데이터베이스 파일로부터 전자지도 변환 모델링 규칙을 참조하여 벡터 프로덕트 포맷 구조 내부 디렉토리 계층구조상의 데이터베이스(Database), 지도고(Library), 주제도(Coverage), 속성클래스(Feature class) 및 원시객체(Primitive) 파일상의 실제 데이터들을 공간 데이터베이스 관리시스템내 시스템 클래스 내부 데이터로 변환하는 내역을 포함한다.
도 6 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 일실시예 흐름도이다.
도 6 은 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체의 일실시예 흐름도로서, 본 객체를 구동한 후에(601), 이 객체에 대한 이벤트를 확인한다(602). 먼저 파일 변환 요청일 경우 파일변환 부객체를 구동하여(603), 공간 데이터베이스 클래스 계층구조를 생성하고(604), 자료 변경 요청일 경우 자료 변경 부객체를 생성하여(605), 공간 데이터베이스 클래스 계층구조를 변경한다(606).
두 경우 작업을 종료한 후, 위상 관계 및 공간 색인 구조를 관리하는 자료 관리 부객체를 생성시켜(607), 모두 공간 데이터베이스 클래스 계층구조상의 관련 클래스 내역을 변경시켜 주게 된다(608).
이벤트를 확인한 결과, 종료 요청이면 객체를 종료한다.
도 7 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 파일변환 부객체의 일실시예 흐름도이다.
도 7 은 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 파일변환 부객체의 일실시예 흐름도로서, 요청된 벡터 프로덕트 포맷 기반 전자지도 데이터베이스의 디렉토리 계층구조를 분석한 후 벡터 프로덕트 포맷 기반 전자지도 스키마 변환기를 구동하여(701), 공간 데이터베이스 클래스 계층구조상의 기본 클래스를 생성하고 실제 벡터 프로덕트 포맷 기반 전자지도 파일사의 데이터 내역을 공간 데이터베이스 클래스 계층구조상의 해당 클래스에 데이터 객체들로 변환함.
스키마 변환기는 파일 변환 전자지도 데이터베이스 파일을 디렉토리 레벨별로 추적하며 각 레벨에 포함되어 있는 벡터 프로덕트 포맷 파일을 분석하여(702), 기본 클래스로부터 파생된 관련 클래스를 생성함(703). 디렉토리 추적은 원시객체 레벨, 속성클래스 레벨, 주제도 레벨, 지도고 레벨, 데이터베이스 레벨로 하위레벨부터 상위레벨로 옮겨가면서 스키마 변환 작업을 수행하고, 데이터변환기를 구동한다(704).
데이터 변환기는 전자지도 데이터베이스 파일을 디렉토리 레벨별로 추적하며 각 레벨에 포함되어 있는 벡터 프로덕트 포맷 파일상의 데이터들을 변환하여 공간 데이터베이스 관리시스템상의 해당 클래스의 데이터 객체로 로딩한다. 디렉토리 추적 방식은 데이터 변환기와 동일하다.
데이터 변환 작업을 마치면 자료관리 부객체를 호출하여 공간 데이터의 위상관계 및 공간 색인 관련 클래스 구조를 관리하는 클래스에 반영한다(705).
도 8 은 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료변경 부객체의 일실시예 흐름도이다.
도 8 은 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료변경 부객체의 일실시예 흐름도로서, 자료변경 요청 이벤트가 발생하면 변경 요청된 데이터의 공간 데이터베이스 클래스 계층 구조상의 관련 레벨들을 분석하는 레벨 분석기를 구동하여(801) 관련되는 클래스들을 산출한다(802). 자료 변경기를 구동하여(803), 레벨 분석기에 의하여 분석된 결과는 곧바로 자료 변경기로 전달되며, 자료 변경기는 관련된 클래스를 변경한다(804).
데이터 변경 작업을 마치면 변경내역과 함께 자료관리 부객체를 호출하여 공간 데이터의 위상관계 및 공간 색인 관련 클래스 구조를 관리하는 클래스에 반영한다.
도 9 는 본 발명에 따른 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료관리 부객체의 일실시예 흐름도이다.
도 9 는 벡터 프로덕트 포맷 처리용 데이터베이스 시스템 객체상의 자료관리 부객체의 일실시예 흐름도로서, 이 객체는 파일변환 부객체 또는 자료변경 부객체에 의해 구동된다.
자료관리 부객체는 크게 위상관리기와 색인관리기로 나뉘어지는데, 위상 관리기를 구동하여(902), 초기생성인지를 확인하고(902), 초기생성이면 공간 데이터베이스 클래스 계층구조 전체에 대한 위상을 생성하며(903), 변경내역과 관련된 클래스에 대한 위상을 생성함으로써(904), 전자지도에서 명시된 위상레벨에 맞는 전자지도 위상 정보를 산출하여 위상 클래스에 저장하게 되는 것이다.
그리고, 색인관리기가 구동되어(905), 색인관리기에 의해 공간 데이터베이스 관리시스템 내부에서 제공하는 공간색인 기능을 사용하여 초기생성인지를 확인하고(906), 해당 클래스에 공간색인을 생성해 준다(907). 초기 구축시에는 색인관리기를 작동시켜서 공간색인을 생성시켜 주어야 하나, 그 이후로는 데이터 변경시에 자동으로 공간색인 정보가 반영된다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 벡터 프로덕트 포맷의 디렉토리 계층구조상의 전자지도 데이터베이스 파일을 객체관계형 공간 데이터베이스 관리시스템 상에서 관리하는 방법을 고안한 것으로 디렉토리 계층구조상에서 파일 단위로 관리하는 방식을 따르는 벡터 프로덕트 포맷 사양의 전자지도를 공간 데이터베이스 관리시스템에서 최적의 효율적인 방법으로 관리할 수 있도록 지원함으로써 체계적이고 효율적인 전자지도 데이터베이스 관리 기법을 적용할 수 있는데, 이는 객체관계형 공간 데이터베이스 관리시스템인 제우스상에서 벡터 프로덕트 포맷의 전자지도 유지, 관리 방법을 적용함으로써 벡터 프로덕트 포맷의 전자지도 데이터 파일을 관리하기 위하여 요구되는 데이터 파일 변환, 데이터 변경 지원, 위상 및 공간 색인의 유지, 관리 등과 같은 제반 과정을 벡터 프로덕트 포맷 처리용 데이터베이스 내부 객체로 형상화하여 공간 데이터베이스 관리 시스템과 밀결합시켰을 뿐만 아니라, 관계형 구조를 기반으로 하는 벡터 프로덕트 포맷에서는 공간 및 비공간 데이터를 분리하여 별개의 테이블에 저장하고 있었기 때문에 이를 하나의 클래스안에 통합함으로써 불필요한 매개 테이블을 별도로 관리할 필요가 없게 되고, 상대방 식별자를 가지고있을 필요가 없게 되어 전체 데이터베이스 볼륨을 획기적으로 줄일 수 있고 운용하기도 용이해지는 효과가 있다.
또한, 본 발명은, 현재까지 벡터 프로덕트 포맷의 전자지도 파일을 관리하던 방식인 한번 구축한 후 디렉토리 계층구조상의 여러 테이블들간의 상호 관계를 표시하기 위하여 각 테이블들내의 레코드 행들마다 인위적인 순차번호를 부여하기 때문에 한 요소가 삽입되거나 삭제되면 순차번호 체계 전체에 영향을 미쳐 관련된 모든 파일들을 일일이 고쳐 주어야 하는데, 이러한 번거로움을 줄이기 위하여 객체관계형 공간 데이터베이스 관리시스템상에서 변경, 유지할 수 있도록 개선함으로써 데이터의 지속적인 유지보수가 가능해지는 효과가 있다.
또한, 본 발명은, 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간 데이터베이스 관리시스템상에서 변환, 변경 및 유지, 관리하는 방법을 발명함으로써 이 유형의 전자지도 데이터베이스를 활용하는 응용 시스템 개발시 개발자 및 운용관리자에게 데이터의 유지,보수를 원활히 할 수 있도록 지원할 수 있으며, 이는 기존의 벡터 프로덕트 포맷 응용 시스템들이 방대하고 고정적인 파일 구조로 인하여 주로 데이터의 검색만을 다루고 향후 지속적인 데이터의 변경 및 유지, 관리를 지원할 수 없었던 문제를 극복할 있기 때문에 응용 시스템 개발자들에게 전자지도의 검색 뿐만 아니라 다양하고 신속한 개발 방법을 제공하여 결과적으로 벡터 프로덕트 포맷 구조 기반의 전자지도의 활용도를 높일 수 있는 효과가 있다.
또한, 본 발명은, 벡터 프로덕트 포맷을 갖는 전자지도의 지속적인 변경관리가 가능하게 됨에 따라 데이터의 재구축, 즉 위상관계나 공간색인 구축에 소요되는비용과 시간을 줄일 수 있으며, 또한 공간 데이터베이스관리시스템에서 제공하는 안정적이고 체계적인 데이터베이스 관리 기법을 전자지도 데이터베이스에 접목할 수 있게 됨에 따라 운용 관리가 용이한 효과가 있다.
Claims (2)
- 객체관계형 공간 데이터베이스 관리시스템에 적용되는 벡터 프로덕트 포맷 전자지도 파일을 관리하는 방법에 있어서,벡터 프로덕트 포맷 처리를 위한 데이터베이스 시스템 객체를 생성하는 제 1 단계;상기 데이터베이스 시스템 객체에 의해 파일 변환 부객체가 구동되어 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터를 공간 데이터베이스 관리시스템의 데이터로 변환하는데 필요한 벡터 프로덕트 포맷 기반 전자지도의 객체관계형 데이터 모델링 및 데이터 파일 변환을 수행하는 제 2 단계;상기 데이터베이스 시스템 객체에 의해 자료변경 부객체가 구동되어 공간 데이터의 삽입 및 삭제와 같은 데이터 변경을 처리하는 제 3 단계; 및상기 파일 변환 부객체나 상기 자료변경 부객체에 의해 자료관리 부객체가 구동되어 공간 데이터간의 위상 관계 및 공간 색인을 유지 관리하는 제 4 단계를 포함하는 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간 데이터베이스 관리시스템상에서 관리하는 방법.
- 대용량 프로세서를 구비한 객체관계형 공간 데이터베이스 관리시스템에,벡터 프로덕트 포맷 처리를 위한 데이터베이스 시스템 객체를 생성하는 제 1기능;상기 데이터베이스 시스템 객체에 의해 파일 변환 부객체가 구동되어 벡터 프로덕트 포맷 사양을 따르는 전자지도 데이터를 공간 데이터베이스 관리시스템의 데이터로 변환하는데 필요한 벡터 프로덕트 포맷 기반 전자지도의 객체관계형 데이터 모델링 및 데이터 파일 변환을 수행하는 제 2 기능;상기 데이터베이스 시스템 객체에 의해 자료변경 부객체가 구동되어 공간 데이터의 삽입 및 삭제와 같은 데이터 변경을 처리하는 제 3 기능; 및상기 파일 변환 부객체나 상기 자료변경 부객체에 의해 자료관리 부객체가 구동되어 공간 데이터간의 위상 관계 및 공간 색인을 유지 관리하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990067967A KR20010059971A (ko) | 1999-12-31 | 1999-12-31 | 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990067967A KR20010059971A (ko) | 1999-12-31 | 1999-12-31 | 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010059971A true KR20010059971A (ko) | 2001-07-06 |
Family
ID=19635055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990067967A KR20010059971A (ko) | 1999-12-31 | 1999-12-31 | 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010059971A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100609575B1 (ko) * | 1999-12-31 | 2006-08-04 | 주식회사 케이티 | 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법 |
KR100813940B1 (ko) * | 2006-08-16 | 2008-03-14 | 세종대학교산학협력단 | 대용량 dbms를 이용한 공간데이터 관리 시스템 및 그방법 |
KR101494311B1 (ko) * | 2013-05-15 | 2015-03-02 | 이마린 주식회사 | 객체 관계형 데이터베이스를 이용한 동적 전자해도표시시스템 및 그 동적 전자해도 제공 방법 |
CN113312436A (zh) * | 2020-07-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 空间索引的处理方法及装置 |
-
1999
- 1999-12-31 KR KR1019990067967A patent/KR20010059971A/ko not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100609575B1 (ko) * | 1999-12-31 | 2006-08-04 | 주식회사 케이티 | 객체지향형 공간 데이터베이스 관리시스템에서의 지리정보파일 저장 방법 |
KR100813940B1 (ko) * | 2006-08-16 | 2008-03-14 | 세종대학교산학협력단 | 대용량 dbms를 이용한 공간데이터 관리 시스템 및 그방법 |
KR101494311B1 (ko) * | 2013-05-15 | 2015-03-02 | 이마린 주식회사 | 객체 관계형 데이터베이스를 이용한 동적 전자해도표시시스템 및 그 동적 전자해도 제공 방법 |
CN113312436A (zh) * | 2020-07-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 空间索引的处理方法及装置 |
CN113312436B (zh) * | 2020-07-27 | 2024-04-19 | 阿里巴巴集团控股有限公司 | 空间索引的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434623B (zh) | 一种基于多源异构空间规划数据的融合方法 | |
US8190648B1 (en) | Method and system for the storage and use of engineering modeling alternatives with unitized data | |
CN112347222B (zh) | 一种基于知识库推理的将非标准地址转换为标准地址的方法及系统 | |
US5278946A (en) | Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a system | |
US6684219B1 (en) | Method and apparatus for building and maintaining an object-oriented geospatial database | |
Devogele et al. | On spatial database integration | |
Devogele et al. | Building a multi-scale database with scale-transition relationships | |
Jones et al. | Database design for a multi-scale spatial information system | |
Kilpeläinen | Maintenance of multiple representation databases for topographic data | |
CN113157665B (zh) | 一种智能的多测合一地理信息系统 | |
MacDonald | Building a geodatabase | |
CN114968984A (zh) | 数字孪生全生命周期管理平台 | |
KR20010059971A (ko) | 벡터 프로덕트 포맷 전자지도 파일을 객체관계형 공간데이터베이스 관리시스템상에서 관리하는 방법 | |
Newell et al. | Temporal GIS—modeling the evolution of spatial data in time | |
Halfawy et al. | Developing enterprise GIS-based data repositories for municipal infrastructure asset management | |
Baldissini et al. | An information system for the integration, management and visualization of 3D reality based archaeological models from different operators | |
Galdi | Spatial data storage and topology in the redesigned MAF/TIGER system | |
Torun | Using Schema and Data Integration Technique to Integrate Spatial and Non-Spatial Data: Developing Populated Places DB of Turkey (PPDB_T) | |
de Lange | Data Organisation and Database Systems | |
Lee et al. | A framework for evaluating interchange standards | |
Falchi | A conceptual model for the management of multi-representation geographical information | |
Taylor et al. | Representation and manipulation of conceptual, temporal and geographical knowledge in a museum hypermedia system | |
Feuerlicht et al. | Design of Document Databases: What can we Learn from Object-Relational Databases? | |
Alt | High Quality and Resilient Historical Vector Data: An open-source workflow for the creation of historical geospatial data | |
Trivedi et al. | A Conceptual Framework for Integrated Metadata Management in Very Large Spatial Databases (91-2) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |