KR101254380B1 - 지도 데이터를 편집하는 시스템 및 방법 - Google Patents

지도 데이터를 편집하는 시스템 및 방법 Download PDF

Info

Publication number
KR101254380B1
KR101254380B1 KR1020107012978A KR20107012978A KR101254380B1 KR 101254380 B1 KR101254380 B1 KR 101254380B1 KR 1020107012978 A KR1020107012978 A KR 1020107012978A KR 20107012978 A KR20107012978 A KR 20107012978A KR 101254380 B1 KR101254380 B1 KR 101254380B1
Authority
KR
South Korea
Prior art keywords
feature
data
map
source data
edit
Prior art date
Application number
KR1020107012978A
Other languages
English (en)
Other versions
KR20100096166A (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 인터그래프 소프트웨어 테크놀로지스 캄파니
Publication of KR20100096166A publication Critical patent/KR20100096166A/ko
Application granted granted Critical
Publication of KR101254380B1 publication Critical patent/KR101254380B1/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/29Geographical information databases

Abstract

지도 데이터를 편집 및 표시하기 위한 시스템, 방법, 및 컴퓨터 프로그램 제품에 관한 것이다. 제1 레코드 세트로부터 지도 소스 데이터가 검색되고, 소스 데이터의 적어도 하나의 피쳐가 표시 장치에 표시된다. 표시 장치에서의 피쳐의 사용자 선택에 기초하여, 선택된 피쳐에 대응하는 소스 데이터가 선택된다. 표시 장치에서의 선택된 피쳐의 사용자 수정에 기초하여, 피쳐의 사용자 수정을 표현하는 지도 편집 데이터가 생성된다. 지도 편집 데이터는 피쳐에 대한 지도 소스 데이터와 관련되고, 관련된 지도 편집 데이터가 제2 레코드 세트 내에 저장된다. 제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고 제2 레코드 세트로부터 소스 데이터와 관련된 지도 편집 데이터를 검색함으로써, 소스 데이터 및 편집된 데이터가 또한 표시될 수 있다. 피쳐에 대한 소스 데이터는 피쳐에 대한 관련된 지도 편집 데이터와 융합되어 표시 장치 상의 표시를 위한 출력 레코드 세트가 생성된다.

Description

지도 데이터를 편집하는 시스템 및 방법{SYSTEM AND METHOD FOR EDITING CARTOGRAPHIC DATA}
본 발명은 미국 특허 출원 제61/013,635호(2007년 12월 13일자)의 우선권의 이익을 주장하며, 그 전체를 본 명세서에서 참조로서 원용한다.
본 발명은 일반적으로 데이터를 편집하고 표시하는 시스템 및 방법에 관한 것으로서, 특히, 지도 데이터(cartographic data)를 편집하고 표시하는 것에 관한 것이다.
지도 편집 시스템은 보통 사용자들로 하여금 판독-및-기입(read-and-write) 지도 데이터를 편집한 후에 그 편집을 저장할 수 있도록 하고 있다. 예를 들어, 시스템은 사용자가 알라모사(Alamosa) 지방의 지도 표현에 있어서 리오 그란데(Rio Grande) 강을 따르는 교량의 위치를 변경하도록 할 수 있다. 몇몇 시스템들은 사용자가 소스 파일을 오버라이트함으로써 교량의 새로운 위치를 저장할 수 있도록 한다. 그러나, 소스 파일을 오버라이트함으로써, 소스 파일의 원본 지도 표현은 소실된다. 다른 방법으로서, 시스템은 지도 표현의 새로운 개정본으로서 교체본을 저장함으로써 사용자로 하여금 교량의 새로운 위치를 저장하도록 할 수 있다. 그러나, 사용자가 교량의 새로운 위치를 새로운 개정본으로서 저장하면, 표현을 위한 전체 소스 파일들이 중첩되어 새로운 파일로서 저장된다. 큰 소스 파일들의 다수의 개정본들은 상당한 메모리 량을 소비할 수 있다. 또한, 지도 데이터가 판독 전용 포맷으로 된 경우, 사용자는 판독 전용 데이터에 대하여 편집을 행하고 수행된 편집을 저장할 수가 없다. 따라서, 지도 데이터를 편집하고 편집본을 저장하는 현재의 시스템은 그다지 효율적인 것은 아니다.
본 발명의 예시적인 실시예들은 지도 데이터를 편집하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다. 본 발명의 다양한 실시예들은 지도 소스 데이터를 지도 편집 데이터와 관련시켜, 피쳐들에 대한 인스턴스 기반의 편집을 수행하는 능력을 사용자에 제공하며, 사용자가 판독 전용 데이터를 편집하고 있다는 인식을 사용자에게 제공한다. 본 발명의 방법은 컴퓨터 시스템에서 수행된다. 본 방법은 제1 레코드 세트로부터 지도 소스 데이터를 검색하는 것과, 소스 데이터의 적어도 하나의 소스 피쳐를 표시 장치에 표시하는 것을 포함한다. 사용자는 표시 장치의 피쳐들 중 하나를 선택할 수 있다. 표시 장치에서의 피쳐의 사용자 선택에 기초하여, 피쳐에 대응하는 소스 데이터가 선택된다. 사용자는 선택된 피쳐를 수정할 수도 있다. 표시 장치에서의 선택된 피쳐의 사용자 수정에 기초하여, 피쳐의 사용자 수정을 표현하는 지도 편집 데이터가 생성된다. 피쳐의 사용자 수정을 표현하는 지도 편집 데이터는 피쳐에 대한 지도 소스 데이터와 관련된다. 그 후, 관련된 지도 편집 데이터가 제2 레코드 세트 내에 저장된다.
본 발명의 지도 데이터를 편집하는 시스템은 지도 소스 데이터의 적어도 하나의 피쳐를 표시하는 표시장치 및 표시 장치에서 피쳐들을 선택하고 수정하기 위해 사용자가 사용할 수 있는 사용자 입력 장치를 포함한다. 프로세서는 제1 레코드 세트로부터 지도 소스 데이터를 검색하고, 사용자에 의해 선택되는 피쳐에 대응하는 소스 데이터를 선택한다. 선택된 피쳐의 사용자 수정에 기초하여, 프로세서는 피쳐의 수정을 표현하는 지도 편집 데이터를 생성하고, 피쳐의 수정을 표현하는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터와 관련시킨다. 시스템은 또한 제2 레코드 세트 내에 관련 지도 편집 데이터를 저장하기 위한 디지털 메모리를 포함한다.
본 발명은 또한 지도 데이터를 편집하기 위한 컴퓨터 시스템 상에서 사용하기 위한 컴퓨터 프로그램 제품으로서 실시될 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 코드를 갖는 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 프로그램 코드는 제1 레코드 세트로부터 지도 소스 데이터를 검색하고 표시 장치에 소스 데이터 중 적어도 하나의 피쳐를 표시하기 위한 컴퓨터 코드를 포함한다. 실시되는 경우 본 발명은 표시 장치에서의 피쳐의 사용자 선택에 기초하여 선택된 피쳐에 대응하는 소스 데이터를 선택할 수 있다. 컴퓨터 프로그램 제품은 표시 장치에서의 선택된 피쳐의 사용자 수정을 표현하는 지도 편집 데이터를 생성한다. 제품은 또한 피쳐의 사용자 수정을 표현하는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터와 관련시킨다. 제품은 그 후 제2 레코드 세트 내에 관련된 지도 편집 데이터를 저장한다.
전술한 실시예들 중 일부 또는 전부는, 소스 데이터에 대한 식별자와 일치하는 식별자를 편집 데이터에 할당함으로써 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터에 관련시킬 수 있다. 또한, 전술한 실시예들 중 일부 또는 전부에 있어서, 지도 소스 데이터는 판독 전용 데이터일 수 있다. 제1 레코드 세트가 제1 데이터베이스에 저장될 수 있고, 제2 레코드 세트가 제2 데이터베이스에 저장될 수 있다. 소스 데이터는 또한 물리적 지리적 위치를 표현할 수 있다. 또한, 지도 편집 데이터는 기하형태 데이터, 스타일 데이터, 및/또는 속성 데이터일 수 있다. 이에 더하여, 또는 대체하여, 지도 편집 데이터는 피쳐 인스턴스 편집을 표현할 수 있다.
본 발명의 예시적인 실시예들은 또한 지도 데이터를 표시하기 위한 방법, 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다. 본 발명의 다양한 실시예들에서는 지도 소스 데이터를 지도 편집 데이터와 융합하지만, 데이터가 융합된 후에도 편집 데이터와 소스 데이터에 대한 식별 정보를 유지한다. 이와 같이, 편집이 원본 소스 데이터와는 별도로 저장되게 되므로, 예시적인 실시예들은 원본 소스 데이터가 오버라이트되지 않도록 보장한다. 컴퓨터 기반의 방법은 제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고 제2 레코드 세트로부터 소스 데이터에 관련된 지도 편집 데이터를 검색하는 것을 포함한다. 피쳐에 대한 소스 데이터와 피쳐에 대한 관련된 지도 편집 데이터는 융합되어 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성한다.
몇몇 실시예에 있어서, 본 방법은 지도 데이터를 편집하는 방법의 요소들을 포함할 수 있다. 예를 들어, 표시 장치에서의 피쳐의 사용자 선택에 기초하여, 본 방법은 선택된 피쳐에 대응하는 소스 데이터를 선택할 수 있다. 표시 장치에서의 피쳐의 사용자 수정에 기초하여, 본 방법은 피쳐의 사용자 수정을 표현하는 지도 편집 데이터를 생성할 수 있다. 피쳐의 사용자 수정을 표현하는 지도 편집 데이터는 피쳐에 대한 지도 소스 데이터와 관련될 수 있다. 또한, 본 방법은 제2 레코드 세트 내에 관련 지도 편집 데이터를 저장할 수 있다.
본 발명의 지도 데이터를 편집하기 위한 시스템은 출력 레코드 세트를 표시하는 표시 장치를 포함한다. 프로세서가 제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고 제2 레코드 세트로부터 소스 데이터와 관련된 지도 편집 데이터를 검색한다. 프로세서는 피쳐에 대한 소스 데이터를 피쳐에 대한 관련된 지도 편집 데이터와 융합하여 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성한다.
다양한 실시예들에서, 지도 데이터를 편집하기 위한 시스템이 또한 사용자 입력 장치를 포함할 수 있다. 사용자는 입력 장치를 이용하여 표시 장치에서 피쳐들을 선택하고 수정할 수 있다. 표시 장치에서의 피쳐의 사용자 선택에 기초하여, 프로세서는 사용자의 선택된 피쳐에 대응하는 소스 데이터를 선택할 수 있다. 또한, 프로세서는 표시 장치에서의 피쳐의 사용자 수정을 나타내는 지도 편집 데이터를 생성한다. 그 다음에, 프로세서는 피쳐의 수정을 나타내는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터와 관련시킬 수 있다. 시스템은 또한 제2 레코드 세트 내에 관련된 지도 편집 데이터를 저장하기 위해 디지털 메모리를 더 포함할 수 있다.
본 발명은 지도 데이터를 표시하기 위한 컴퓨터 시스템 상에서 사용하기 위한 컴퓨터 프로그램 제품으로서 실시될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 코드를 갖는 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 프로그램 코드는 제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고 제2 레코드 세트로부터 소스 데이터에 관련되는 지도 편집 데이터를 검색하는 컴퓨터 코드를 포함한다. 컴퓨터 프로그램 제품은 피쳐에 대한 소스 데이터를 피쳐에 대한 관련 지도 편집 데이터와 융합하여 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성한다.
컴퓨터 프로그램 제품의 예시적 실시예들은 또한 지도 데이터를 편집하기 위한 코드를 포함할 수도 있다. 이러한 컴퓨터 프로그램 제품은 표시 장치에서 사용자 선택된 피쳐에 대응하는 소스 데이터를 선택하기 위한 인스트럭션들을 포함할 수 있다. 제품은 표시 장치에서 선택된 피쳐의 사용자 수정을 표현하는 지도 편집 데이터를 생성할 수도 있다. 제품은 또한 피쳐에 대한 사용자 수정을 표현하는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터에 관련시킬 수도 있다. 본 발명의 실시예들은 그 후 소스 데이터에 대한 식별자와 일치하는 식별자를 편집 데이터에 할당할 수 있다. 편집 데이터는 제2 레코드 세트에 저장된다.
데이터를 표시하기 위한 전술한 실시예들 중 전부 또는 일부는, 관련 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터에 일치시킴으로써 지도 편집 데이터를 피쳐에 대한 소스 데이터와 융합시킬 수 있다. 피쳐에 대한 소스 데이터가 지도 편집 데이터와 일치하지 않으면, 지도 소스 데이터에 기초하여 피쳐에 대한 출력 레코드 세트가 생성된다. 피쳐에 대한 소스 데이터가 관련 지도 편집 데이터와 일치하며, 피쳐의 모든 표시 파라미터에 대하여 관련 지도 편집 데이터가 존재하지 않으면, 피쳐에 대한 지도 소스 데이터 및 관련 지도 편집 데이터 양측에 기초하여 피쳐에 대한 출력 레코드 세트가 생성된다. 피쳐에 대한 소스 데이터가 관련 지도 편집 데이터와 일치하고, 피쳐의 모든 표시 파라미터에 대하여 관련 지도 편집 데이터가 존재하면, 피쳐에 대한 관련 지도 편집 데이터에만 기초하여 피쳐에 대한 출력 레코드 세트가 생성된다.
또한, 데이터를 표시하기 위한 전술한 실시예들 중 전부 또는 일부에 있어서, 피쳐에 대한 지도 소스 데이터 및 피쳐에 대한 관련 지도 편집 데이터는 일치하는 식별자를 가질 수 있다. 또한, 지도 소스 데이터는 판독 전용 데이터일 수 있다. 제1 데이터베이스에 제1 레코드 세트가 저장될 수 있으며, 제2 데이터베이스에 제2 레코드 세트가 저장될 수 있다. 이에 더하여 또는 대체하여, 소스 데이터는 물리적 지리적 위치를 표현할 수 있다. 일부 또는 전부의 실시예에 있어서, 지도 편집 데이터는 기하형태 데이터, 스타일 데이터, 및/또는 속성 데이터일 수 있다. 이에 더하여 또는 대체하여, 지도 편집 데이터는 피쳐 인스턴스 편집을 표현할 수 있다.
본 발명의 전술한 특징들은, 첨부 도면을 참조하여 이루어지는, 이하의 상세한 설명을 참조하여 더 용이하게 이해될 것이다.
도 1A 및 도 1B는 피쳐들의 세트에 대한 피쳐-클래스 편집의 일례를 나타낸다.
도 2A 및 도 2B는 본 발명의 일 실시예에 따른 피쳐에 대한 인스턴스 편집의 일례를 나타낸다.
도 3A 및 도 3B는 본 발명의 일 실시예에 따른 피쳐에 대한 스타일-인스턴스 편집의 또 다른 예를 나타낸다.
도 4A, 도 4B, 및 도 4C는 본 발명의 일 실시예에 따른 피쳐에 대한 기하형태 편집의 일례를 나타낸다.
도 5A 및 도 5B는 본 발명의 일 실시예에 따른 피쳐에 대한 속성 편집의 일례를 나타낸다.
도 6A, 도 6B, 및 도 6C는 본 발명의 일 실시예에 따른 피쳐에 대한 변환된 스타일 편집의 일례를 나타낸다.
도 7A 및 도 7B는 본 발명의 일 실시예에 따른 피쳐에 대한 변환된 스타일 편집의 또 다른 예를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 지도 데이터 편집 방법을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 지도 데이터 표시 방법을 나타낸다.
도 10은 본 발명의 일 실시예에 따른 도 9에서의 융합 단계의 더 자세한 실시예를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 테이블 관계와 함께 데이터베이스 테이블 도식(table schema)을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 입력 레코드 세트로부터 생성되는 출력 레코드 세트의 일례를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 입력 레코드 세트로부터 생성되는 출력 레코드 세트의 또 다른 예를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 듀얼 지도 연결 파이프 구조의 일례를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 범례의 일례를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 또 다른 범례의 일례를 나타낸다.
본 발명의 예시적인 실시예들은 지도 데이터를 편집하고 표시하는 시스템 및 방법에 관한 것이다. 본 발명의 다양한 실시예들은 지도 소스 데이터를 지도 편집 데이터와 관련 및 융합시켜, 피쳐에 대한 인스턴스 기반의 편집을 수행하는 능력을 사용자에 제공하며, 사용자가 판독 전용 데이터를 편집하고 있다는 인식을 사용자에게 제공한다. 본 발명의 예시적인 실시예에 의해 생성되는 관련성(association)은 데이터가 융합된 후에도 편집 데이터 및 소스 데이터에 대한 식별 정보를 유지한다. 이러한 방법으로, 예시적인 실시예에서는 편집본이 원본의 소스 데이터와는 별도로 저장되게 되므로 원본 소스 데이터가 오버라이트(overwrite)되지 않도록 보장한다. 예시적인 실시예의 세부사항을 이하에서 설명한다.
도 1A 및 도 1B는 피쳐의 세트에 대한 피쳐-클래스 편집(feature-class edit)의 일례를 나타낸다. 도 1A는 도로(110) 가의 4개의 건물(102, 104, 106, 및 108)의 지도 표현을 나타낸다. 4개의 건물과 도로는 지도(112) 상의 피쳐들을 구성한다. 피쳐로서는, 건물, 강, 도로, 철도, 교량, 터널, 숲, 계속, 산, 도시, 타운, 주, 파이프라인, 파이프, 전기 그리드, 또는 지도상에서 또는 지리적으로 표현될 수 있는 기타의 임의의 인공 또는 자연 요소를 포함할 수 있다. 지도 상의 피쳐의 위치와 기하학적 형태는 좌표계의 점들에 의해, 또는 선 또는 영역을 정의하는 벡터들에 의해, 또는 점들과 벡터들의 임의의 공간 결합에 의해 정의될 수 있다. 피쳐의 특정 인스턴스에 대하여 편집이 이루어질 수 있으며, 또는, 본 경우와 같이, 전체 클래스에 걸쳐 그 다음에 적용되는 피쳐에 대하여 편집이 이루어질 수 있다. 따라서, 피쳐-클래스 편집은 지도 상의 어디에 나타나던지 피쳐를 변경시킨다.
통상, 지도 제작법에 있어서, 피쳐들을 표현하기 위하여 심볼이 사용된다. 예를 들어, 도 1A에 있어서, 흑색 정사각형 심볼은 건물(102, 104, 106, 108)을 나타낸다. 흑색 정사각형은 지도(112) 상의 건물의 위치에 대응하도록 표시된다. 이와 같이, 심볼들은 건물들의 실제 물리적 위치를 나타내도록 표시된다. 심볼들은 피쳐의 기하형태와 합치할 수도 있다. 예를 들어, 도 1A에 있어서, 도로(110)를 나타내는 3개의 평행선들은 지도를 가로지르는 도로의 선형 경로를 투사하고 있다. 심볼들은 또한 라벨로 사용될 수 있다. 이러한 심볼들은 피쳐에 접하거나 그 상부에 표시될 수 있다. 예를 들어, 고속도로는 통상 고속도로의 선형 경로의 적어도 일부 상에 고속도로 번호 실드(shield)를 표시함으로써 지정된다.
현재의 지도 데이터 포맷에 있어서, 관련 피쳐들은 피쳐 클래스의 일부로서 분류화되는 것이 일반적이다. 피쳐 클래스의 피쳐들은 통상 공통 심볼로서 표현된다. 예를 들어, 도 1A에 도시된 건물들(102, 104, 106, 108)은 피쳐 클래스의 일부로서 분류화될 수 있다. 피쳐 클래스는 공통 심볼(예컨대, 흑색 정사각형)로 표현된다. 관련 피쳐들에 대한 공통 심볼들은 통상 범례(Legend)에 저장되어 참조된다. 몇몇 지도 편집 시스템들은 범례에서 피쳐들의 클래스에 대한 심볼을 사용자가 수정할 수 있도록 한다. 따라서, 범례 내의 심볼의 수정은 전체 피쳐 클래스에 대한 대응하는 수정을 일으킬 것이다. 도 1A 및 도 1B는 피쳐-클래스 편집의 일례를 나타낸다. 도 1A에 있어서, 4개의 건물(102, 104, 106, 및 108) 각각은 정사각형으로 표현된다. 예를 들어, 건물을 나타내는 심볼을 범례에 있어서 정사각형에서 다이아몬드형으로 변경함으로써, 사용자는 전체 피쳐 클래스에 대한 심볼을 변경할 수 있다. 도 1B에 있어서, 피쳐-클래스 편집 후에, 각각의 건물(102, 104, 106, 108)이 흑색 다이아몬드형으로 표현되어 있다.
도 2A 및 도 2B는 본 발명의 일 실시예에 따른 인스턴스 편집의 일례를 나타낸다. 도 2A는 4개의 흑색 다이아몬드로 표현된 4개의 건물(102, 104, 106, 108)을 나타낸다. 4개의 건물 중 하나(102)를 선택함으로써, 사용자는 건물 중 하나를 표현하는 심볼을 수정할 수 있다. 예를 들어, 도 2B에 있어서, 건물 중 하나(102)를 표현하는 심볼은 흑색 다이아몬드형에서 적색 원형으로 수정되어 있다. 도 3A 및 도 3B는 인스턴스 편집의 또 다른 예를 나타낸다. 도 3B에 있어서, 건물 중 하나(102)를 표현하는 심볼이 흑색 다이아몬드에서 청색 다이아몬드로 수정된다.
도 1B, 도 2B, 및 도 3B에 나타낸 인스턴스 편집 및 피쳐-클래스 편집은 스타일 편집의 예이다. 스타일 편집은 피쳐의 스타일 데이터에 대한 임의의 변경이다. 스타일 데이터는 피쳐의 기하형태가 또 다른 파일에 대한 표시 또는 출력을 위하여 어떻게 렌더링되는지에 대하여 정의하는 일련의 기준이다. 예를 들어, 선(line)에 대한 스타일 데이터는 선의 색채, 투명도, 및 폭을 포함할 수 있다. 심볼에 대한 스타일 데이터는 심볼에 대한 사이즈, 형태, 색채, 투명도, 서체, 및 폰트 스타일을 포함할 수 있다. 도 1B에 나타낸 편집은, 편집이 피쳐 클래스의 모든 멤버들에 대하여 심볼의 형태를 변경시키기 때문에 클래스-스타일 편집이다. 도 2B 및 도 3B에 나타낸 편집은 편집이 피쳐 클래스의 멤버들 중 일부만에 대한 심볼의 색채 또는 형태를 변경시키므로 인스턴스-스타일 편집이다.
도 4A, 도 4B, 및 도 4C는 본 발명의 일 실시예에 따른 피쳐에 대한 기하형태 편집의 일례를 나타낸다. 기하형태 편집은 피쳐의 기하형태 데이터에 대한 임의의 변경이다. 피쳐의 위치 또는 기하형태에 대한 임의의 변경은 피쳐를 정의하는 기저의(underlying) 점 및/또는 벡터가 수정되므로 기하형태 편집이다. 예를 들어, 도 4A는 도로(110) 가의 4개의 건물(102, 104, 106, 108)을 나타낸다. 도 4B는 사용자가 건물 중 하나(102)를 (예를 들어, 커서로) 선택하고, 도로(110)로부터 떨어지도록 건물을 드래그하는 것을 나타낸다. 도 4C는 건물의 새 위치를 나타낸다. 건물의 새 위치는 피쳐가 이제 상이한 위치에 표시되게 되므로 기하형태 편집이다.
도 5A 및 도 5B는 본 발명의 일 실시예에 따른 피쳐에 대한 속성 편집의 일례를 나타낸다. 많은 경우, 피쳐는 속성 데이터를 포함한다. 속성 데이터는 피쳐에 관련된 서술 정보(descriptive information)로서, 텍스트 또는 숫자일 수 있거나, 또는 표준 인코딩 메커니즘을 이용하여 인코딩될 수 있다. 피쳐에 대한 속성들은 사용자가 피쳐를 선택하는 때에 사용자에 대하여 제공될 수 있다. 도 5A에 있어서, 속성 데이터(500)가 고속도로에 대하여 제공된다. 속성 데이터는 고속도로가 세워진 연도(502), 차선의 수(504), 도로 표면의 조성(508), 도로 폭(510), 및 도로 길이(512)를 포함한다. 속성 편집은 피쳐에 관련된 서술 정보에 대한 임의의 변경이다. 예를 들어, 도 5B에 있어서, 도로의 차선의 수(514, 516)에서의 확장을 설명하도록 갱신된다. 특정 주(state) 또는 지방(country)의 속성 데이터는 면적, 인구, 및 기타의 인구통계적 데이터를 포함할 수 있다. 이와 함께, 스타일 데이터, 기하형태 데이터, 및 속성 데이터는 피쳐에 대한 표시 파라미터들을 포함한다.
도 6A, 도 6B, 및 도 6C는 본 발명의 일 실시예에 따른 피쳐에 대한 변환된 스타일 편집의 일례를 나타낸다. 본 발명의 예시적인 실시예들은 유리하게도 프리스트로킹(prestroking)으로 알려진 기법을 사용한다. 프리스트로킹은 구성요소 각각이 사용자에 의해 개별적으로 편집될 수 있도록 심볼이 자신의 구성 요소들로 변환되도록 하는 것이다. 도 6A는 통상적으로 교량을 나타내는 심볼(600)을 나타낸다. 도 6B는 심볼이 지도상에 어떻게 보이는지의 일례를 나타낸다. 교량 심볼은 교차 시냇물(crossing stream)(604) 위로 도로(602)를 지지하는 것으로 도시되어 있다. 처음에는, 심볼의 2개의 구성 요소(606 및 608)는 동일한 기하학적 구성요소의 일부이지만, 프리스트로킹 동작 후에는, 2개의 구성 요소들은 독립적으로 편집될 수 있는 별개의 기하학적 구성요소로 정의된다. 프리스트로킹된 심볼로 심볼을 변환시키는 것을 변환된 스타일 편집이라고 한다. 도 6C에 있어서, 포인트 심볼 교량의 구성 요소들 중 하나(606)가 교량을 교차 시냇물과 정렬되도록 옮겨졌다. 포인트 심볼의 구성 요소들 중 하나의 옮겨짐(displacement)은 변환된 스타일 심볼에 대한 기하학적 편집이다. 심볼의 요소들 중 하나의 색채에 대한 수정은 변환된 스타일 심볼(도시 생략)에 대한 스타일 편집이다.
도 7A 및 도 7B는 본 발명의 일 실시예에 따른 심볼에 대한 변환된 스타일 편집의 또 다른 예를 나타낸다. 이러한 변환된 스타일 편집은 유리하게도 사용자가 지도상의 오버프린팅(overprinting) 및/또는 오버크라우딩(overcrowding)을 해소할 수 있도록 한다. 예를 들어, 도 7A에 있어서, 철도 심볼(702)의 2개의 교차 묶음선(cross tie)(700)은 인라인 철도역(in-line railway station)(704)에 대한 심볼과 충돌한다. 이상적으로는, 철도역 아래의 교차 묶음선은 표시되어서는 아니된다. 철도 심볼을 그의 구성하는 교차 묶음선들로 프리스트로킹함으로써, 사용자는 철도역 심볼 아래에 위치된 2개의 교차 묶음선을 제거할 수 있다. 도 7B는 인라인 철도역 심볼(704)과 함께 정정된 철도 심볼(702)을 나타낸다.
심볼은 기본 형태, 라인 치수, 색채, 및 텍스트 문자로 심볼의 구성 요소들을 모사함으로써 프리스트로킹될 수 있다. 프리스트로킹 동작이 발생하는 경우, 심볼을 가장 잘 모사하는 기하형태 및 스타일 요소들이 선택되어 심볼과 관련된다. 선택된 형태, 라인 치수, 색채, 및 텍스트 문자는 레코드 세트에 저장된다. 모사된 기하형태 및 스타일 요소들은 그 후 독립적으로 편집될 수 있다.
도 8은 본 발명의 예시적인 실시예(800)에 따른 지도 데이터를 편집하는 방법을 나타낸다. 본 방법은 표시 장치와 통신하는 컴퓨터 시스템에서 수행된다. 지도 소스 데이터가 소스 레코드 세트(802)로부터 검색된다. 소스 레코드 세트는 하나 이상의 레코드를 가질 수가 있다. 지도 소스 데이터는 표시 장치 상에서 볼 수 있는 단일 또는 복수의 상이한 패쳐 클래스에 대하여 기하형태 데이터와 속성 데이터를 포함할 수 있다. 몇몇 경우에 있어서, 소스 데이터는 판독 전용 데이터일 수 있다. 소스 데이터는 다양한 상이한 구조적 포맷을 갖는 다양한 상이한 소스 데이터베이스로부터 비롯될 수도 있다. 예를 들어, 소스 데이터는 Oracle, Microsoft SQL Server 및/또는 Microsoft Access 데이터베이스로부터 비롯될 수 있다.
지도 소스 데이터는 부동산, 건물, 도시, 지방, 또는 주 등의 물리적인 지리적 위치를 표현할 수 있다. 사용자는 유리하게도, 예를 들어, 교량 및 도로의 새로운 위치로 지도를 갱신하거나, 현재의 심볼 표준에 맞도록 단순히 지도를 갱신하기 위한 기법을 사용할 수 있다. 지도 소스 데이터는 물리적 지리적 위치에 대한 제안된 개발 및 설계(예컨대, 건물 설계도 또는 새로운 도로에 대한 제안된 루트)를 나타낼 수도 있다. 다양한 예시적 실시예에 있어서, 지도 소스 데이터는 비디오 게임에서의 보드 등의 가상적 위치 또는 J.R.R. Tolkein의 소설 "The Hobbit"에 기재된 "Middle Earth"와 같은 허구의 위치를 나타낼 수도 있다.
소스 데이터에 대한 스타일 데이터는 본 발명의 예시적인 실시예를 사용하여 (예컨대, 워크스페이스 자체에 의해) 지도 편집 프로그램에 의해서 디폴트로 설정될 수 있다. 워크스페이스는 지도의 편집 환경을 유지시키는 데이터 파일이다. 워크스페이스는 묘사되고 있는 피쳐 클래스들을 식별하는 지도 범례 및 각각의 묘사되는 피쳐 클래스에 의해 사용되는 디폴트 스타일을 포함할 수 있다. 예를 들어, 소스 데이터에 대한 피쳐 클래스들 중 하나가 하천(river)의 그룹이라면, 워크스페이스는 디폴트로서 특정 폭으로 또는 청색으로 하천들을 표시할 수 있다. 사용자는 또한 소스 피쳐 클래스에 대한 표시 데이터를 선택하고 수정할 수가 있다. 예를 들어, 소스 피쳐 클래스는 범례에서 참조될 수 있다. 범례에서 하천들의 폭을 수정함으로써, 표현에 있어서 모든 하천의 폭이 또한 수정되게 된다. 편리를 위하여, 명세서에 있어서 디폴트 표시 데이터 및/또는 사용자 수정 표시 데이터는 프리셋 스타일 데이터라 한다.
일단 소스 데이터가 검색되면, 소스 데이터베이스의 피쳐 클래스들 중 적어도 일부가 표시 장치 상에 표시된다(804). 피쳐 클래스들을 표시하기 위하여, 프리셋 스타일이 사용된다. 사용자는, 예를 들어, 커서를 사용하여 피쳐들 중 하나를 선택할 수 있다. 사용자는 그 후 피쳐에 대한 기하형태, 스타일 또는 속성 데이터를 수정할 수 있다. 예를 들어, 도 4C에 대하여 전술한 바와 같이, 사용자는 건물의 위치를 변경할 수 있으며, 또는 사용자는 도 2B 및 도 3B에 도시된 바와 같이, 건물에 대한 심볼을 변경할 수가 있다. 그 후, 본 방법에서는 사용자 선택에 대응하는 소스 데이터를 선택하고(806), 피쳐에 대한 사용자 수정을 나타내는 지도 편집 데이터를 생성한다(808). 본 발명의 예시적인 실시예에 있어서, 수정되는 표시 파라미터들에 대하여서만 지도 편집 데이터가 생성된다. 즉, 사용자가 피쳐의 기하형태를 수정하면, 기하형태 데이터에 대해서만 지도 편집 데이터가 생성된다. 피쳐에 대한 스타일 데이터 및 속성 데이터에 대하여 지도 편집 데이터가 생성되지는 않는다.
따라서, 본 기법에서는 수정되는 표시 파라미터들과 피쳐들에 대해서만 편집 데이터가 생성되므로, 편집 레코드 세트에서의 저장 공간을 절약한다. 그러나, 다른 실시예들도 본 발명의 범주 내에 있다. 몇몇 실시예에 있어서, 하나의 표시 파라미터만이 수정될지라도, 모든 표시 파라미터들에 대하여 편집 데이터가 생성될 수 있다. 예를 들어, 사용자가 스타일 파라미터를 수정하면, 기하형태 데이터, 스타일 데이터, 및 속성 데이터 모두에 대하여 지도 편집 데이터가 생성된다. 그러나, 다른 실시예에 있어서, 파라미터들의 서브세트에 대해서만 지도 편집 데이터가 생성될 수 있다. 예를 들어, 사용자가 심볼의 색채를 변경하면, 색채 변경에 대해서만 지도 데이터가 생성된다. 심볼의 형태 또는 그 사이즈에 대해서는 지도 편집 데이터가 생성되지 않는다.
본 기법은 또한 수정을 나타내는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터와 관련시킨다(810). 몇몇 실시예에 있어서, 소스 데이터에 대한 식별자(ID)와 일치하는 ID를 편집 데이터에 할당함으로써 지도 편집 데이터가 소스 데이터와 관련된다. 본 명세서에 있어서, 이러한 식별자를 소스 피쳐 ID라 한다. 일단 지도 편집 데이터가 지도 소스 데이터와 관련되면, 편집 데이터는 그 후 편집 레코드 세트에 저장된다(812). 이러한 기법은 사용자가 수정하는 각각의 피쳐 및 피쳐 클래스에 대하여 수행될 수 있다. 예를 들어, 일단 사용자가 도 4C에 도시된 바와 같이 건물의 위치를 수정하면, 소스 데이터를 선택하는 단계, 편집 데이터를 생성하는 단계, 데이터를 관련시키는 단계, 및 데이터를 저장하는 단계가 도 2B 및 도 3B에 도시된 바와 같이 스타일 편집에 대하여 반복될 수 있다.
소스 레코드 데이터는 소스 데이터베이스에 저장된다. 소스 레코드 세트의 소스 데이터가 판독 전용 데이터라면, 소스 데이터베이스의 판독 전용 레코드가 수정될 수 없기 때문에, 편집 레코드 세트가 별도의 편집 데이터베이스에 저장된다. 이와 같이, 본 방법은 사용자가 판독 전용 소스 데이터를 편집하고 있다는 인식을 사용자에게 제공한다. 소스 레코드 세트가 표시되더라도, 표시 파라미터에 대한 수정의 전부는 편집 데이터베이스 내의 편집 레코드 세트에 저장되기 때문에 소스 레코드 세트가 수정될 필요는 없다. 소스 데이터가 판독 및 기입 데이터인 경우, 소스 레코드 세트 및 편집 레코드 세트가 동일한 소스 데이터베이스에 저장될 수 있다.
또한, 본 방법의 예시적 실시예에서는 사용자가 피쳐 클래스에 속하는 피쳐에 대하여 인스턴스 편집을 수행하도록 한다. 피쳐가 소스 데이터의 피쳐 클래스의 일부일 수도 있지만, 본 방법의 예시적 실시예에서는, 후술한 바와 같이, 편집된 표시 파라미터가 표시 시에 피쳐에 대한 원본 소스 데이터를 대체하기 때문에, 피쳐 클래스의 하나의 피쳐에 대하여 새로운 편집된 표시 파라미터를 사용자가 표시하도록 한다.
도 9는 본 발명의 일 실시예에 따른 지도 데이터를 표시하는 방법(900)을 나타낸다. 본 방법은 표시 장치와 통신하는 컴퓨터 시스템에서 수행된다. 본 방법은 소스 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하는 단계(902)와, 편집 레코드 세트로부터 소스 데이터와 관련되는 지도 편집 데이터를 검색하는 단계(904)를 포함한다. 전술한 바와 같이, 지도 소스 데이터는 표시 장치 상에서 볼 수 있는 상이한 다양한 피쳐들에 대한 표시 파라미터들을 포함한다. 또한, 소스 데이터는 판독 전용 데이터일 수도 있으며, 다양한 상이한 구조적 포맷을 갖는 다양한 상이한 소스 데이터베이스로부터 비롯될 수 있다. 편집 레코드 세트는 하나 이상의 레코드를 가질 수 있다. 지도 데이터는 소스 데이터베이스 또는 편집 데이터베이스로부터 비롯될 수 있다. 일단 검색이 되면, 피쳐에 대한 소스 데이터 및 피쳐에 대한 편집 데이터가 융합되어 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성한다(906). 출력 레코드 세트가 그 후 표시 장치 상에 표시될 수 있다. 출력 레코드 세트는 하나 이상의 레코드를 가질 수 있다. 소스 데이터를 검색하는 단계, 편집 데이터를 검색하는 단계, 및 데이터를 융합하는 단계는 지도 상의 복수의 피쳐들에 대하여 복수 회 수행될 수 있다. 지도가 로딩되는 매 회마다, 각각의 피쳐에 대하여 본 방법이 복수 회 수행될 수 있다. 본 방법은 또한 지도가 표시 장치에 로딩되는 동안 피쳐들이 유지되도록 반복적으로 수행될 수도 있다. 즉, 본 방법은 피쳐들이 최종 편집 데이터로 계속 갱신되도록 수행된다.
또한, 전술한 바와 같이, 피쳐를 편집하는 기법 및 피쳐를 표시하는 기법은 서로의 전 또는 후에 수행될 수가 있으며, 또는 동시에 수행될 수도 있다. 사용자가 피쳐를 편집하고, 그 편집본이 거의 동시에 표시 장치 상에 나타나도록 이러한 기법들은 동시에 수행되는 것이 바람직하다.
몇몇 실시예에 있어서, 사용자가 항행의 목적으로 지도를 이용할 수 있도록, 또는, 예컨대, 설계자 및 측량기사가 제안된 건물 및/또는 루트를 건설 및 구축하기 위해 표현된 것을 이용할 수 있도록 편집된 피쳐 및 지도의 하드 카피본이 인쇄될 수 있다.
도 10은 본 발명의 일 실시예에 따라서 도 9에서의 융합 단계의 더 구체적인 실시예(1000)를 나타낸다. 본 발명의 예시적인 실시예에 있어서, 융합 단계는 관련된 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터에 일치시키는 단계(1002)를 포함할 수 있다. 몇몇 실시예에 있어서, 편집 데이터 및 소스 데이터는 일치하는 식별자에 기초하여 서로 관련될 수 있다. 이러한 경우, 본 기법은 일치하는 식별자(예컨대, 소스 피쳐 ID)에 기초하여 관련된 지도 편집 데이터를 지도 소스 데이터와 일치시킬 수 있다. 피쳐에 대한 소스 데이터가 피쳐에 대한 지도 편집 데이터와 일치하지 않으면(1004), 피쳐에 대한 지도 소스 데이터 및 피쳐에 대한 프리셋 스타일 데이터에 기초하여 피쳐에 대한 출력 레코드 세트가 생성된다(1006). 예를 들어, 도 1A에 나타낸 도로(110)가 지도 편집 레코드 세트에 일치하는 기하형태, 스타일, 또는 속성 편집를 갖지 않으면, 도로에 대한 소스 데이터가 임의의 편집 없이 표시된다. 피쳐에 대한 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 피쳐의 모든 표시 파라미터에 대해 관련된 지도 편집 데이터가 존재하지 않으면(1008), 피쳐에 대한 소스 데이터 및 관련된 편집 데이터 양측에 기초하여 피쳐에 대한 출력 레코드 세트가 생성된다(1010). 예를 들어, 피쳐의 속성 데이터 및 스타일 데이터에 대하여 편집 데이터가 존재하지만, 기하형태 데이터에 대하여는 존재하지 않으면, 출력 레코드 세트는 편집 레코드 세트로부터의 속성 데이터 및 스타일 데이터를 포함하고, 소스 레코드 세트로부터의 기하형태 데이터를 포함하게 된다. 몇몇 경우에 있어서, 기하형태 데이터 및 속성 데이터가 편집 레코드 세트에 존재하는 경우에는, 소스 데이터가 사용되지 않을 수 있다. 그렇다면, 출력 레코드 세트는 편집 레코드 세트로부터의 속성 데이터와 기하형태 데이터 및 워크스페이스로부터의 프리셋 스타일 데이터를 포함하게 되지만, 소스 레코드 세트로부터의 데이터는 포함하지 않는다. 피쳐에 대한 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 피쳐의 모든 표시 파라미터에 대해 관련된 지도 편집 데이터가 존재하면(1008), 피쳐에 대한 관련된 지도 편집 데이터에만 기초하여 출력 레코드가 생성된다(1012). 예를 들어, 피쳐에 대한 속성 데이터, 기하형태 데이터, 및 스타일 데이터에 대하여 지도 편집 데이터가 존재한다면, 그 피쳐에 대한 출력 레코드 세트는 임의의 소스 데이터를 포함하지 않게 되며, 편집 데이터만으로 구성되게 된다. 요약하면, 피쳐에 대하여 편집된 표시 파라미터가 존재하면, 출력 레코드 세트의 그 파라미터에 대하여 프리셋 스타일 데이터 또는 소스 데이터를 교체하게 된다.
전술한 바와 같이, 본 기법은 편집되는 피쳐들과 표시 파라미터들에 대하여만 편집 데이터가 생성되고 저장되기 때문에, 저장 공간을 절약한다. 수천 개중 하나의 피쳐만이 편집되는 경우, 편집 레코드 세트는 그 하나의 편집된 피쳐에 대한 편집만을 저장하고, 다른 피쳐들 모두는 소스 레코드 세트로부터 검색된다. 이와 대조하여, 몇몇 현재의 지도 편집 시스템에서는 전체 지도 및 지도의 각각의 개정본에 대한 관련 피쳐들 모두를 복사하여 저장할 것을 필요로 한다.
도 11은 본 발명의 일 실시예에 따른 테이블 관계와 함께 데이터베이스 테이블 도식(1100)을 도시하고 있다. 도식은 소스 데이터베이스(1102)와 편집 데이터베이스(1104)로 분리된다. 그러나, 몇몇 실시예에 있어서, 편집 데이터 및 소스 데이터는 동일한 데이터베이스에 저장될 수 있다. 소스 데이터베이스는 각각의 소스 피쳐 클래스를 정의하는 속성 데이터 및 기하형태 데이터를 포함하는 소스 피쳐 클래스 테이블(1106)을 포함한다. (스타일 데이터는 워크스페이스에 의해 제공되는 프리셋 스타일 데이터로부터 비롯되지만, 몇몇 실시예에 있어서, 소스 데이터베이스가 스타일 데이터를 포함할 수 있다). 지도 표현의 각각의 피쳐 클래스에 대해 소스 피쳐 클래스 테이블이 존재한다. 피쳐 클래스의 각각의 피쳐는 소스 피쳐 클래스 테이블에 레코드를 가지고 있다. 소스 피쳐 클래스 테이블 내의 각 필드에 대한 설명은 다음과 같다.
Figure 112010037681112-pct00001
편집 데이터베이스는 편집 피쳐 클래스 테이블(1108)을 포함한다. 관련된 지도 편집을 갖는 각 소스 피쳐 클래스에 대하여 편집 피쳐 클래스 테이블이 존재한다. 따라서, 모든 소스 피쳐 클래스 테이블에 대하여 관련된 편집 피쳐 클래스 테이블(1106)이 존재한다. 몇몇 실시예에 있어서, 관련 소스 피쳐 클래스 테이블의 명칭을 이용하여 편집 피쳐 클래스 테이블의 명칭이 생성되고, 필요한 경우, 사이즈 제한과 고유성을 위하여 수정된다(예컨대, 접두어 "ED"를 갖는 소스 피쳐 테이블의 명칭). 편집 피쳐 클래스 테이블의 목적은 표시 파라미터들과 표시 그룹들을 지도상에서 편집되는 소스 피쳐들에 연결시키는 것이다. 피쳐 클래스의 각각의 편집된 피쳐는 편집 피쳐 클래스 테이블 내에 관련 편집 피쳐 레코드를 가지게 된다. 따라서, 하나의 소스 피쳐 클래스 테이블에 대하여 다수의 편집 피쳐 레코드가 존재할 수 있다. 편집 피쳐 테이블 내의 각각의 필드에 대한 설명은 이하와 같다.
Figure 112010037681112-pct00002
도식은 또한 기하형태 데이터(1110), 스타일 데이터(1112), 및 속성 데이터(1114)에 대한 표시 파라미터 테이블들을 포함한다. 기하형태 테이블, 스타일 테이블, 및 속성 테이블 각각은 편집되었던 피쳐 클래스에 대한 기하형태 데이터, 스타일 데이터, 및 속성 데이터를 각각 저장한다. 예를 들어, 기하형태 테이블은 피쳐 클래스에 각각의 기하적으로 편집된 피쳐에 대한 레코드를 포함하게 된다. 몇몇 실시예에 있어서, 관련 소스 피쳐 클래스 테이블의 명칭을 사용하여 테이블들의 명칭이 생성되며, 필요에 따라, 사이즈 제한과 고유성을 위하여 수정된다(예컨대, 기하형태 테이블에 대하여 "GEO", 스타일 테이블에 대하여 "STL", 및 속성 테이블에 대하여 "ATT"의 접두어를 갖는 소스 피쳐 클래스 테이블의 명칭). 기하형태 테이블, 스타일 테이블, 및 속성 테이블 내의 각각의 필드에 대한 설명은 이하와 같다.
Figure 112010037681112-pct00003
수개의 피쳐들이 동일한 편집된 스타일 또는 속성들을 공유할 수 있으며, 따라서, 모두 스타일 테이블 또는 속성 테이블의 하나의 레코드에 관련될 수 있으므로, 스타일 테이블(1112)과 속성 테이블(1114)은 2개 이상의 편집 피쳐 레코드(1108)에 의해 참조될 수 있다. 따라서, 사용자가 피쳐의 스타일 편집을 삭제할 것을 결정하면, 다른 편집 피쳐 레코드들이 스타일 테이블 내의 그 레코드에 관련된다면, 대응하는 스타일 테이블 레코드는 삭제되지 않게 된다. 또한, 사용자가 피쳐에 대한 스타일을 기존의 스타일 테이블 레코드로 수정할 것을 결정하고, 기존 스타일 테이블 레코드가 다수의 다른 피쳐들에 관련된다면, 클래스 내의 다른 피쳐들에 대한 스타일 편집을 방해하지 않도록, 새롭게 편집된 피쳐에 대하여 새로운 스타일 테이블 레코드가 생성되게 된다.
도 11은 기하형태, 스타일, 및 속성 편집들(1110, 1112, 1114)을 포함하는 개별 테이블을 갖는 데이터베이스 도식을 나타내며, 데이터베이스 도식에 대한 다른 구조들 또한 본 발명의 범주 내에 있다. 예를 들어, 편집 피쳐 클래스 테이블(1106)로부터 개별적으로 기하형태 편집, 스타일 편집, 및 속성 편집을 저장하는 대신에, 편집 피쳐 클래스 테이블 내의 부가 필드들에 기하형태 편집, 스타일 편집, 및 속성 편집이 저장될 수 있다. 편집 데이터베이스 내의 테이블 포맷은 변화할 수 있지만, 본 발명의 예시적인 실시예에 있어서, 기하형태 편집, 스타일 편집, 및 속성 편집은 통상 소스 데이터와는 별도로 저장된다. 이러한 데이터베이스 도식은 편집 데이터 및 소스 데이터가 따로 저장되므로, 원본 소스 데이터가 오버라이트되지 않도록 보장한다.
도 11에 도시된 도식은 또한 표시 그룹 테이블(1116)을 포함한다. 편집된 피쳐들을 동시에 선택하기 위하여, 표시 그룹 테이블은 편집된 피쳐를 그룹들에 지정한다. 몇몇 실시예에 있어서, 관련 소스 피쳐 클래스 테이블의 명칭을 이용하여 표시 그룹 테이블에 대한 명칭이 생성되고, 필요에 따라, 사이즈 제한과 고유성을 위하여 수정된다(예컨대, 접두어 "DIS"를 갖는 소스 피쳐 테이블의 명칭). 표시 그룹 명칭 필드는 특정 포맷 법칙을 따르는 문자열을 포함하며, 조회 시에 사용될 수 있다. 표시 그룹은 사용자가 표시 그룹에 관련되는 피쳐들 모두를 동시에 선택하도록 한다. 예를 들어, 사용자는 범례로부터 표시 그룹 명칭 "하천(rivers)"을 선택할 수 있다. 표시 그룹 명칭 "하천(rivers)"에 관련되는 각각의 편집 피쳐 레코드에 대하여 조회가 이루어진다. 일단 모든 관련 레코드들이 발견되면, 사용자는 그 후 모든 레코드들에 대해 동시에 동작들 및 명령들을 수행할 수 있다. 예를 들어, 사용자는 모든 레코드를 억제하도록 선택할 수 있다. 레코드의 억제는 그 레코드에 대응하는 피쳐가 표시되지 않도록 방지한다. 사용자는 또한 표시 그룹 명칭에 관련되는 모든 피쳐들에 대하여 표시 순서를 따라 이동하도록 선택할 수 있다. 자신의 표시 순서를 따라 이동함으로써, 다른 피쳐들 위에 피쳐들이 표시되게 된다. 즉, 피쳐들은 교차하는 다른 피쳐들을 덮게 된다(mask).
또한, 2개 이상의 표시 그룹 테이블 레코드가 편집 피쳐 클래스 테이블에 할당될 수 있다. 예를 들어, 피쳐에 대한 편집(및 그의 대응하는 레코드)이 표시 그룹 명칭 "하천"에 관련될 수 있으며, 또한 표시 그룹 명칭 "물(water)"에 관련될 수 있다. "하천" 또는 "물"에 대한 조회는 관련된 편집 피쳐 레코드를 발견하게 된다. 표시 그룹 테이블 내의 각 필드에 대한 설명은 이하와 같다.
Figure 112010037681112-pct00004
도 12는 입력 레코드 세트(1202)로부터 생성되는 출력 레코드 세트(1200)의 일례를 나타낸다. 도 12에 있어서, 입력 레코드 세트(1202)는 소스 피쳐 테이블(1204)로부터의 소스 레코드 세트(1216) 및 편집 피쳐 클래스 테이블(1206)로부터의 편집 데이터 레코드 세트(1218), 표시 그룹(1212), 기하형태 테이블(1208), 및 스타일 테이블(1210)을 포함한다. 본 발명의 예시적인 실시예에 있어서, 편집 레코드 세트(1218)는 어느 피쳐 클래스가 편집되었는지 및 어느 표시 파라미터가 편집되었는지에 따라서 편집 피쳐 클래스 테이블, 기하형태 테이블, 스타일 테이블, 속성 테이블, 및 표시 명칭 테이블의 임의의 조합을 포함할 수 있다.
소스 레코드 세트(1216) 및 편집 레코드 세트(1218)가 지도 연결 파이프(1214)에 융합된다. 지도 연결 파이프는 지도 소스 데이터와 편집 데이터와의 사이의 관련성을 포함하며, 소스 데이터를 편집 데이터에 인텔리전트하게(intelligently) 일치시킨다. 지도 연결 파이프는 편집 데이터가 피쳐에 대한 소스 데이터에 일치하는지에 기초하여 출력 레코드 세트를 생성함으로써 데이터를 융합시킨다. 예를 들어, 피쳐에 대하여 편집된 기하형태 데이터가 존재하지만, 편집된 스타일 데이터 또는 편집된 속성 데이터가 존재하지 않으면, 연결 파이프는 피쳐에 대한 프리셋 스타일 데이터 및 소스 속성 데이터를 갖는 편집된 기하형태 데이터를 출력하게 된다. 연결 파이프는 또한 사용자 명령 및 동작에 기초하여 데이터를 융합하게 된다. 예를 들어, 사용자는 임의의 편집을 표시하지 않도록 선택할 수 있으며, 이러한 경우, 지도 연결 파이프는 소스 데이터와 편집 데이터와의 사이의 임의의 융합을 턴오프(turn off)하고 간단히 소스 데이터를 출력할 수 있다.
지도 연결 파이프(1214)는 또한 편집이 생성됨에 따라서 편집 데이터를 소스 데이터에 관련시킨다. 즉, 연결 파이프는 편집된 피쳐들로부터의 편집 데이터를 필터링하거나 분리한다. 예를 들어, 사용자가 피쳐의 기하형태만을 수정한다면, 연결 파이프는 피쳐에 대한 편집된 기하형태 데이터만을 저장하고 관련시키게 된다. 본 예에 있어서, 연결 파이프는 편집되지 않았던 표시 파라미터들을 저장하거나 관련시키지는 않게 된다. 연결 파이프가 이후에 생성하는 편집 데이터 및 관련성은 연결 파이프가 출력 레코드 세트를 생성하기 위하여 사용하는 편집 레코드 세트의 일부가 된다.
입력 레코드 세트(1202)는 적어도 표시되는 피쳐 클래스에 대한 소스 피쳐 클래스 테이블(1204)을 포함한다. 소스 피쳐 클래스에 대한 편집이 존재하면, 관련 편집 피쳐 클래스 테이블(1206) 및 피쳐 클래스에 대한 표시 파라미터 테이블(예컨대, 편집 레코드 세트)이 입력 레코드 세트에 또한 포함되게 된다.
도 12에 제공된 예에 있어서, 피쳐 클래스에 대하여 4개의 소스 피쳐(1, 2, 3, 및 4)가 존재한다. 각각의 소스 피쳐는 소스 피쳐 클래스 테이블 내에 대응하는 레코드를 갖는다. 소스 피쳐 레코드들이 관련 기하형태 레코드 및 스타일 레코드를 가지기 때문에, 입력 레코드 세트의 일부로서 기하형태 테이블(1208) 및 스타일 테이블(1210)이 제공된다. 그러나, 어떠한 소스 레코드에 대하여도 속성 편집이 존재하지 않기 때문에, 속성 테이블과 레코드들은 입력 레코드 세트의 일부로서 제공되지 않는다. "속성 ID" 아래의 편집 피쳐 테이블의 모든 값들은 "NULL" 이다.
소스 피쳐 레코드(2, 3, 및 4)는 편집 피쳐 클래스 테이블 내에 관련 편집 피쳐 레코드들을 갖지만, 소스 피쳐(1)는 어떠한 관련된 편집 피쳐 레코드도 가지지 않는다. 이는 소스 레코드(1)가 편집되지 않았음을 의미한다. 따라서, 전술한 바와 같은 방법에 따르면, 피쳐 클래스에 대한 프리셋 스타일 데이터 및 소스 피쳐 클래스 테이블의 레코드들에만 기초하여 소스 피쳐 레코드(1)에 대한 출력 레코드 세트가 생성되게 된다. 따라서, 소스 피쳐(1)에 대한 출력 레코드 세트는 프리셋 스타일(1220)과 소스 피쳐 클래스 테이블의 레코드들에 대응한다.
그러나, 소스 피쳐 레코드(2, 3, 및 4) 모두는 관련 편집을 갖는다. 소스 피쳐 레코드(2)는 지도 ID "12"를 갖는 관련 편집 피쳐 클래스 레코드를 갖는다. 소스 피쳐 레코드(2)에 관련된 편집에 대한 명칭은 "새로운 경로"이다. 편집 피쳐 레코드(12)는 기하형태 ID "111"를 갖는 기하형태를 식별한다. 이러한 기하형태 ID는 기하형태 테이블 내의 기하형태 레코드 "G1"에 대응한다. 소스 피쳐(2)에 대하여 스타일 및 속성 편집이 존재하지 않기 때문에 편집 피쳐 레코드(12) 내의 "스타일 ID" 및 "속성 ID"의 필드는 "NULL" 값을 포함한다. 따라서, 소스 피쳐(2)에 대한 출력 레코드 세트는 기하형태 테이블로부터의 기하형태 레코드 "G1", 소스 피쳐 클래스 테이블로부터의 속성 레코드 "SA2", 및 프리셋 스타일(1220)로부터의 프리셋 스타일 데이터 "PSS"을 포함한다.
소스 피쳐 레코드(4)는 지도 ID "34"를 갖는 관련 편집 피쳐 클래스 레코드를 갖는다. 소스 피쳐 레코드(4)에 관련된 편집의 명칭은 "새로운 색채"이다. 편집 피쳐 레코드(34)는 기하형태 ID "333"을 갖는 스타일을 식별한다. 이러한 스타일 ID는 스타일 테이블 내의 스타일 레코드 "S1"과 대응한다. 기하형태 ID 및 속성 ID 아래의 "NULL" 값들은 소스 피쳐 레코드(4)에 대하여 기하형태 편집 및 속성 편집이 존재하지 않음을 나타낸다. 따라서, 소스 피쳐 레코드(4)에 대한 출력 레코드 세트는 스타일 테이블로부터의 스타일 "S1", 및 소스 피쳐 테이블로부터의 기하형태 데이터 및 속성 데이터, "SG4" 및 "SA4"를 포함한다. 이와 함께, 소스 피쳐(1, 2, 및 4)에 대한 출력 레코드 세트는 지도 표시를 발생시키기 위해 사용되는 출력 레코드 세트(1200)를 이룬다. 이와 같이, 본 발명의 예시적인 실시예들은 소스 데이터 및 편집 데이터가 연결되도록 하는 한편, 또한 각각의 원본 소스 피쳐 및 관련 편집에 대한 식별(identification)을 유지한다.
출력 레코드 세트는 또한 표시 그룹 테이블(1212)로부터의 표시 그룹 및 표시 그룹 명칭을 포함한다. 이러한 출력 레코드 세트의 필드들은 사용자가 특정 그룹 명칭에 관련된 모든 편집된 피쳐들에 대한 출력 레코드 세트를 검색하도록 한다. 예를 들어, 표시 그룹 명칭 "로컬(local)"은 지도의 로컬 도로에 대하여 수행되었던 모든 편집들을 포함할 수 있다.
몇몇 경우에 있어서, 소스 피쳐 클래스에 대하여 편집 피쳐 테이블이 존재할 수 있지만, 소스 피쳐 클래스에 대하여 관련된 기하형태 편집, 스타일 편집, 또는 속성 편집은 존재하지 않을 수 있다. 예를 들어, 사용자는 피쳐 클래스에 있어서 피쳐들 중 하나를 억제하도록 결정할 수 있다. 사용자가 소스 피쳐 레코드를 억제하는 경우, 관련된 편집 피쳐 레코드가 생성되지만, 어떠한 편집과도 관련되지 않을 수 있으며, 그 대신, 편집 피쳐 레코드 내의 억제 필드는 "1"의 값을 받는다. "1"의 억제값을 갖는 소스 피쳐 레코드들은 표시되지 않는다. 도 12에 있어서, 소스 피쳐 레코드(2, 3, 및 4)는 "0"의 관련 억제 값을 가지므로, 표시된다. 그러나, 소스 피쳐 레코드들은 자신의 관련 편집 피쳐 레코드들에서 "0"을 "1"로 절환함으로써 억제될 수 있다.
사용자는 개별 편집을 표시하고 억제하도록 선택할 수도 있다. 편집 피쳐 테이블의 표현 형식 필드는 어느 표시 파라미터들이 피쳐에 대하여 편집되었는지를 나타내는 값을 저장한다. 사용자는 표현 형식 필드의 값에 기초하여 편집을 억제하도록 선택할 수 있다. 예를 들어, 도 12에 있어서, 값 "1" 및 "2"의 표현 형식을 갖는 편집만이 표시된다. "1" 및 "2"의 표현 값을 갖는 편집 피쳐 레코드들만을 선택하도록 조회가 이루어질 수 있다. 값 "1" 및 "2"의 표현 형식은 변환되지 않은 편집이다. 값 "3"의 표현 형식은 변환된 스타일 편집이며, 값 "1" 및 "2"의 표현 형식만이 표시되므로(즉, 변환되지 않은 편집), 소스 피쳐 레코드(3)와 그의 관련 편집 피쳐 레코드는 출력 레코드 세트의 일부가 아니다.
도 13은 본 발명의 일 실시예에 따른 입력 레코드 세트(1202)로부터 생성되는 출력 레코드 세트(1300)의 또 다른 예를 나타낸다. 도 13에서 볼 수 있듯이, 몇몇 실시예에 있어서, 출력 레코드 세트는 하나의 피쳐에 대하여 하나의 출력 레코드만을 갖는다. 도 13의 출력 레코드 세트는 "3"의 값의 표현 형식을 갖는 편집 피쳐 레코드만을 표시한다. 즉, 출력 레코드 세트는 변환된 스타일 편집만을 포함한다. 소스 피쳐 레코드(3)에 관련되는 편집 피쳐 레코드는 편집 피쳐 레코드(23)이다. 편집의 명칭은 "새로운 위치"이며, 편집 피쳐 클래스 테이블은 소스 편집 레코드에 대한 변환된 스타일 편집 및 기하형태 편집 양측을 식별한다. 기하형태 ID "222"는 기하형태 레코드 "CG2"에 대응하며, 스타일 ID "444"은 변환된 스타일 레코드 "CS2"에 대응한다. 따라서, 소스 피쳐 레코드(3)에 대한 출력 레코드 세트는 기하형태 테이블로부터의 기하형태 레코드 "CG2", 스타일 테이블로부터의 변환된 스타일 레코드 "CS2", 및 소스 피쳐 테이블로부터의 속성 데이터 "SA3"를 포함한다. 전술한 바와 같이, 피쳐를 프리스트로킹하는 것은 변환된 스타일 편집이다. 예를 들어, 심볼이 프리스트로킹되는 경우, 변환된 스타일 데이터 및 변환된 기하형태 데이터가 편집 데이터베이스에 저장된다. 변환된 스타일 데이터는 스타일 테이블에 저장되거나, 도 13에 도시된 바와 같이 변환된 기하형태 데이터는 기하형태 테이블에 저장되거나, 또는 변환된 스타일 및 기하형태 데이터는 함께 그들 자신의 변환된 스타일 편집 테이블에 저장될 수 있다.
도 12 및 도 13은 하나의 피쳐 클래스만에 대한 출력 레코드 세트의 일례이다. 출력 레코드 세트는 또한 복수의 피쳐 클래스들에 대한 복수의 레코드들을 포함할 수 있으며, 이러한 경우, 입력 레코드 세트는 그들의 관련 표시 파라미터 테이블들을 갖는 복수의 편집 피쳐 클래스 테이블들과 복수의 소스 피쳐 클래스 테이블들을 포함하게 된다.
본 발명의 예시적인 실시예들에 있어서, 도 12 및 도 13에 도시된 지도 연결 파이프(1214, 1302)가 전술한 방법을 이용하여 컴퓨터 소프트웨어 제품에 전용 연결 파이프로서 설정될 수 있다. 즉, 지도 연결 파이프는 소스 데이터베이스 내의 피쳐들과 편집 데이터베이스 내의 편집들과의 사이의 관련성의 특정 그룹핑(grouping)에 대하여만 동작할 수 있다. 예를 들어, 도 12의 지도 연결 파이프(1214)는 변환되지 않은 편집(예컨대, 기하형태 편집, 스타일 편집, 및 지도 편집)에 전용된다. 반면, 도 13의 지도 연결 파이프(1302)가 변환된 스타일 편집에 전용된다. 본 발명의 발명자들은 특정 관련성이 용이하게 턴온 및 턴오프될 수 있기 때문에 전용의 지도 연결 파이프를 이용하는 것이 유리하다는 것을 발견하였다.
도 14는 본 발명의 일 실시예에 따른 듀얼 지도 연결 파이프 구조(1400)의 일례를 나타낸다. 제1 지도 연결 파이프(1402)는 변환되지 않은 편집에 전용되며, 제2 지도 연결 파이프(1404)는 변환된 스타일 편집에 전용된다. 지도 연결 파이프 각각이 범례(1406)에서 참조된다. 연결 파이프를 범례에서 클릭-온 및 클릭-오프함으로써, 사용자는 연결 파이프들 내의 관련성의 그룹핑들에 대한 편집 데이터와 소스 데이터의 융합을 디스에이블 시킬 수 있다. 그 결과, 지도 연결 파이프 내의 편집들은 표시되지 않는다(소스 데이터와 편집 데이터와의 사이의 관련성은 계속 고수되더라도). 본 발명의 예시적인 실시예들에서는, 다수의 지도 연결 파이프들을 사용할 수 있다. 예를 들어, 하나 이상의 지도 연결 파이프들이 억제, 기하형태 편집, 스타일 편집, 속성 편집, 또는 변환된 스타일 편집에 대하여 전용될 수 있다.
도 15는 본 발명의 일 실시예에 따른 범례(1500)의 일례를 나타낸다. 범례는 "하천"이라는 이름의 피쳐 클래스를 나타내는 아이콘(1502)을 포함한다. 하천 아이콘을 선택함으로써, 사용자는 피쳐 클래스를 동시에 선택 및 편집할 수가 있다.
도 16은 본 발명의 일 실시예에 따른 또 다른 범례(1600)의 일례를 나타낸다. 사용자가 수개의 기하형태 편집, 스타일 편집, 속성 편집, 및 변환된 스타일 편집을 수행한 후에, 범례는 특정 지도 연결 파이프들을 나타내는 아이콘들을 포함할 수 있다. 도 16에 있어서, 범례는 변환되지 않은 스타일 편집(1602) 및 변환된 스타일 편집(1604)에 전용되는 연결 파이프들에 대한 아이콘들을 포함한다. 사용자는 단순히 각각의 연결 파이프를 클릭-온 및 클릭-오프하여, 편집을 표시하거나 편집을 억제할 수가 있다. 또한, 사용자는 범례의 "표시 순서" 탭(1606)의 연결 파이프들의 표시 순서를 정렬할 수가 있다. 도 16에 있어서, 원본 소스 피쳐들이 변환되지 않은 스타일 편집과 변환된 스타일 편집 위에 표시된다.
개시된 기법의 다양한 실시예들은 적어도 부분적으로 임의의 종래의 컴퓨터 프로그래밍 언어로 구현될 수 있다. 예를 들어, 일부 실시예들은 절차 프로그래밍 언어(예컨대, "C")로 또는 객체 지향 프로그래밍 언어(예컨대, "C++")로 구현될 수가 있다. 본 발명의 다른 실시예들은 미리 프로그래밍된 하드웨어 요소들(예컨대, 주문형 반도체(application specific integrated circuit), FPGA, 및 디지털 신호 프로세서) 또는 기타의 관련 컴포넌트들로서 구현될 수 있다.
본 발명의 다양한 실시예들은 시스템으로서 구현될 수 있다. 지도 데이터를 편집하기 위한 시스템은 지도 소스 데이터의 적어도 하나의 피쳐를 표시하기 위한 표시 장치를 포함한다. 시스템은 또한 표시 장치의 피쳐들을 선택하고 수정하기 위한 사용자 입력 장치를 포함한다. 사용자 입력 장치는 마우스, 조이-스틱, 키보드, 또는 사용자가 지도 데이터를 선택하고 수정하도록 하는 기타 임의의 장치일 수 있다. 표시 장치 및 사용자 입력 장치는 프로세서와 통신한다. 프로세서는 소스 레코드 세트로부터 지도 소스 데이터를 검색하고, 선택된 피쳐에 대응하는 제1 데이터베이스의 소스 데이터를 선택한다. 소스 레코드는 프로세서와 통신하여 로컬 데이터베이스에 저장될 수 있으며, 또는 원격 데이터베이스로부터 컴퓨터 네트워크 상에서 검색될 수도 있다.
피쳐의 수정에 기초하여, 프로세서는 피쳐의 수정을 나타내는 지도 편집 데이터를 생성하고, 피쳐의 수정을 나타내는 지도 편집 데이터를 피쳐에 대한 지도 소스 데이터와 관련시킨다. 또한, 시스템은 프로세서와 통신하는 디지털 메모리를 포함한다. 디지털 메모리는 편집 레코드 세트 내에 관련 지도 편집 데이터를 저장한다. 디지털 메모리는 랜덤 액세스 메모리(random-access memory), 플래시 드라이브, 하드 드라이브, 또는 디스크 드라이브 중 임의의 것일 수 있다.
지도 데이터를 표시하는 시스템은 출력 레코드 세트를 표시하기 위한 표시 장치를 포함한다. 표시 장치는 프로세서와 통신한다. 프로세서는 소스 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고, 편집 레코드 세트로부터 소스 데이터에 관련되는 지도 편집 데이터를 검색한다. 프로세서는 그 후 피쳐에 대한 관련 지도 편집 데이터에 피쳐에 대한 소스 데이터를 융합하여 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성한다.
대체 실시예에 있어서, 개시된 시스템과 방법(예컨대, 전술한 각종 흐름도를 참조)은 컴퓨터 시스템과 사용하기 위한 컴퓨터 프로그램 제품으로서 구현될 수도 있다. 이러한 구현예는 컴퓨터 판독가능 매체(예컨대, 디스켓, CD-ROM, ROM 또는 고정 디스크) 등의 실체적인 매체 상에 고정되거나, 또는 매체를 통해 네트워크에 연결되는 통신 어댑터 등의 모뎀 또는 다른 인터페이스 장치에 의해서 컴퓨터 시스템에 전송가능한 일련의 컴퓨터 인스트럭션들을 포함할 수 있다. 매체는 실체적인 매체(예컨대, 광학 또는 아날로그 통신선)일 수 있다. 일련의 컴퓨터 인스트럭션들은 시스템에 대하여 본 명세서에서 앞에 기재한 기능 중 전부 또는 일부를 구체화할 수 있다.
당업자라면, 이러한 컴퓨터 인스트럭션들은 많은 컴퓨터 아키텍쳐 또는 운영 시스템에서 사용하기 위한 다수의 프로그래밍 언어들로 기입될 수 있다는 것을 이해할 수 있을 것이다. 또한, 이러한 인스트럭션들은 반도체 장치, 자기 장치, 광학 장치, 또는 기타의 메모리 장치 등의 임의의 메모리 장치에 저장될 수 있으며, 광학 기술, 적외선 기술, 마이크로파 기술, 또는 기타의 전송 기술 등의 임의의 통신 기술을 사용하여 전송될 수 있다.
다른 방법 중에서도, 이러한 컴퓨터 프로그램 제품은 동반하는 인쇄된 또는 전자적인 문서(예컨대, 수축 포장 소프트웨어(shrink wrapped software))를 갖는 착탈식 매체로서 분배되거나, 컴퓨터 시스템(예컨대, 시스템 ROM 또는 고정형 디스크)으로 프리로드(preload)되거나, 네트워크(예컨대, 인터넷 또는 월드 와이드 웹)를 통해 서버 또는 전자 게시판으로부터 분배될 수 있다. 물론, 본 발명의 몇몇 실시예들은 소프트웨어(예컨대, 컴퓨터 프로그램 제품)와 하드웨어의 조합으로서 구현될 수도 있다. 본 발명의 또 다른 실시예들은 전체가 하드웨어 또는 전체가 소프트웨어로서 구현된다.
전술한 본 발명의 실시예들은 단지 예시적인 것을 의도한 것으로서, 많은 변형예와 변경예가 당업자에게 명백할 것이다. 본 발명의 방법과 시스템은 지도 데이터에 적용되는 것으로서 개시되어 있으나, 본 발명의 방법과 시스템은 다른 유형의 데이터에 적용될 수 있다. 예를 들어, 본 발명의 방법과 시스템은 컴퓨터 활용 설계 데이터, 컴퓨터 활용 제조 데이터, 스프레드시트 데이터, 및 워드 프로세싱 데이터에 적용될 수가 있다. 모든 이러한 변형예와 변경예들은 첨부 청구항들 중 임의의 것에 의해 정의된 바와 같이 본 발명의 범주 내에 있는 것으로 의도된다.

Claims (25)

  1. 지도 데이터(cartographic data)를 편집하기 위한 컴퓨터 기반의 방법으로서,
    컴퓨터 시스템에서, 제1 레코드 세트로부터 지도 소스 데이터를 검색하여 상기 소스 데이터의 적어도 하나의 피쳐(feature)를 표시 장치에 표시하는 단계;
    상기 표시 장치에서의 피쳐를 선택하는 사용자에 의한 컴퓨터 입력에 기초하여, 상기 컴퓨터 시스템에서, 상기 선택된 피쳐에 대응하는 지도 소스 데이터를 식별하는 단계;
    상기 표시 장치에서의 상기 선택된 피쳐를 수정하는 상기 사용자에 의한 컴퓨터 입력에 응답하여, 상기 검색된 지도 소스 데이터를 수정하지 않고 상기 피쳐의 사용자 수정을 나타내는 지도 편집 데이터를 생성하는 단계;
    상기 피쳐의 상기 사용자 수정을 나타내는 상기 지도 편집 데이터를 상기 피쳐에 대한 수정되지 않은 지도 소스 데이터와 관련시키는(associating) 단계;
    상기 관련된 지도 편집 데이터를 제2 레코드 세트 내에 저장하는 단계; 및
    상기 컴퓨터 시스템에서, 상기 수정되지 않은 지도 소스 데이터를 수정하지 않고, 상기 수정되지 않은 지도 소스 데이터 및 상기 관련된 지도 편집 데이터를 병합함으로써 상기 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성하는 단계
    를 포함하는 컴퓨터 기반의 방법.
  2. 제1항에 있어서,
    상기 지도 편집 데이터를 상기 피쳐에 대한 상기 수정되지 않은 지도 소스 데이터와 관련시키는 단계는, 상기 소스 데이터에 대한 식별자와 일치(match)하는 식별자를 편집 데이터에 할당하는 단계를 포함하는 컴퓨터 기반의 방법.
  3. 지도 데이터를 표시하기 위한 컴퓨터 기반의 방법으로서,
    컴퓨터 시스템에서, 제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하는 단계;
    상기 컴퓨터 시스템에서, 제2 레코드 세트로부터 상기 소스 데이터에 관련되는 지도 편집 데이터를 검색하는 단계;
    상기 관련된 지도 편집 데이터를 상기 피쳐에 대한 지도 소스 데이터와 일치시키는 단계; 및
    상기 컴퓨터 시스템에서, 출력 레코드 세트를 생성하는 단계
    를 포함하며,
    상기 피쳐에 대한 지도 소스 데이터가 상기 피쳐에 대한 지도 편집 데이터와 일치하는 경우, 상기 피쳐의 적어도 하나의 표시 파라미터에 대한 지도 편집 데이터를 사용하고, 상기 출력 레코드 세트로부터 상기 피쳐의 적어도 하나의 표시 파라미터에 대한 지도 소스 데이터를 생략하며, 상기 피쳐들 중 하나에 대한 지도 소스 데이터가 상기 지도 편집 데이터와 일치하지 않는 경우, 상기 피쳐들 중 하나에 대한 지도 소스 데이터만을 사용하고,
    상기 출력 레코드 세트는 상기 지도 소스 데이터에 대한 수정 없이 생성되는, 컴퓨터 기반의 방법.
  4. 제1항 또는 제3항에 있어서,
    상기 지도 편집 데이터는 기하형태 데이터(geometry data), 스타일 데이터(style data), 및 속성 데이터(attribute data) 중 적어도 하나인 컴퓨터 기반의 방법.
  5. 제1항 또는 제3항에 있어서,
    상기 지도 편집 데이터는 피쳐 인스턴스 편집(feature instance edit)을 나타내는 컴퓨터 기반의 방법.
  6. 제1항 또는 제3항에 있어서,
    상기 지도 소스 데이터는 물리적인 기하형태 위치를 나타내는 컴퓨터 기반의 방법.
  7. 제1항 또는 제3항에 있어서,
    상기 지도 소스 데이터 중 적어도 일부는 판독 전용 데이터인 컴퓨터 기반의 방법.
  8. 제3항에 있어서,
    상기 피쳐에 대한 지도 소스 데이터 및 상기 피쳐에 대한 관련된 지도 편집 데이터는 일치하는 식별자를 갖는 컴퓨터 기반의 방법.
  9. 삭제
  10. 제3항에 있어서,
    상기 피쳐에 대한 상기 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 관련된 지도 편집 데이터가 상기 피쳐의 모든 표시 파라미터에 대해 존재하지 않는 경우, 상기 피쳐에 대한 상기 지도 소스 데이터 및 상기 관련된 지도 편집 데이터 양측에 기초하여 상기 피쳐에 대한 상기 출력 레코드 세트를 생성하는 컴퓨터 기반의 방법.
  11. 제3항에 있어서,
    상기 피쳐에 대한 상기 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 관련된 지도 편집 데이터가 상기 피쳐의 모든 표시 파라미터에 대해 존재하는 경우, 상기 피쳐에 대한 상기 관련된 지도 편집 데이터에만 기초하여 상기 피쳐에 대한 상기 출력 레코드 세트를 생성하는 컴퓨터 기반의 방법.
  12. 제1항 또는 제3항에 있어서,
    상기 제1 레코드 세트는 제1 데이터베이스에 저장되며, 상기 제2 레코드 세트는 제2 데이터베이스에 저장되는 컴퓨터 기반의 방법.
  13. 제3항에 있어서,
    상기 표시 장치에서의 상기 피쳐의 사용자 선택에 기초하여, 상기 컴퓨터 시스템에서, 상기 선택된 피쳐에 대응하는 소스 데이터를 선택하는 단계;
    상기 표시 장치에서의 상기 피쳐의 사용자 수정에 기초하여, 상기 피쳐의 사용자 수정을 나타내는 지도 편집 데이터를 생성하는 단계;
    상기 피쳐의 사용자 수정을 나타내는 상기 지도 편집 데이터를 상기 피쳐에 대한 상기 지도 소스 데이터와 관련시키는 단계; 및
    상기 관련된 지도 편집 데이터를 상기 제2 레코드 세트 내에 저장하는 단계
    를 더 포함하는 컴퓨터 기반의 방법.
  14. 지도 데이터를 편집하기 위한 시스템으로서,
    지도 소스 데이터의 적어도 하나의 피쳐를 표시하기 위한 표시 장치;
    상기 표시 장치에서 피쳐들을 선택하고 수정하기 위한 사용자 입력 장치;
    제1 레코드 세트로부터 지도 소스 데이터를 검색하여, 선택된 피쳐에 대응하는 지도 소스 데이터를 선택하기 위한 프로세서 - 상기 프로세서는, 상기 선택된 피쳐의 상기 사용자 입력 장치를 통한 사용자에 의한 수정에 응답하여, 상기 검색된 지도 소스 데이터를 수정하지 않고 상기 피쳐의 수정을 나타내는 지도 편집 데이터를 생성하고, 상기 피쳐의 수정을 나타내는 지도 편집 데이터를 상기 피쳐에 대한 수정되지 않은 지도 소스 데이터와 관련시키며, 또한 상기 프로세서는 상기 수정되지 않은 지도 소스 데이터를 수정하지 않고 상기 수정되지 않은 지도 소스 데이터 및 상기 피쳐에 대한 상기 관련된 지도 편집 데이터를 병합함으로써 상기 표시 장치 상의 표시를 위한 출력 레코드 세트를 생성함 - ; 및
    상기 관련된 지도 편집 데이터를 제2 레코드 세트 내에 저장하기 위한 디지털 메모리
    를 포함하는 시스템.
  15. 제14항에 있어서,
    상기 프로세서는, 상기 소스 데이터에 대한 식별자와 일치하는 식별자를 편집 데이터에 할당함으로써 상기 지도 편집 데이터를 상기 피쳐에 대한 상기 지도 소스 데이터와 관련시키는 시스템.
  16. 지도 데이터를 표시하기 위한 시스템으로서,
    출력 레코드 세트를 표시하기 위한 표시 장치; 및
    제1 레코드 세트로부터 피쳐에 대한 지도 소스 데이터를 검색하고, 제2 레코드 세트로부터 상기 소스 데이터에 관련된 지도 편집 데이터를 검색하기 위한 프로세서
    를 포함하며,
    상기 프로세서는, 관련된 지도 편집 데이터를 상기 지도 소스 데이터의 대응하는 피쳐들과 일치시키도록 구성되고,
    상기 프로세서는 상기 출력 레코드 세트를 생성하도록 구성되며,
    지도 소스 데이터가 상기 피쳐들 중 적어도 하나에 대한 지도 편집 데이터와 일치하는 경우, 상기 프로세서는 상기 적어도 하나의 피쳐의 적어도 하나의 표시 파라미터에 대한 지도 편집 데이터를 사용하고, 상기 출력 레코드 세트로부터 상기 적어도 하나의 피쳐의 상기 적어도 하나의 표시 파라미터에 대한 지도 소스 데이터를 생략하며, 상기 피쳐들 중 하나에 대한 지도 소스 데이터가 지도 편집 데이터와 일치하지 않는 경우, 상기 프로세서는 상기 피쳐들 중 하나에 대한 지도 소스 데이터만을 사용하고,
    상기 프로세서는 상기 지도 소스 데이터에 대한 수정 없이 상기 출력 레코드 세트를 생성하도록 구성되는 시스템.
  17. 제14항 또는 제16항에 있어서,
    상기 지도 편집 데이터는 기하형태 데이터, 스타일 데이터, 및 속성 데이터 중 적어도 하나인 시스템.
  18. 제14항 또는 제16항에 있어서,
    상기 지도 편집 데이터는 피쳐 인스턴스 편집을 나타내는 시스템.
  19. 제14항 또는 제16항에 있어서,
    상기 지도 소스 데이터의 적어도 일부는 판독 전용 데이터인 시스템.
  20. 제16항에 있어서,
    상기 피쳐에 대한 상기 지도 소스 데이터 및 상기 피쳐에 대한 상기 관련된 지도 편집 데이터는 일치하는 식별자를 갖는 시스템.
  21. 삭제
  22. 제16항에 있어서,
    상기 프로세서는, 피쳐에 대한 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 관련된 지도 편집 데이터가 상기 피쳐의 모든 표시 파라미터에 대해 존재하지 않는 경우, 상기 피쳐에 대한 상기 지도 소스 데이터 및 상기 관련된 지도 편집 데이터 양측에 기초하여 상기 피쳐에 대한 상기 출력 레코드 세트를 생성하는 시스템.
  23. 제16항에 있어서,
    상기 프로세서는, 피쳐에 대한 소스 데이터가 관련된 지도 편집 데이터와 일치하고, 관련된 지도 편집 데이터가 상기 피쳐의 모든 표시 파라미터에 대해 존재하는 경우, 상기 피쳐에 대한 상기 관련된 지도 편집 데이터에만 기초하여 상기 피쳐에 대한 상기 출력 레코드 세트를 생성하는 시스템.
  24. 제14항 또는 제16항에 있어서,
    상기 제1 레코드 세트는 제1 데이터베이스에 저장되고, 상기 제2 레코드 세트는 제2 데이터베이스에 저장되는 시스템.
  25. 제16항에 있어서,
    상기 표시 장치에서 피쳐들을 선택하고 수정하기 위한 사용자 입력 장치 - 상기 프로세서는, 상기 표시 장치에서의 상기 피쳐의 사용자 선택에 기초하여, 상기 선택된 피쳐에 대응하는 소스 데이터를 선택하고, 상기 프로세서는 상기 피쳐의 수정에 기초하여, 상기 피쳐의 수정을 나타내는 지도 편집 데이터를 생성하여 상기 피쳐의 수정을 나타내는 지도 편집 데이터를 상기 피쳐에 대한 지도 소스 데이터와 관련시킴 -; 및
    상기 관련된 지도 편집 데이터를 상기 제2 레코드 세트 내에 저장하기 위한 디지털 메모리를 더 포함하는 시스템.
KR1020107012978A 2007-12-13 2008-12-12 지도 데이터를 편집하는 시스템 및 방법 KR101254380B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US1363507P 2007-12-13 2007-12-13
US61/013,635 2007-12-13
PCT/US2008/086680 WO2009076636A1 (en) 2007-12-13 2008-12-12 System and method for editing cartographic data

Publications (2)

Publication Number Publication Date
KR20100096166A KR20100096166A (ko) 2010-09-01
KR101254380B1 true KR101254380B1 (ko) 2013-04-12

Family

ID=40416897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012978A KR101254380B1 (ko) 2007-12-13 2008-12-12 지도 데이터를 편집하는 시스템 및 방법

Country Status (9)

Country Link
US (1) US8386426B2 (ko)
EP (1) EP2220574B1 (ko)
KR (1) KR101254380B1 (ko)
CN (1) CN101933015B (ko)
AU (1) AU2008334980B2 (ko)
BR (1) BRPI0820859A2 (ko)
CA (1) CA2706710C (ko)
WO (1) WO2009076636A1 (ko)
ZA (1) ZA201004076B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681176B1 (en) * 2011-09-20 2014-03-25 Google Inc. Rendering a map using style identifiers
US8928691B2 (en) 2011-09-26 2015-01-06 Google Inc. Rendering map images using modifications of non-raster map data
US9619484B2 (en) * 2013-02-18 2017-04-11 Here Global B.V. Method and system for determining geographic data to display
US9396508B2 (en) 2013-05-15 2016-07-19 Google Inc. Use of map data difference tiles to iteratively provide map data to a client device
CN109213793A (zh) * 2018-08-07 2019-01-15 泾县麦蓝网络技术服务有限公司 一种流式数据处理方法和系统
CN109165119B (zh) * 2018-08-07 2021-05-14 杭州金荔枝科技有限公司 一种电子商务数据处理方法和系统
CN112883141B (zh) * 2021-04-29 2022-02-08 腾讯科技(深圳)有限公司 电子地图的数据处理方法、装置、设备及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343301B1 (en) * 1999-02-24 2002-01-29 Navigation Technologies Corp. Method and system for collecting data for updating a geographic database

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197120A (en) 1986-10-30 1993-03-23 Synthesis, Inc. Methods and systems for generating parametric designs
US5020122A (en) 1987-07-20 1991-05-28 Litton Industrial Automation Systems, Inc. Automatic document image revision
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
GB9516762D0 (en) * 1995-08-16 1995-10-18 Phelan Sean P Computer system for identifying local resources
JP3317211B2 (ja) * 1997-09-24 2002-08-26 松下電器産業株式会社 地図編集装置
JP2001075967A (ja) * 1999-08-31 2001-03-23 Denso Corp 地図データの更新用情報作成方法及び地図データの差分更新システム
US7103854B2 (en) * 2002-06-27 2006-09-05 Tele Atlas North America, Inc. System and method for associating text and graphical views of map information
US7086028B1 (en) 2003-04-09 2006-08-01 Autodesk, Inc. Simplified generation of design change information on a drawing in a computer aided design (CAD) environment
JP2005043966A (ja) * 2003-07-22 2005-02-17 Pioneer Electronic Corp データ検索装置及び方法、ナビゲーション装置及び方法、データ検索用のデータセット並びにコンピュータプログラム
US8207966B2 (en) * 2004-05-26 2012-06-26 Sony Online Entertainment Llc Terrain editor tool for rule-based procedural terrain generation
EP1605369A1 (en) * 2004-06-07 2005-12-14 ArchiveOnline AB Document database
US20070210937A1 (en) * 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
US8990288B2 (en) * 2006-09-29 2015-03-24 Decarta Inc. Dynamically configured rendering of digital maps
JP5308621B2 (ja) * 2006-10-05 2013-10-09 日立オートモティブシステムズ株式会社 地図データ配信システム
WO2008046108A2 (en) * 2006-10-13 2008-04-17 Marshall & Associates System and method for detecting and updating geographical information dataset versions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343301B1 (en) * 1999-02-24 2002-01-29 Navigation Technologies Corp. Method and system for collecting data for updating a geographic database

Also Published As

Publication number Publication date
ZA201004076B (en) 2011-05-25
EP2220574B1 (en) 2018-06-13
CN101933015B (zh) 2017-03-08
CA2706710C (en) 2016-07-19
CA2706710A1 (en) 2009-06-18
CN101933015A (zh) 2010-12-29
WO2009076636A1 (en) 2009-06-18
US8386426B2 (en) 2013-02-26
US20090157718A1 (en) 2009-06-18
AU2008334980A1 (en) 2009-06-18
BRPI0820859A2 (pt) 2015-06-16
EP2220574A1 (en) 2010-08-25
AU2008334980B2 (en) 2013-02-14
KR20100096166A (ko) 2010-09-01
WO2009076636A4 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
KR101254380B1 (ko) 지도 데이터를 편집하는 시스템 및 방법
US20090013273A1 (en) System and method for using layers and grids to access, view, edit and store digital map data
Tucci et al. Using spatial analysis and geovisualization to reveal urban changes: Milan, Italy, 1737–2005
US20090006480A1 (en) System and method for providing efficient access to digital map data
CN108182272B (zh) 基于平均面积理念制作中国环境风险图的方法
West Jr Designing end-user geographic information systems
WO2009006427A1 (en) System and method for accessing, viewing, editing and converting digital map information
Cadkin Understanding dynamic segmentation
Kunz et al. Multiscale cartographic visualization of harmonized datasets
JP2000132093A (ja) 道路情報管理装置およびその方法
US20100088014A1 (en) Computer process and program product for generating an archaeological map which can be consulted by means of navigation
US20090015595A1 (en) System and method for converting digital map information using displayable map information as an intermediary
CN115292434B (zh) 一种基于地图引擎的gis路线可视化交互方法
JP3656233B2 (ja) 地図表示システム及び地図表示方法並びに地図表示プログラム
CN108460071B (zh) 一种地形变化情况通报方法
Wu et al. Research on National 1: 50000 topographic cartography data organization
JPH08166950A (ja) 文書編集装置
KR20010037463A (ko) 지리정보 객체의 레이어 생성 방법
Zhao et al. The Application of AutoCAD Software in Forestry
JP2001117486A (ja) 地図情報システム
Graham Integrating large volume data services with Google Earth mapping
Bakker et al. Top10nl, a new object-oriented topographical database in gml
Peterson et al. cloud Mapping: Google Fusion tables
Harley ArcSDE Data Preparation Techniques Enhance Drawing Performance
Sparenborg Dynamic User Interface Creation with ArcObjects Based on DatabaseConstraints

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: 20160325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 7