KR102525605B1 - 도식적 맵을 생성하기 위한 방법 및 시스템 - Google Patents

도식적 맵을 생성하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102525605B1
KR102525605B1 KR1020210008485A KR20210008485A KR102525605B1 KR 102525605 B1 KR102525605 B1 KR 102525605B1 KR 1020210008485 A KR1020210008485 A KR 1020210008485A KR 20210008485 A KR20210008485 A KR 20210008485A KR 102525605 B1 KR102525605 B1 KR 102525605B1
Authority
KR
South Korea
Prior art keywords
traffic
information
map
route
simplified
Prior art date
Application number
KR1020210008485A
Other languages
English (en)
Other versions
KR20210106893A (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 KR20210106893A publication Critical patent/KR20210106893A/ko
Application granted granted Critical
Publication of KR102525605B1 publication Critical patent/KR102525605B1/ko

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • G06T3/047
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/008Touring maps or guides to public transport networks
    • 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/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Abstract

복수의 노드를 각각 연결하는 하나 이상의 노선을 포함하는 초기 네트워크 레이아웃으로부터 단순화된 네트워크 레이아웃을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 자동적으로 생성하기 위한 방법. 노드의 지리적 위치를 나타내는 정점 및 노드 사이의 연결을 나타내는 에지를 나타내는 그래프 정보가 제공된다. 노드는 단순화된 네트워크 레이아웃의 가독성에 기초하여 목적 함수를 최적화하도록 재배치된다. 노드 및 에지는 복수의 노드를 정렬하고 단순화된 k 선형 세그먼트를 사용하여 정렬된 노드를 연결하도록 보간을 사용하여 이산화되는데, 여기서 k 선형 세그먼트는, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나와 평행하고, k는 2보다 더 크거나 또는 동일하다. 디스플레이를 위해 단순화된 네트워크 레이아웃이 제공된다.

Description

도식적 맵을 생성하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING A SCHEMATIC MAP}
관련 출원에 대한 우선권 주장 및 참조
본 출원은 2020년 2월 21일자로 출원된 미국 특허 가출원 일련 번호 제62/980,009호의 우선권을 주장하는데, 이 가출원은 참조에 의해 그 전체가 본원에 통합된다.
분야
본 개시는 정보 제시 및 시각화를 위한 방법 및 시스템에 관한 것으로, 더욱 상세하게는, 도식적인 교통 네트워크 맵(transportation network map)(도식적인 노선도(schematic transit map))과 같은 도식적 맵을 실시간으로 생성하는 것에 관한 것이다.
대규모 교통 네트워크를 시각화하기 위해 도식적인 노선도가 주로 사용된다. 그러한 도식적 맵은 판독 가능하도록 그리고 여행자가 교통 네트워크를 내비게이팅하는(navigate) 데 도움이 되도록 설계된다. 그러나, 이들 맵은, 생성하기 위해서는, 시간 및 기술을 비롯한, 상당한 양의 리소스를 필요로 하고, 따라서, 통상적으로 전문 설계 스튜디오에서 생성된다.
도식적인 노선도를 생성하기 위한 몇몇 자동화된 방법이 존재하지만, 그러한 방법은 느리고, 대도시에 대한 교통 네트워크와 같은 대규모 교통 네트워크에 대해 실시간으로 작동하지 않는다.
품질(예를 들면, 가독성(readability)) 및 생성 속도의 균형을 이루는 도식적인 노선도와 같은 도식적 맵을 자동적으로 생성하기 위한 방법 및 시스템을 제공하는 것이 바람직하다.
또한, 심지어 대규모(예를 들면, 100 개 이상의 교통 정류장(transport stop)) 교통 시스템의 경우에도, 도식적인 노선도를 실시간으로 생성하기 위한 방법 및 시스템을 제공하는 것이 바람직하다.
또한, 예를 들면, 교통 네트워크의 현재 상태를 반영하는 개인 맞춤된 맵을 제공하기 위해, 도식적 맵의 수정을 위한 방법 및 시스템을 실시간으로 제공하는 것이 바람직하다.
또한, 도식적 맵을 처음부터 다시 만들 필요 없이 최신의 도식적 맵을 제공하기 위해 유저가 경로 스케줄 정보(route schedule information)를 실시간으로 편집하는 것을 허용하기 위한 방법 및 시스템을 제공하는 것이 바람직하다.
본 발명의 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크의 도식적 맵을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로 자동적으로 생성하기 위한 방법을 제공한다. 교통 네트워크는 복수의 교통 정류장을 각각 연결하는 하나 이상의 교통 노선(transportation line)을 포함한다. 예시적인 방법에서, 복수의 교통 정류장의 지리적 위치를 나타내는 정점(vertex) 및 교통 정류장 사이의 연결을 나타내는 에지를 나타내는 그래프 정보가 제공되는데, 여기서 교통 노선의 각각은 복수의 연결된 에지를 포함한다. 프로세서는 교통 정류장 중 하나 이상을 재배치하기 위해 사용되는데, 여기서 재배치하는 것은 도식적 맵의 가독성에 기초하여 목적 함수(objective function)를 최적화하기 위해 하나 이상의 교통 정류장에 대한 새로운 위치를 결정하는 것을 포함한다. 하나 이상의 교통 노선 상에서의 연결은, 도식적 맵을 생성하기 위해, 복수의 교통 정류장을 정렬하고 정렬된 교통 정류장을 단순화된 k 선형 세그먼트(k-linear segment)를 사용하여, 바람직하게는 단순화된 k 선형 세그먼트만을 사용하여 교통 노선을 따라 연결하도록 보간(interpolation)을 사용하여 이산화되는데, k 선형 세그먼트의 각각은, 그 각도가 180/k(k는 2보다 더 크거나 또는 같음) 도의 배수인 k 개의 등거리 방위 중 하나와 평행하다. 생성된 도식적 맵은 디스플레이를 위해 제공된다.
본 발명의 추가적인 예시적 실시형태는, 다른 것들 중에서도, 초기 네트워크 레이아웃으로부터, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 단순화된 네트워크 레이아웃을 자동적으로 생성하기 위한 방법을 제공하는데, 초기 네트워크 레이아웃은 복수의 노드를 각각 연결하는 하나 이상의 노선을 포함한다. 예시적인 방법에서, 초기 네트워크 레이아웃에서의 복수의 노드의 지리적 위치를 나타내는 복수의 정점 및 노드 사이의 연결을 나타내는 에지를 나타내는 초기 네트워크 레이아웃에 대한 그래프 정보가 제공되는데, 노선의 각각은 복수의 연결된 에지를 포함한다. 프로세서는 노드 중 하나 이상을 재배치하기 위해 사용되는데, 여기서 재배치는 단순화된 네트워크 레이아웃의 가독성에 기초하여 목적 함수를 최적화하기 위해 하나 이상의 노드에 대한 새로운 위치를 결정하는 것을 포함한다. 노드 및 에지는, 단순화된 네트워크 레이아웃을 생성하기 위해, 복수의 노드를 정렬하고 단순화된 k 선형 세그먼트를 사용하여 정렬된 노드를 연결하도록 보간을 사용하여 이산화되는데, 여기서 k 선형 세그먼트의 각각은, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나와 평행하고, k는 2보다 더 크거나 또는 동일하다. 디스플레이를 위해 단순화된 네트워크 레이아웃이 제공된다.
본 발명의 다른 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크에 대한 동적인 맵을, 디스플레이 상에서의 디스플레이를 위해, 생성하기 위한 프로세서 및 메모리를 포함하는 시스템을 제공하는데, 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하고, 동적 맵은, 시간 인스턴스에서의 교통 노선을 따르는 하나 이상의 경로를 통한 교통 네트워크의 교통 정류장의 액세스 가능성을 실시간으로 나타낸다.
본 발명의 다른 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크의 동적 맵을, 디스플레이 상에서의 디스플레이를 위해, 생성하기 위한 방법을 제공한다. 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하는데, 동적 맵은 시간 인스턴스에서의 교통 노선을 따르는 하나 이상의 경로를 통한 교통 네트워크의 교통 정류장의 액세스 가능성 실시간으로 나타낸다.
예시적인 방법에서, 결합된 스케줄 정보가 수신되고, 결합된 스케줄 정보로부터 방향성 그래프 정보(directed graph information)가 생성된다. 결합된 스케줄 정보는 경로를 따르는 복수의 트립(trip)의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간(stop time)을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함하는데, 여기서 결합된 스케줄 정보는 교통 정류장 및 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킨다. 생성된 방향성 그래프 정보로부터 단순화된 맵이 실시간으로 생성되는데, 단순화된 맵은 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함한다. 동적 맵은, 단순화된 교통 노선 및 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 단순화된 맵으로부터, 실시간으로, 디스플레이 상에서의 디스플레이를 위해 렌더링된다. 동적 맵은 시간 인스턴스에 기초하여 단순화된 교통 노선 및/또는 교통 정류장의 시각화를 변경하는 것에 의해 시간 인스턴스에서의 교통 정류장의 액세스 가능성 나타낸다.
보완적인 양태에 따르면, 본 개시는 앞서 설명되는 양태에 따른 도식적 맵 생성 방법을 구현하기 위한 코드 명령어를 포함하는 컴퓨터 프로그램 제품; 및 앞서 설명되는 양태에 따른 도식적 맵 생성 방법을 구현하기 위한 코드 명령어를 포함하는 컴퓨터 프로그램 제품이 저장되는 비일시적 컴퓨터 판독 가능 매체를 제공한다.
특허 또는 출원 파일은 컬러로 제작되는 적어도 하나의 도면을 포함한다. 컬러 도면(들)을 갖는 이 특허 또는 특허 출원 공보의 사본은 요청 및 필요한 비용의 지불시 특허청(Office)에 의해 제공될 것이다.
본 개시는 상세한 설명 및 첨부의 도면으로부터 더욱 완전하게 이해되게 될 것인데, 여기서:
도 1은 본 발명의 실시형태에 따른 도식적 맵 생성 방법을 구현하기 위한 예시적인 시스템을 도시한다;
도 2는 본 개시에 따른 도식적 맵 생성 방법을 구현하기 위한 방법이 수행될 수도 있는 시스템 아키텍쳐의 예를 예시한다;
도 3은 실시간으로 교통 네트워크에 대한 도식적 맵을 자동적으로 생성하기 위한 예시적인 방법의 단계를 도시하는 흐름도이다;
도 4a는 초기 교통 네트워크 맵을 도시한다;
도 4b는 도 4a에서 도시되는 초기 교통 네트워크 맵으로부터 예시적인 방법을 사용하여 생성되는 도식적인 또는 단순화된 교통 네트워크 맵을 도시한다;
도 5a는 옥티리니어 레이아웃(octilinear layout)을 생성하기 위한 예시적인 방법에 대한 의사 코드를 도시한다;
도 5b는 경유 정류장(transit stop) 사이에서 하나 이상의 중간 지점의 삽입을 포함하는 옥티리니어 레이아웃을 제공하기 위한 예시적인 방법을 도시한다;
도 6a 내지 도 6d는 도식적 맵을 생성하기 위한 유저 인터페이스의 예시적인 시퀀스의 실시형태를 도시한다;
도 7은 동적 대중 교통 맵(dynamic public transportation map)을 생성하기 위한 시스템에 대한 예시적인 시스템 아키텍쳐를 도시한다;
도 8은 스케줄 편집기 모듈(schedule editor module)에 의해 스케줄 정보를 편집하기 위한 유저 인터페이스의 한 실시형태이다;
도 9a는 특히 그르노블 트램 시스템(Grenoble tram system)에 대한 예시적인 교통 네트워크의 초기 토폴로지를 도시한다;
도 9b는 예시적인 교통 네트워크의 초기 토폴로지로부터 예시적인 방법에 따라 생성되는 단순화된 맵을 도시한다;
도 9c는 도 9b에서 도시되는 시각화를 변경하는 것에 의해 제공되는 평일 밤(오전 1시 - 오전 2 시) 동안 그르노블(Grenoble) 트램 네트워크에 대해 유도되는 예시적인 표현을 도시한다; 그리고
도 10은 방향성 그래프 정보를 생성하기 위해 사용할 수 있는 예시적인 트립의 쌍을 도시한다.
도면에서, 참조 번호는 유사한 및/또는 동일한 엘리먼트를 식별하기 위해 재사용될 수도 있다.
대도시 지역과 같은 그러나 이들로 제한되지는 않는 지리적 영역에서, 교통 네트워크(예를 들면, 버스, 기차, 택시, 보트, 지하철, 셔틀, 항공기, 등등)는 매우 크고 복잡할 수 있다. 이러한 복잡성은, 스케줄링된 이벤트(예를 들면, 특정한 시간, 요일, 주, 등등 동안의 설정된 스케줄) 및/또는 스케줄링되지 않은 이벤트(예를 들면, 건설, 수리, 교통, 네트워크 관련 사건, 등등) 중 어느 하나에 기초하여, 계속 변화하는 네트워크의 상태에 의해 증폭된다. 따라서, 네트워크의 유저 또는 잠재적인 유저에게 교통 네트워크의 포괄적이고(또는 적어도 필요한 만큼 포괄적이고), 최신이며, 직관적인 맵(교통 맵 또는 노선도)를 효과적으로 제공하는 것은 어려울 수 있다. 하나의 비제한적인 예로서, 서울과 같은 대도시에서, 버스 네트워크의 복잡성에 적어도 부분적으로 기인하여, 포괄적이고 직관적인 대도시 버스 네트워크 맵을 신속하게 제공하는 것은 어렵다.
도식적인 노선도(도식적 맵)는 대규모 교통 네트워크를 시각화하기 위해 사용될 수 있다. 그러한 도식적 맵은, 판독 가능하고 여행자가 교통 네트워크를 내비게이팅하는 데 도움이 되도록 설계된다. 그러나, 효과적인 도식적 맵은 생성하기 위해서는 일반적으로 상당한 양의 시간 및 기술을 필요로 하고, 따라서, 그들은 통상적으로 전문 설계 스튜디오에 의해 생성된다. 예를 들면, 그것의 설계자에 따르면, 파리 RATP 시스템의 새로운 버전은 수 년의 작업 및 수백 번의 반복을 필요로 하였다. 이들 도식적인 표현을 생성하고 수정하는 것은 매우 비용이 많이 들고 시간 소모적이다.
도식화(schematization) 및 단순화는, 예시적인 예로서, 정보 시각화, 그래프 이론, 및 지도 제작법(cartography)에서 활발한 연구 분야이다. 맵 및 네트워크 도식화는, 수많은 애플리케이션(예를 들면, 내비게이션, 교통, 컴퓨터 그래픽, 멀티미디어, 등등)에 대한 그들의 공지된 관련성에 기인하여 활성 영역이다. 한 가지 특정한 분기는, 최근 몇 년 동안 큰 주목을 받았던 자동 교통 맵 생성이다. 몇몇 예시적인 맵 생성 방법은, [M.
Figure 112021008021435-pat00001
, "A survey on automated metro map layout methods," in Schematic Mapping Workshop, Essex, UK, 2014]에서 개시되는데, 이 문헌은 참조에 의해 본원에 통합된다.
도식화 문제를 해결하기 위한 한 가지 간단한 방식은, 참조에 의해 본원에 통합되는 [T. Dwyer, N. Hurst and D. Merrick, "A fast and simple heuristic for metro map path simplification," 2008]에서 제안되는 바와 같이, 교통 네트워크의 개개의 노선을 단순화하는 것이다. 이 방법이 개개의 노선에 대해 잘 작동하고 빠르고 확장 가능하지만, 노선 사이의 교차점이 유지되지 않기 때문에 네트워크 토폴로지의 전역적 일관성을 보장하지 않는다.
참조에 의해 본원에 통합되는 [M.
Figure 112021008021435-pat00002
and A. Wolff, "Drawing and labeling high-quality metro maps by Mixed-Integer Programming," IEEE Transactions on, p. 626-641, 2011]에서, 혼합 정수 프로그래밍(Mixed Integer Programming; MIP) 접근법이 개시된다. 이 접근법은, 솔루션에 대해 몇몇 엄격한 제약을 부과하면서 레이아웃의 "우수성(niceness)"(몇몇 설계 규칙을 수학적으로 변환하는 것에 의해 부과됨)을 최적화하는, 아주 양호한 시각적 결과를 제공한다. 그러나, 이 접근법은 매우 느리고 대규모 네트워크 대해서는 본질적으로 다루기 어렵게 된다.
문제 취급성을 개선하기 위해, 레이아웃 문제를 몇몇 후속하는 제곱 에너지 항 최적화 문제(subsequent squared energy terms optimization problems)로서 분해하는 것이 [Y.-S. Wang and M.-T. Chi, "Focus+Context Metro Maps," IEEE Transactions on Visualization and Computer Graphics, p. 2528-2535, 2011]에서; 그리고 [Y.-S. Wang and M.-T. Chi, "Interactive Metro Map Editing," IEEE Transactions on Visualization and Computer Graphics, pp. 1115-1156, 2016]에서 제안되었다. 이 최적화 문제는, 수렴을 보장하지 않는 컨쥬게이트 그래디언트 방법(conjugate gradient method)을 사용하여 해결되지만, 그러나 그것은 MIP보다 훨씬 더 간단하다. 결과는 예시적인 MIP 솔루션에서 만큼 시각적으로 만족을 주지는 않지만, 그러나 그 방법은 중간 사이즈의 네트워크에 대해 실시간으로 작동한다. 이 분해 방법은 중간 사이즈의 사전 프로세싱된 네트워크의 상호 작용식 편집을 가능하게 하지만, 그러나 그것은 대도시(예를 들면, 파리, 도쿄, 서울)와 같은 대형 네트워크를 핸들링할 때 문제가 발생하기 시작한다.
본 발명의 예시적인 실시형태는 도식적인 노선도를 자동적으로 생성하기 위한, 및/또는 상호 작용식으로 편집하기 위한 방법을 제공한다. 그러한 방법은, 심지어, 더 큰 교통 네트워크(예를 들면, 100-1000 개의 정류장)를 시각화하는 데에도 적용 가능할 수 있지만, 그들은 그러한 네트워크에서의 사용으로 제한되지는 않는다. 예시적인 방법은 실시간 및 대형 네트워크 구성을 위한 종래의 맵 생성 방법에 비해 도식적인 노선도의 자동 생성을 가속시킨다. 예시적인 방법의 결과는 디스플레이 상에서, 예를 들면, 유저 컴퓨팅 디바이스, 예를 들면, 예를 들면, 컴퓨터 또는 이동 통신 디바이스 상의 유저 인터페이스의 디스플레이 상에서, 이해 가능한 교통 네트워크 맵을 전달한다.
예시적인 방법은 교통 네트워크 맵을 도식적인 노선도로 자동적으로 변환한다. 결과적으로 나타나는 맵은, 종래의 교통 네트워크 맵보다 더 유저 친화적이고 읽기가 더 쉽도록 설계되는 것이 바람직하다. 본원에서 제공되는 특정한 예시적인 방법은, 방향성 그래프 정보와 같은 그래프 정보를 프로세싱하여, 도식적 맵을 생성한다. 그래프 정보는 현존하는 데이터로부터 수신될 수 있고, 현존하는 데이터를 프로세싱하는 것에 의해 생성될 수 있고, 및/또는 프로세싱 이전에 유저에 의해 편집될 수 있다.
본원의 예시적인 도식적 맵은, 예를 들면, 정점(즉, 노선이 만나는 지점) 및 에지의 더욱 깨끗한 위치 결정을 사용할 수 있다. 본원에 제공되는 몇몇 예시적인 방법은, 결과적으로 나타나는 맵의 가독성을 향상시키기 위해, 그래프 정보를 프로세싱하여 하나 이상의 교통 정류장 및 그들을 연결하는 교통 노선을 재배치한다. 이 재배치는, 예컨대, 가독성을 고려하는 비용 함수를 최소화하는 것에 의해, 예를 들면, 목적 함수를 최적화하기 위해 수행될 수 있다. 비용 함수를 최소화하는 것은 수렴 속도를 개선하기 위해; 예를 들면, 공지된 방법보다 10 배(또는 그 이상) 더 빠르게 향상시키기 위해, 본원에서 개시되는 방법을 사용하여 수행될 수 있다.
몇몇 예시적인 방법은, 결과적으로 나타나는 도식적 맵을 더 깨끗하게 그리고 유저에 의해 판독하기가 더 쉽게 만들기 위해, 예를 들면, 노선을 옥티리니어 매핑(예를 들면, 수평, 수직, 또는 45° 방향의 배수)으로 투영하는 것에 의해 교통 네트워크에서의 (경로) 노선을 단순화하고 시각화하기 위한 보간 방법을 추가로 활용할 수 있다. 몇몇 예시적인 방법은, 추가로 가독성을 향상시키고 및/또는 맵 생성의 효율성을 향상시키기 위해, 경계 또는 주변 영역을 감소시키면서 시각화된 교통 네트워크의 혼잡한 영역을 추가로 검출하고 확대할 수 있다.
예시적인 방법은, 예를 들면, 교통 맵(예를 들면, 대규모 동적 교통 네트워크에 대한 교통 맵)을 자동적으로 생성하기 위한 및/또는 편집하기 위한 웹 애플리케이션에서 구체화될 수 있다. 결과는, 임의의 적절한 디스플레이, 예컨대 연결된 모바일 디바이스, 컴퓨터, 독립형 디스플레이, 또는 적절한 프로세싱 성능을 갖는 임의의 다른 디스플레이 상에서의 디스플레이를 위해 생성될 수 있다.
시각화된 교통 경로 노선(교통 노선)을 실시간으로 생성하기 위해 및/또는 수정하기 위해, 특정한 예시적인 시스템 및 방법이 사용될 수 있다. 용어 "실시간"은, 본원에서 사용될 때, 태스크의 수행과 관련하여, 요청자(예를 들면, 유저 또는 프로세스)가 대기하는 동안 태스크가 수행될 것이다는 것을 의미하는데, 여기서 태스크가 수행되기 이전에 태스크의 요청자에 의해 약간의 지연(즉, 수 시간 또는 수 일이 아닌, 대략 수 초 또는 수 분)이 인식될 수도 있다.
예를 들면, 스크린 상에서 유저에 의해 시각화되는 그러한 노선을 따르는 교통 노선 및/또는 교통 정류장은, 예컨대, 노선 수정 또는 다른 이유에 기인하여 특정한 교통 정류장이 서비스되지 않을 때, 편집 성능을 제공하는 것에 의해, 업데이트될 수 있다. 예시적인 방법은 또한 그러한 맵을 제공하는 데 현재 필요한 리소스를 감소시키면서, 새로운 교통 네트워크를 통합할 수 있고 및/또는 유저가 이해 가능한 방식으로 네트워크를 시각화할 수 있다.
도식적인 노선도를 자동적으로 생성하고 및 상호 작용식으로 편집하기 위해, 본원에서 개시되는 임의의 다른 방법과 조합하여 사용될 수 있는 다른 예시적인 방법이 본원에서 제공된다. 심지어 대형 동적 네트워크에서도 실시간으로 작동하는 자동적인 방법을 제공하는 것은, 비전문 설계자를 비롯한(그러나 이들로 제한되지는 않음) 유저가 노선도를 자동적으로 생성하는 것, 탐색하는 것(내비게이팅하는 것), 및 편집하는 것을 허용하는 애플리케이션, 예를 들면, 저작 도구(authoring tool)(그러나 이들로 제한되지는 않음)와 같은 웹 애플리케이션의 사용을 허용한다. 실시간에서의 노선도의 자동적인(예를 들면, 완전히 또는 적어도 부분적으로 자동적인) 생성은, 개인 맞춤화를 위해, 상황에 맞게 적응하기 위해, 교통 네트워크의 동적 특성을 반영하기 위해, 등등을 위해 제공될 수 있다.
이제 도면을 참조하여 실시형태가 논의될 것이다. 도면은 일정한 비율이 아닌 개략적 도면을 포함하는데, 이것은 첨부된 설명을 참조하여 숙련된 기술자에 의해 완전히 이해될 것이다. 예시의 목적을 위해 피쳐(feature)는 과장될 수도 있다. 실시형태로부터, 숙련된 자는 본 발명의 추가적인 피쳐 및 더 광의적인 양태를 인식할 것이다.
도 1은 독창적인 실시형태에 따른 도식적 맵 생성 방법을 구현하기 위한 예시적인 시스템(20)을 도시한다. 시스템은, 데이터를 교환하기 위해 하나 이상의 유저 컴퓨팅 디바이스(22)를 통해 네트워크(26)를 통해 연결될 수도 있는 서버 컴퓨터(서버)(24)와 같은 그러나 이것으로 제한되지는 않는 컴퓨터를 포함한다. 대안적으로, 컴퓨터(및/또는 유저 컴퓨팅 디바이스(22))는, 로컬 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터, 이동 통신 디바이스(예를 들면, 휴대용 전화 또는 다른 컴퓨팅 디바이스, 개인 휴대형 정보 단말, 웨어러블 디바이스, 임베딩된 프로세서, 증강 현실 디바이스, 가상 현실 디바이스, 등등), 또는 본원에서 개시되는 방법을 수행하도록 구성될 수 있는 임의의 다른 적절한 컴퓨팅 디바이스, 또는 컴퓨팅 디바이스의 임의의 조합에서 구체화될 수도 있다. 예시적인 시스템(20)의 더 많은 세부 사항은 하기에서 기술된다.
도 2는 예시적인 도식적 맵 생성 방법과 함께 사용하기 위한 예시적인 아키텍쳐(60)를 도시한다. 예시적인 아키텍쳐(60)는 예시적인 시스템(20)에 의해, 및/또는 임의의 적절한 프로세서에 의해 제공될 수 있다. 예시적인 아키텍쳐는, 비제한적인 예로서, 파이썬(Python)에서 프로그래밍될 수 있고, 파이썬 플라스크(Python Flask)를 사용하는 RESTful API와 같은 그러나 이것으로 제한되지는 않는 애플리케이션 프로그래밍 인터페이스(application programming interface; API)에서 서비스될 수 있는, 레이아웃 생성을 위한 백엔드(back-end; 62)(이것은 예시적인 시스템(20)의 컴퓨터 서버(24)의 일부, 유저 컴퓨팅 디바이스(22) 또는 다른 클라이언트의 일부, 또는 조합을 형성할 수도 있음)를 포함한다.
유저 인터페이스(user interface; UI) 및 시각화를 위한 예시적인 프론트 엔드(front-end; 64)(이것은 예시적인 시스템의 컴퓨터 서버(24)의 일부, 예시적인 시스템(20)의 다른 클라이언트 또는 유저 컴퓨팅 디바이스(22)의 일부, 또는 조합을 형성할 수도 있음), 예컨대, 웹 애플리케이션은, 데이터의 로딩 및 교통 네트워크의 시각화를 허용하고, 바람직하게는, 도식적 맵 또는 맵 관련 데이터에 대한 결과를 유저가 시각화하는 것, 편집하는 것, 및/또는 저장하는 것을 허용하기 위해, 상이한 파라미터를 가지고 백엔드 상의 레이아웃 생성 API를 호출할 수 있다. 이 프론트 엔드(64)는, 데이터 유도 문서(data driven document; D3) 라이브러리와 함께, 비제한적인 예로서, HTML 및 자바 스크립트(Javascript; JS)를 사용하여 구현될 수 있다.
교통 네트워크에 대한 수신된 스케줄 및 경로 정보를 제공하는 데이터와 같은 그래프 정보를 수신하기 위해(예를 들면, 로딩하기 위해), 파싱하기 위해, 그리고 그래프 정보를 변환하기 위해, 예시적인 아키텍쳐의 추가적인 백 엔드 애플리케이션 서비스(66)(이것은 예시적인 시스템(20)의 컴퓨터 서버(24)의 일부, 유저 컴퓨팅 디바이스(22) 또는 다른 클라이언트의 일부, 또는 조합을 형성할 수도 있음)가 제공될 수 있다. 그러한 그래프 정보는 표준화된 포맷, 예를 들면, 일반 대중 교통 공급 명세(General Transit Feed Specification; GTFS) 또는 다른 표준화된 파일에서 구체화될 수도 있고, 예를 들면, 특정한 지리적 영역(예를 들면, 지방 자치 단체)에 대한 교통 당국(transit authority)에 의해 또는 다른 정보 소스에 의해 제공될 수도 있다. 수신된, 파싱된, 및/또는 변환된 그래프 정보가 예시적인 방법에서 프로세싱될 수 있고, 옵션 사항으로(optionally), 추가적인 프로세싱 또는 사용을 위해 저장 및 사용될 수 있다.
GTFS 또는 다른 표준화된 파일을 파싱하고 변환하는 것은, 예를 들면, 데이터베이스(database; DB)와 함께 작동하는 하이퍼텍스트 사전 프로세싱 스크립팅 언어(Php)를 사용하여 구현될 수 있다. 그러한 예시적인 서비스는, 예를 들면, GTFS 또는 다른 정보 소스 데이터 로딩 및 파싱, GTFS(또는 다른 정보 소스 데이터) 대 그래프 변환, 및 영구적 데이터 저장을 제공할 수 있다. 이것은 몇몇 예시적인 방법 및 시스템이, 교통 당국에 의해 제공되는, GTFS 파일과 같은 그러나 이들로 제한되지는 않는, 더욱 일반적으로 이용 가능한 데이터 명세를 사용하는 것을 허용한다.
도 3은 실시간으로 교통 네트워크에 대한 도식적 맵을 자동적으로 생성하기 위한 예시적인 방법(70)의 단계의 흐름도를 도시한다. 예시적인 방법은, 입력 교통 네트워크에서 교통 정류장, 예를 들면, 교통 네트워크 스테이션을 재배치하고, 네트워크의 이해 및 내비게이션을 단순화하기 위해 보간을 사용하여 교통 정류장을 연결하는 하나 이상의 교통 노선을 이산화한다.
노선도의 가독성을 향상시키기 위해 수많은 설계 기준이 식별되었다. 그러한 기준의 비제한적인 예는, 참조에 의해 본원에 통합되는 [M.
Figure 112021008021435-pat00003
and A. Wolff, "Drawing and labeling high-quality metro maps by Mixed-Integer Programming," IEEE Transactions on, p. 626-641, 2011]에서 설명된다. 예시적인 방법은 가독성을 향상시키기 위한 설계 기준의 하나 또는 조합을, 맵 생성의 효율성을 향상시키기 위한 하나 이상의 방법과 조합하여, 활용한다.
도 3의 특정한 예시적인 방법(70)은, 다음의 예시적인 기준 중 하나 이상을 충족하는 시각화된 교통 네트워크를 실시간으로 생성한다: 1) 규칙적인 간격의 교통 스테이션을 제공함; 2) 도식적 맵에서 큰 빈 공간을 방지함; 3) 직선의 교통 노선을 포함함; 4) 기하학적 왜곡 및 변위를 최소화함; 5) 옥티리니어 방향(수직, 수평, 대략 45° 대각선)과 같은 그러나 이들로 제한되지는 않는 k 선형 에지 방향을 제공함. 이들 기준 중 하나 이상은 사용되는 특정한 예시적인 방법에 따라 생략될 수도 있다.
도 3에서의 예시적인 방법(70)은, 도식적인 레이아웃 생성 문제를, 다수의, 그리고 특정한 예에서, 네 개의 일반적인 단계(72, 74, 76, 78)로 분해하는 것에 의해 이들 예시적인 기준 1) - 5)의 각각을 구현한다. 각각의 단계(72, 74, 76, 78)는 하나 이상의 모듈(서브모듈을 포함함)에 의해 수행될 수 있다. 이들 단계의 순서는 필요에 따라 수정될 수 있다는 것이 인식될 것이다. 특정한 단계 번호에 대한 참조는 설명의 편의를 위한 것이다.
도 4a 및 도 4b를 참조하면, 일본 도쿄에 대한 도 4a에서 도시되는 교통 네트워크(80)와 같은 예시적인 교통 네트워크는 하나 이상의(도시되는 바와 같이, 복수의) 교통 노선(82)을 포함한다. 각각의 교통 노선(82)은 복수의 교통 정류장(정류장)(86)을 연결하는 에지(84)를 포함한다. 교통 노선(82)은 일반적으로 복잡한 형상을 갖는다.
도 3에서 도시되는 예시적인 방법(70)의 제1 단계(72)에서, 정류장(86)의 지리적 위치 및 그들 사이의 연결, 예를 들면, 에지(84)를 비롯한, 프로세싱되고 시각화될 교통 네트워크(80)에 대한 정보가 입력된다, 예를 들면, 로딩된다. 이 정보는 바람직하게는 방향성의 및/또는 비방향성의(undirected) 그래프 정보를 포함한다. 교통 네트워크(80)에 대한 그래프 정보는, 예를 들면, 네트워크 그래프에 대한 저장된 데이터에서 구체화될 수 있다. 이 정보는, 예를 들면, 전용 매핑 서비스(예를 들면, OpenStreetMap(OSM), HERE™, 등등)으로부터 획득할 수 있다. 대안적으로 또는 추가적으로, 그러한 정보는, 예를 들면, 교통 당국에 의해 일반적으로 발행되는 것들과 같은 표준화된 파일(예를 들면, 일반 대중 교통 공급 명세(GTFS) 파일)로부터 유도될 수 있다. 그래프는 직접적으로 로딩될 수도 있고, 현존하는 그래프 정보를 파싱하고 변환하는 것에 의해, 또는 조합에 의해 생성될 수 있다.
그래프 정보는 복수의 교통 정류장(86)의 지리적 위치를 나타내는 정점(즉, 노선이 만나는 지점) 및 교통 정류장 사이의 연결(즉, 연결된 에지)의 지리적 위치를 나타내는 에지(84)를 포함한다. 도 4a에서 도시되는 바와 같이, 교통 노선(82)의 각각은 다수의 방위를 갖는 복수의 그러한 연결된 에지(84)를 포함한다.
제공된 그래프 정보가 주어지면, 예컨대, 혼잡한 영역을 확대하기 위해, 그리고 대안적으로 또는 추가적으로, 결과적으로 나타나는 도식적 맵의 경계 또는 주변에서 영역을 압축하기 위해, 어안 변환(fisheye transformation)을 포함하는 옵션 사항의 제2 사전 프로세싱 단계(74)(도 3)가 그래프 정보에 적용될 수 있다. 이 옵션 사항의 사전 프로세싱 단계(74)는 결과적으로 나타나는 도식적 맵(상기의 기준 1) 및 2))의 양태(들)의 균형을 맞추는 데 도움이 된다. 그러한 예시적인 사전 프로세싱 단계의 효과는, (예컨대, 비제한적인 예로서 파리에서의) 고도로 중앙 집중화된 교통 네트워크에 대해 특히 유용하다.
예시적인 사전 프로세싱 단계(74)는, 먼저, 제공된 그래프 정보를 사용하여 맵 상에서 하나 이상의 혼잡한 영역, 바람직하게는 가장 혼잡한 영역을 결정한다, 예를 들면, 검출한다. 가장 혼잡한 영역(예를 들면, N 개의 가장 혼잡한 영역, 여기서 N은 임의의 숫자일 수 있음)은 다양한 기준 중 임의의 하나 이상을 사용하여 결정될 수 있다. 예를 들면, 제공된 그래프 정보로부터 교통 정류장 위치의 이차원 히스토그램이 구성될 수 있고, 가장 많은 스테이션을 갖는 (N) 개의 빈(bin)이 선택될 수 있다. 대안적으로 또는 추가적으로, 가장 많은 연결을 갖는 (N) 개의 교통 정류장은 잠재적으로 가장 혼잡한 영역으로서 선택될 수 있다.
그 다음, 바람직하게는 맵의 경계 영역을 또한 압축하면서, 검출된 혼잡한 영역을 확대하기 위해, 예를 들면, 그래프 정보를 프로세싱하는 것에 의해 그래프에 어안 변환이 적용된다. 예시적인 어안 변환 방법은, 참조에 의해 그 전체가 본원에 통합되는 [M. B. M. H. Sarkar, "Graphical Fisheye Views of Graphs," in Proceedings of the ACM SIGCHI, 1992]에서 개시된다.
제3 단계(76)에서, 교통 정류장(86) 중 하나 이상이 재배치된다. 재배치하는 것은, 도식적 맵의 가독성에 기초하는 목적 함수를 최적화하기 위해 교통 정류장(86) 중 하나 이상에 대한 새로운 위치를 결정하는 것을 포함한다. 예를 들면, 하나 이상의 교통 정류장(86)의 위치는, 그들 사이에서 더 균일한 간격 및 더 평활한(smoother) 연결을 제공하기 위해, 수정된 네트워크에서 최적화될 수 있다.
교통 정류장(86)을 재배치하기 위한 본원에서 제공되는 특정한 예시적인 방법은 현존하는 MIP 접근법과 소정의 유사성을 가지지만, 그러나, 심지어 매우 큰(예를 들면, 일백 개의 교통 정류장 또는 이상) 교통 네트워크(80)에 대해서도, 실시간의 성능을 달성하기 위한 하나 이상의 추가적인 피쳐를 포함하는 것이 바람직하다. 이것은 예시적인 아키텍쳐(60)가 본질적으로 임의의 타입의 교통 네트워크 상에서, 실시간으로 그리고 (바람직하게는) 상호 작용식으로, 작용하는 것을 허용한다. 이것은, 결국에는, 본원에서 제공되는 도식적인 교통 맵의 자동 생성을 위한 예시적인 방법을 실세계 사용 사례에 대해 더욱 실용적으로 만드는 데 도움이 된다.
목적 함수를 최적화하는 것에 의해 교통 정류장(86)을 재배치하기 위한 특정한 예시적인 방법은 [Y.-S. Wang and M.-T. Chi, "Focus+Context Metro Maps," IEEE Transactions on Visualization and Computer Graphics, p. 2528-2535, 2011]에서 개시되는 방법과 일반적으로 유사하다. 그러한 예시적인 방법에서, 정점(
Figure 112021008021435-pat00004
) 및 에지(
Figure 112021008021435-pat00005
)로 구성되는 그래프(
Figure 112021008021435-pat00006
)가 주어지면 - 여기서 정점(
Figure 112021008021435-pat00007
)은 교통 정류장(86)를 나타내고 에지(
Figure 112021008021435-pat00008
)는 교통 정류장(정점) 사이의 연결(예를 들면, 에지 84)을 나타냄 - , 예시적인 최적화의 목표는, 시각화된 도식적인 교통 네트워크를 소정의 미리 결정된 기준에 따라 유저가 판독하기에 더 쉽도록 수정된 네트워크 그래프 상에서 경유 정류장(
Figure 112021008021435-pat00009
)의 새로운 위치를 찾는 것이다.
특정한 예시적인 방법에서 그렇게 하기 위해서는, 이차 비용 함수와 같은 그러나 이것으로 제한되지는 않는 비용 함수에 구체화되는 목적 함수가 최소화된다. 특정한 예시적인 이차 비용 함수(
Figure 112021008021435-pat00010
)는 세 개의 (예를 들면, 가중된) 항을 포함한다: 각각의 교통 정류장을 그 원래의 위치로부터 변위하기 위한 비용, 수정된 네트워크에서의 각각의 에지 길이의 비용, 및 결과적으로 나타나는 그래프에 매끄럽지 않은 노선을 갖는 것의 비용을 각각 나타내는,
Figure 112021008021435-pat00011
,
Figure 112021008021435-pat00012
:
Figure 112021008021435-pat00013
상기의 제1 항을 결정하기 위해, 이차원에서 지점 사이의 거리를
Figure 112021008021435-pat00014
로 나타내면, 그러면,
Figure 112021008021435-pat00015
는 각각의 정류장(
Figure 112021008021435-pat00016
)을 그들의 원래의 위치(
Figure 112021008021435-pat00017
)로부터 변위시키기 위한 비용이다. 원래의 네트워크에서의 평균 에지 길이를
Figure 112021008021435-pat00018
로 나타내면,
Figure 112021008021435-pat00019
를 사용하여,
Figure 112021008021435-pat00020
와는 상이할 수정된 네트워크에서의 각각의 에지 길이(
Figure 112021008021435-pat00021
)의 비용을 정의할 수 있다.
Figure 112021008021435-pat00022
는 또한 노선마다 개별적으로 계산될 수 있으며 적응적으로 확장될 수 있다.
제3 항인
Figure 112021008021435-pat00023
는 결과적으로 나타나는 그래프에서 매끄럽지 않은 노선을 갖는 비용인데, 이것은, 예를 들면, 다음과 같이 표현될 수 있는데:
Figure 112021008021435-pat00024
여기서,
Figure 112021008021435-pat00025
는 동일한 노선 상에서의 후속하는 정점이고,
Figure 112021008021435-pat00026
는 두 개의 2D 점을 연결하는 에지의 기울기를 나타낸다.
이 예시적인 최적화 방법은, 원래의 교통 맵 지오메트리를 너무 많이 왜곡시키지 않고도(기준 4)), 에지 길이의 균일성(상기의 기준 1)) 및 가능한 한 직선인 노선(기준 3))의 균일성을 촉진한다.
상기의 최적화 문제에 대한 솔루션을 계산하기 위해, 특정한 예시적인 방법은, 예컨대, 예를 들면, 참조에 의해 본원에 통합되는 [J. Nocedal and S. J. Wright, Numerical Optimization, New York: Springer, 2006]에서 개시되는 신뢰 영역 방법(trust-region method)을 사용하기 위해 비용 함수의 제1 및 제2 미분 계수를 계산한다. 그러한 방법은, 예를 들면, [Y.-S. Wang and M.-T. Chi, "Focus+Context Metro Maps," IEEE Transactions on Visualization and Computer Graphics, p. 2528-2535, 2011]에서 개시되는 컨쥬게이트 그래디언트 방법보다 더 빠른 수렴을 제공한다. 예시적인 방법을 사용하는 실험이 신뢰 영역을 갖는 또는 없는 뉴턴(Newton) 컨쥬게이트 그래디언트 방법과 비교되었으며, 예시적인 신뢰 영역 방법에서,더 빠른 수렴에 기인하여, 대략 열 배의 가속을 획득하였다.
도식적인 노선도의 가독성을 더욱 향상시키기 위한 제4 단계(78)에서, 교통 노선(82)은 k 선형이 되도록 이산화된다; 즉, 쌍 사이의 각도(pairwise angle)가 180°/(k)의 배수인(상기의 기준 5)) k ≥ 2 개의 등거리 방위 중 하나에 정렬된다(그 하나에 평행하다). 비제한적인 예로서, 쌍 사이의 각도는 옥티리니어일 수 있다, 즉, 대략적으로, 그리고 가장 바람직하게 정확하게는, 수직, 수평, 45° 대각선일 수 있다. 추가적으로 또는 대안적으로, 쌍 사이의 각도는 60°의 배수; 30°의 배수, 또는 임의의 조합일 수 있다. 바람직하게는, 모든 교통 노선(82)이 k 선형이 되도록 이산화되고, 그 결과, 결과적으로 나타나는 도식적 맵에서 단순화된 k 선형 세그먼트 만이 제공되지만, 하나 이상의 이산화되지 않은 세그먼트가 포함될 수 있다는 것이 고려된다. 전체 맵이 비 옥티리니어 또는 k 선형 이외의 다른 등거리 방향에서 배향될 수도 있기 때문에, 그러한 수직, 수평, 30°, 45°, 60° 및 다른 k ≥ 2 개의 등거리 방위는 전체 도식적 맵 내에서 서로 상대적이다는 것이 인식될 것이다. 이러한 방식으로, 하나 이상의 교통 노선 상의 교통 정류장(86) 사이의 연결은, 복수의 교통 정류장을 정렬하도록 그리고 단순화된 k 선형 세그먼트를 사용하여(바람직하게는, k 선형 세그먼트만을 사용하여) 교통 노선(82)을 따라 정렬된 교통 정류장을 연결하도록 이산화된다.
이산화를 위한 예시적인 방법은 [Y.-S. Wang and M.-T. Chi, "Focus+Context Metro Maps," IEEE Transactions on Visualization and Computer Graphics, p. 2528-2535, 2011]에서 개시된다. 그러나,이 참고 문헌에서 개시되는 이산화 방법은, 사용되는 목적 함수의 비선형성에 기인하여 수렴하는 데 더 느리다. 대조적으로, 본 예시적인 방법에서, 훨씬 더 빠른 보간법에 기초한 이산화 접근법이 제공되어, 실제로 개선된 결과를 입증한다.
일반적으로, 예시적인 방법에서, (도 4a에서 도시되는 바와 같은) 교통 노선(82) 또는 분기는 노선 직진성 및 연속성을 제공하기 위한 기본 구조로 사용된다. 그 다음, 프로세싱된 교통 정류장 위치에의 고정되는 제약 조건을 점진적으로 생성하면서, 하나의 노선씩 k 선형 세그먼트를 단순화하고 근사하기 위해 그리디 접근법(greedy approach)이 활용되는데, 여기서 k는 적어도 2이고 180의 인수이다. 결과적으로 나타나는 k 선형 세그먼트는 쌍 사이의 각도가 180°/(k)의 배수인 k ≥ 2 개의 등거리 방위 중 하나에 평행하게 각각 정렬된다. 몇몇 예시적인 방법에서는, 퇴화 사례를 검출하고 그들을 실시간으로 수정하기 위해, 추가적인 휴리스틱스(heuristics)가 사용될 수 있다.
도 5a는 도 3에 설명되는 제4 단계(78)에 따라 옥티리니어 레이아웃을 생성하기 위한 예시적인 방법(90)에 대한 의사 코드를 도시한다. k 선형 노선을 더 일반적으로 생성하기 위해 유사한 방법이 사용될 수도 있다는 것이 인식될 것이다.
도 5a에서 도시되는 예시적인 방법(90)에서, 노선 순서는 92에서 제공되고, 앵커 지점(anchor point)이 94에서 초기화된다. 그 다음, 예시적인 방법은 노선 순서대로 각각의 노선에 대해 시작된다.
노선 순서의 각각의 노선은, 96에서, 앵커 지점에서 정의되는 세그먼트로 분할된다. 그 다음, 각각의 세그먼트에 대해, 예를 들면, 참조에 의해 본원에 통합되는 [D. H. Douglas and K. P. Thomas, "Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or its Caricature," Cartographica: The International Journal for Geographic Information and Geovisualization, vol. 10, no. 2, pp. 112-122, 1973]에서 개시되는 Ramer-Douglas-Peucker(라머-더글라스-푸커) 노선 단순화 알고리즘(line simplification algorithm)과 같은 노선 단순화 알고리즘을 사용하는 것에 의해, 98에서, 단순화된 세그먼트가 생성된다.
그 다음, 단순화된 세그먼트의 부분의 각도는, 100에서, 가장 가까운 k 선형, 예를 들면, 옥티리니어 각도로 양자화된다. 이 가장 가까운 k 선형 각도는, 예를 들면, 180°/(k)의 배수 방향일 수 있는데, 여기서 k는 적어도 2이다.
다음으로, 세그먼트의 시작 지점 및 마지막 지점을 통과하며 양자화된 세그먼트의 대응하는 서브 세그먼트의 옥티리니어 각도로 세그먼트 지점을 선형적으로 보간하는 최종 세그먼트 단순화가 102에서 생성된다. 103에서, 옵션 사항으로, 최종 세그먼트 단순화의 타당성 체크가 수행되는데, 필요에 따라 수정이 이루어진다. 그 다음, 옵션 사항으로, 필요에 따라 최종 단순화된 세그먼트를 재샘플링한 이후, 104에서, 최종 세그먼트가 생성된다. 이전 앵커 지점 및 생성된 최종 세그먼트를 사용하여 새로운 앵커 지점이 105에서 설정되고, 목록의 다음 세그먼트가 프로세싱된다.
방법(90)의 예시적인 동작 동안, 모든 세그먼트가 k 선형이 되도록 결과적으로 나타나는 레이아웃에서의 하나 이상의 지점 및 세그먼트가 정렬되지 않거나, 또는 대안적으로 k의 특정한 선택에 대해(비제한적인 예로서, 모든 세그먼트를 옥티리니어로 만드는 것이 소망되는 경우) 모든 세그먼트가 k 선형이 되도록 정렬되지 않는 경우, 몇몇 예시적인 방법은 소망되는 정렬된 레이아웃을 제공하기 위해 레이아웃을 추가로 수정할 수 있다. 예를 들면, 제3 단계(76)(도 3)에서 정류장 위치 최적화의 실행으로부터 생성되는 경유 정류장 위치가 제4 단계(78)의 동작으로 하여금 소망되는 대로 정렬되지 않는 하나 이상의 세그먼트를 (적어도 초기에) 출력하게 하는 경우, 먼저 하나 이상의 가상 중간 지점을 삽입하는 것에 의해 최적화된 정류장 사이에서 새로이 정렬된 세그먼트를 생성하기 위해 추가적인 단계가 수행될 수 있다. 그러한 추가 단계는 또한, 심지어 모든 생성된 세그먼트가 k 선형인 경우에도, 몇몇 예시적인 방법에서 시각적으로 더욱 만족을 주는 그림을 획득하기 위해 사용될 수 있다.
도 5b는, 경유 정류장 사이에 하나 이상의 가상 중간 지점의 삽입을 포함하는 옥티리니어(또는 다른 선택된 k 선형) 레이아웃을 제공하기 위한 예시적인 방법을 도시한다. 예를 들면, 경유 정류장 A, B, C 및 D를 연결하는 교통 노선을 제공하기 위해 옥티리니어 도면(예를 들면, 45 도의 배수인 각도에서 배향되는 모든 세그먼트)이 소망되지만, 그러나 정류장 최적화는 하나 이상의 지점 및 세그먼트를 정렬하여 도 5b의 상태 (1)에서 묘사되는 구성을 야기한다는 것을 가정하는데, 여기서 세그먼트 B-C (경유 정류장 B와 C 사이)는 옥티리니어가 아니다.
예시적인 방법에서, 상태 (2)의 가상 중간 지점 E와 같은 하나 이상의 가상 중간 지점이 삽입된다. 이 중간 지점은, 결과적으로 나타나는 단순화된 레이아웃에 추가되는 것이 아니라, 대신, 결과적으로 나타나는 단순화된 레이아웃에서 경유 정류장을 연결하는 두 개의 새로 추가된 소망되는 k 선형 세그먼트 사이의 접합점(junction)으로서 사용된다는 점에서 "가상"이다.
삽입된 가상 중간 지점 E를 사용하여, 그 다음, 경유 정류장 B와 중간 지점 E를 연결하는 제1 추가 세그먼트(106), 및 중간 지점 E와 경유 정류장 C를 연결하는 제2 추가 세그먼트(108)를 포함하는 두 개의 추가적인 k 선형(예를 들면 옥티리니어) 세그먼트가 단순화된 레이아웃에 삽입된다. 이전에 생성된 세그먼트 B-C는 생성된 단순화된 레이아웃으로부터 제거될 수 있다. 그 다음, 중간 지점 E는 최종 단순화된 레이아웃으로부터 필요에 따라 제거되어, 도 5b의 상태 (3)에서의 수정된 단순화된 교통 노선으로 귀결된다. 조정된 세그먼트 B-C를 갖는 상태 (3)에서의 수정된 단순화된 교통 노선은 완전히 선택된 k 선형(여기서는 옥티리니어) 세그먼트를 포함하는 경유 정류장 A-D를 연결한다.
예시적인 파이프라인이 파이썬과 같은 그러나 이것으로 제한되지는 않는 적절한 프로그래밍 언어로 구현된다. 심지어 특정한 최적화(이것은 소망되는 경우 추가로 제공될 수 있음) 없이도, 예시적인 방법은 매우 빠르게 실행될 수 있고, 심지어 대규모 교통 네트워크의 경우에도, 실시간으로 양호한 결과를 여전히 제공한다.
도 4b는 일본 도쿄의 메트로(Metro) 네트워크에 대한 교통 맵의 도식적인 표현(110)의 예를 도시한다. 도 4a에서의 뷰(80)가 메트로 네트워크의 지리적으로 정확한 표현이고, 한편, 도 4b에서의 뷰(110)는 도 3에서 설명되는 단계(72, 74, 76, 78)를 사용하는 예시적인 방법에 따라 동일한 메트로 네트워크에 대해 자동 생성된 도식적인 표현이다. 이 예시적인 결과는 실시간으로(1 초 미만) 획득되었다. 도식적인 표현(110)은 단순화된(즉, 덜 복잡한) 노선(114)을 사용하여 연결되는 재배치된 정류장(112)을 포함한다. 단순화된 노선(114)은 k 선형 각도를 따라 각각 연장되는 단순화된 세그먼트(116)로 구성되는데, 이들 중 일부는 조정된 세그먼트 B-C를 갖는 도 5b의 상태 (3)에서 도시되는 바와 같이 조정된 세그먼트(113)를 포함한다.
예시적인 방법은 생성된 도식적 맵(110)을 웹 애플리케이션을 통해 제공되는 상호 작용식 맵으로서 제공할 수 있다. 도 6a 내지 도 6d는 도 2에서 도시되는 아키텍쳐(60)에 대한 예시적인 프론트 엔드 웹 애플리케이션에 대한 유저 인터페이스의 실시형태를 도시한다.
예를 들면,도 6a는 다양한 도시: 그르노블(Grenoble), 리스본(Lisbon), 리옹(Lyon), 나고야(Nagoya), 오사카(Osaka), 및 파리(Paris)에 대한 사전 로딩된 교통 네트워크(122a-122f)를 갖는 예시적인 홈페이지(120)를 각각 도시한다. 예를 들면, 사전 로딩된 교통 네트워크(122a-122f)는, 본원에서 개시되는 것과 같은 수신된 그래프 정보를 프로세싱하는 것에 의해 제공될 수 있다. 도 6a는 유저에 의한 선택을 위한 사전 로딩된 교통 네트워크(122a-122f) 중 몇몇의 일반적이고 더 작은 상호 작용식 뷰를 디스플레이한다.
하나의 도시 교통 네트워크의 (예를 들면, 클릭에 의한) 유저 선택(도 6a의 예시적인 홈페이지에서, 원(121)에 의해 나타내어지는 바와 같이, 나고야의 교통 네트워크(122d) 선택됨)을 수신하는 것에 응답하여, 예시적인 웹 애플리케이션은 선택된 도시의 메트로 교통 네트워크(122d)의 확대된 뷰(126)를 상호 작용식 맵으로서 디스플레이하고, 도 6b에서 도시되는 바와 같이, 상이한 기능성에 대한 인터페이스(128)를 제시한다.
도 6b-6d에서 도시되는 예시적인 인터페이스(128)는 도시 이름 (나고야), 교통 맵을 수정하는 것에 의해 상호 작용식 도식적 맵(interactive schematic map)을 생성하기 위한 미리 설정된 구성을 선택하기 위한 드롭 다운 메뉴(130), 및 상호 작용식 도식적 맵을 생성 또는 구성하기 위해 사용될 수 있는 파라미터를 나타내기 위한 제어부 또는 도구(예를 들면, 버튼)(132)를 포함한다. 도식적 맵으로 아직 변환되지 않은 교통 네트워크 맵, 새롭게 생성된 도식적 맵, 또는 생성 이후 편집된 앞서 생성된 도식적 맵일 수도 있는 현재 디스플레이된 교통 맵에 기초하여 디스플레이된 도식적 맵의 교통 노선의 즉각적인 이산화를 요청하기 위해, 추가적인 제어부 또는 도구(134), 예를 들면 "옥티리니어", "k 선형", "정렬", "이산화", "양자화" 등등의 버튼 또는 다른 적절한 버튼이 제공된다. 더 이전 목록으로 돌아가기, 저장, 재설정, 이름 디스플레이, 원점 표시, 맵(126) 중심 재설정, 등등과 같은, 그러나 이들로 제한되지는 않는 기능을 위해, 다른 도구(136)가 제공될 수도 있다.
유저가 도 6b의 인터페이스(128)에서 "옥티리니어" 버튼(134)을 선택한 이후, 재배치된 정류장(112)를 연결하는 k 선형(도시되는 바와 같이, 옥티리니어) 에지(116)를 갖는 단순화된 노선(114)을 구비하는 도 6c에서 도시되는 바와 같이 디스플레이되는 나고야에 대한 상호 작용식 도식적 맵(140)이, 이 예에서는, 드롭 다운 메뉴(130)로부터의 기본 사전 설정을 사용하여 자동적으로 생성된다. 다수의 사전 설정이 제공될 수 있다. 상호 작용식 도식적 맵(140)에 대한 파라미터는, 예를 들면 "파라미터 표시(show parameter)" 버튼을 통해 메뉴를 내비게이팅하는 것에 의해 추가로 수정될 수 있다.
도 6d에서, 도 6c에서 도시되는 상호 작용식 도식적 맵(140)은, 편집된 도식적 맵(142)을 제공하기 위해, 유저 인터페이스(128)를 통한 유저로부터의 수신된 편집 커맨드에 기초하여 편집되었다. 도식적 맵(140, 142)에 대한 상호 작용식 편집은, 예를 들면, 도식적 맵(140, 142)의 하나 이상의 컴포넌트를 선택, 이동, 확대, 축소, 추가, 삭제, 커스터마이징(노선 또는 형상 컬러 또는 구성 변경), 라벨링, 등등을 하기 위한 편집 커맨드(선택, 드래깅, 제어, 또는 임의의 다른 적절한 인터페이스 커맨드)(도시되지 않음)를 수신하는 것을 포함할 수 있다. 임의의 시간에, 유저는 "옥티리니어"(또는 다른 적절한) 버튼(134)을 선택하는 것에 의해 교통 노선의 재배치(및 교통 정류장의 재정렬)를 다시(또는 처음으로) 요청할 수 있다. 이것은, 예를 들면, 유저 편집이 전체 맵의 가독성에 달리 영향을 끼치는 경우, 특히 유용할 수 있다. 이 커맨드를 수신하는 것에 응답하여, 시스템(60)은 편집된 도식적 맵을 즉시 재정렬한다.
도식적인 교통 맵(110(도 4b에서 도시됨), 140(도 6c에서 도시됨), 142(도 6d에서 도시됨))을 자동적으로 생성하기 위한 본원에서 개시되는 방법은, 임의의 타입의 초기 네트워크 레이아웃으로부터의 단순화된 네트워크 레이아웃의 생성에 더욱 일반적으로 적용될 수 있다는 것이 인식될 것이다. 그러한 초기 네트워크 레이아웃은, 예를 들면, 복수의 노드를 각각 연결하는 하나 이상의 노선을 포함할 수 있다. 초기 네트워크 레이아웃에서의 복수의 노드의 지리적 위치를 나타내는 복수의 정점 및 노드 사이의 연결을 나타내는 에지를 나타내는, 초기 네트워크 레이아웃에 대한 그래프 정보(예를 들면, 방향성 또는 비방향성)가 제공될 수 있는데, 여기서 노선의 각각은 복수의 연결된 에지를 포함한다. 노드, 에지 및 노선을 포함하는 그래프 정보는, 예를 들면, 교통 정류장, 에지, 및 교통 노선에 적용되는 바와 같이 상기에서 개시되는 예시적인 방법 중 임의의 것을 사용하여 프로세싱될 수 있다. 단순화된 네트워크 레이아웃은 디스플레이 상에서 제공될 수 있고 및/또는 상기에서 개시되는 바와 같이 편집 및 업데이트될 수 있다.
본원에서 제공되는 추가적인 방법 및 시스템에 따르면, 지리적 영역에서의 교통 네트워크에 대한 동적인 도식적 맵이 디스플레이 상에서의 디스플레이를 위해 생성될 수 있는데, 여기서 동적인 도식적 맵은, 시간의 인스턴스에서 교통 노선을 따르는 하나 이상의 경로를 통해 교통 네트워크 내의 교통 정류장의 액세스 가능성을 실시간으로 나타낸다. 그러한 동적인 도식적 맵을 생성하기 위한 방법은, 단독으로 또는 상기에서 개시되는 실시간으로 도식적 맵을 생성하기 위한 방법 및 시스템과 조합하여 사용될 수 있다.
그러한 동적인 도식적 맵은, 교통 네트워크 내의 교통 정류장에 대한 시간 정보 및 공간 맵 정보 둘 모두를 동시에 맵 뷰 상에서 제시하는 직관적인 인 인터페이스를 유저에게 제공한다. 예를 들면, 시간 정보는 현재 또는 최신 시간 인스턴스에서의 시간 기반의 정보, 및/또는 선택된 시간 인스턴스에 기초한 시간 기반의 정보를 포함할 수 있다.
예를 들면, 대중 교통 서비스의 가능성의 전달은 비정기적인 유저의 그러한 교통 모드의 채택에 대해, 그리고 일반 유저의 유저 경험에 대해 상당한 영향을 끼친다. 비록 몇몇 트립 플래너(trip planner) 기술이 시간 엄수 필요성에 대한 서비스의 이용 가능성에 관해 유저에게 약간의 답변을 제공할 수 있을지라도, 그들은, 상이한 시간 옵션 또는 대안적인 경로에 대해, 또는 옵션 사항인, 현장에서의 여행 연장(on-the-spot travel extension)에 대해, 이 교통 모드가 얼마나 강건할지를 이해하기 위해 유저가 찾아볼 수도 있는 더욱 전역적인 정보를 제공하지는 않는다.
종래에는, 기저의(underlying) 데이터의 본질적인 복잡성에 기인하여, 교통 네트워크에서 유용한 시간 차원과 공간 차원 둘 모두를, 예를 들면, 이용 가능한 대중 교통 서비스의 완전한 표현을 실시간으로 동시에 제공하는 것은 어려웠다. 그러한 표현을 유지하고 생성하는 것은, 개인 경로의 빈번하게 변경되는 스케줄과 변경으로부터 유도되는 동일한 시간 범위에 관련되는 공간 네트워크 표현 사이의 일관성을 제어하기 위한 더욱 효율적인 방식을 수반한다. 결과적으로, 교통 정보는 통상적으로 시간 및 공간 차원의 각각에 대한 별개의 인공물(artifact)에서 제시되었다.
예를 들면, 종래의 유저 인터페이스는 교통 네트워크에 대한 공간 정보를 전달하기 위해 네트워크 맵을 제공할 수도 있는데, 서비스의 시간 차원에 대한 매우 제한된 정보를 갖는다. 제시된 시간 정보는, 통상적으로, 경로의 어떤 레벨의 빈도 또는 동작의 어떤 제한된 날짜를 표현하는 가변 폭을 갖는 실선, 점선, 또는 컬러 패턴과 같은 시각적인 인공물로 제한된다. 별개로, 경로의 세부적인 시간 정보를 제공하는 경로 스케줄 테이블이 제공될 수도 있다. 그러나, 그러한 경로 스케줄 테이블은 그러한 경로의 공간 차원을 제시하지 않으며, 따라서, 예를 들면, 경로가 도시 내의 상이한 장소로의 다른 경로와 어떻게 연결되는지를 제시하지 않는다.
이것은 네트워크에 대한 전역적 이해를 구성하기 위해서는 유저가 이들 두 개의 별개의 타입의 인공물 사이를 탐색할 것을 요구하는데, 이것은 불편하다. 게다가, 이것은, 특히 유저가 네트워크에 익숙하지 않은 경우, 그러한 교통 네트워크를 사용할지 여부를 결정하지 못하게 유저를 막을 수 있다.
본원의 예시적인 시스템 및 방법은, 대조적으로, 예를 들면, 이들 두 개의 정적인 시각적 인공물을 대체하는 상호 작용식 공공 디스플레이 및/또는 이동 통신 디바이스(예를 들면, 스마트폰, 태블릿, 등등)에 동적인 도식적 맵을 제공할 수도 있다. 예시적인 동적인 도식적 맵은, 두 개의 별개의 인터페이스 사이를 내비게이팅할 필요 없이, 상이한 시간에 대중 교통 네트워크의 상이한 교통 정류장의 도달 가능성을 유저가 이해하는 것을 가능하게 할 수 있다.
본원의 예시적인 시스템 및 방법은 운송 정보(transit information)를, 유저에게 교통 네트워크에 걸친 그리고 특정 시간 인스턴스 (예를 들면, 시간의 특정 윈도우)에 걸친 가능한 이동 옵션(travel option)의 개요를 제공하는 동적인 도식적 맵으로서 표현하는 다양한 방식을 제공한다. 대조적으로, 현존하는 솔루션에서는, 전체 교통 네트워크가 시각화되어 필요한 공간 정보를 제공할 수도 있고, 그 다음 별개로, 유저가 트립을 검색한 이후에만, 시간표 포맷으로 교통 옵션이 나타내어져 필요한 시간 정보를 제공한다.
몇몇 공지된 애플리케이션은 어떤 레벨의 역동성을 가지고 교통 맵을 발전시킨다. 예를 들면, 몇몇 예시적인 애플리케이션은 오후 11시와 오전 6시에 주간 맵과 야간 맵(및 스케줄) 사이를 자동적으로 전환될 수 있다. 그러나, 그러한 맵과 스케줄은 미리 계산되며, 결과적으로 나타나는 도식적 맵은, 낮 동안 발생하는 더 작은 변화 및 예외가 아니라, 낮과 밤 사이의 상대적으로 훨씬 더 큰 스케줄 변경만을 반영한다. 이것은 기저의 정보를 유지하는 것 및 시각화를 빠르고 신뢰 가능하게 생성하는 것의 어려움에 기인한다.
다른 한편, 본원의 예시적인 방법 및 시스템은, 예를 들면, 상기에서 개시되는 방법 및 시스템을 사용하여 도식적인 노선도를 실시간으로 생성할 수 있다. 예시적인 방법 및 시스템은 경로를 따르는 트립에 기초하여 교통 정류장에 대한 정차 시간을 포함하는 시간적(시간 종속적) 정보뿐만 아니라, 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간적(예를 들면, 지리적) 정보 둘 모두를 포함하는 결합된 스케줄 정보를 프로세싱할 수 있다. 이 결합된 스케줄 정보는 교통 정류장 및/또는 교통 노선을 위치와 그리고 하나 이상의 정차 시간과 관련시킨다.
예시적인 실시형태에서, 결합된 스케줄 정보는 방향성 그래프 정보로 변환된다. 생성된 방향성 그래프 정보로부터 단순화된 맵을 실시간으로 생성하기 위해 맵 단순화기 모듈(map simplifier module)이 제공되는데, 여기서 단순화된 맵은 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함한다. 생성은, 예를 들면, 단순화된 맵을 실시간으로 렌더링하는 것을 포함할 수 있다. 동적인 그리고 최신의 도식 네트워크 시각화를 제공하기 위해, 도식적인 노선도의 실시간 생성을 위한 예시적인 맵 단순화기가 상기에서 개시된다.
단순화된 맵으로부터 동적인 도식적 맵을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로 렌더링하기 위한 동적 맵 렌더러 모듈(dynamic map renderer module)이 추가로 제공된다. 동적인 도식적 맵은 교통 네트워크의 적어도 일부, 바람직하게는, 단순화된 교통 노선 및 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 비롯한, 완전한 교통 네트워크의 개요를 디스플레이한다. 게다가, 시간 정보를 제공하기 위해, 렌더링된 동적인 도식적 맵은, 특정 시간 인스턴스에 기초하여 단순화된 교통 노선 및/또는 교통 정류장의 시각화를 변경하는 것에 의해 시간 인스턴스에서의 교통 정류장의 액세스 가능성 나타낸다.
시간 인스턴스는, 예를 들면, 현재 시간을 제공하기 위한 시계에 기초하여 자동적으로 제공될 수 있고 및/또는 예컨대 질의; 예를 들면, "다음 N분 동안의 네트워크의 맵을 보여줘"를 통해, 유저에 의해 선택될 수 있다. 일반적으로, 시간 인스턴스는 임의의 방식으로 제공될 수 있다. 예시적인 방법이 시간 인스턴스에 기초하여 실시간으로 동적인 도식적 맵을 생성하기 때문에, 그러한 동적인 도식적 맵은 교통 정류장의 액세스 가능성 또는 이용 가능성(예를 들면, 특정한 교통 정류장이 특정한 시간 인스턴스를 포함하는 소정의 시간 윈도우 내에서 이용 가능한지의 여부)에 관련되는 최신 정보를, 그러한 액세스 가능성/이용 가능성이 시스템에게 공지되자마자, 반영할 수 있다.
몇몇 예시적인 방법 및 시스템에서, 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하도록 구성되는 스케줄 편집기 모듈이 제공된다. 스케줄 정보는, 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 경로에 대한 시간 정보를 포함하는데, 여기서 트립은 정류장 시간 시퀀스(stop temporal sequence)를 포함한다. 경로 정보는 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함하며, 휠체어 액세스 가능성 또는 다른 액세스 가능성 피쳐, 기관(agency), 자전거 허용 가능성, 등등과 같은 그러나 이들로 제한되지는 않는, 교통 정류장 및/또는 교통 노선 중 하나 이상과 관련되는 메타데이터를 추가적으로 포함할 수도 있다. 스케줄 편집기 모듈은 또한 시간 정보 및 공간 정보로부터 결합된 스케줄 정보를 생성하도록 구성된다. 스케줄 편집기 모듈을 사용하여, 생성된 동적인 도식적 맵이 각각의 교통 정류장 및/또는 교통 노선에 대한 공간 및 시간 정보 둘 모두 반영하고 관련시키도록, 공간 정보 및 시간 정보는 결합된 스케줄 정보의 교통 정류장과 관련될 수 있다.
예시적인 스케줄 편집기 모듈은 또한 결합된 스케줄 정보를 생성 및 편집하기 위한 유저 인터페이스를 생성하도록 구성될 수 있다. 몇몇 예시적인 실시형태에서, 스케줄 편집기 모듈은 유저 인터페이스 상에서 지리적 영역의 상호 작용식 맵 뷰(interactive map view)를 생성하도록 그리고 적어도 공간 정보의 편집을 가능하게 하도록 구성되는 맵 뷰 편집기 모듈(map view editor module), 및 유저 인터페이스 상에서 교통 네트워크에 대한 상호 작용식 시공간 다이어그램 뷰(interactive space-time diagram view)를 생성하도록 그리고 적어도 시간 정보의 편집을 가능하게 하도록 구성되는 시공간 뷰 편집기 모듈(space-time view editor module)을 포함한다.
예를 들면, 교통 네트워크 운영자와 같은 유저는, 예컨대 교통 노선 및 그들의 교통 정류장을 따르는 하나 이상의 경로를 생성, 구성, 또는 업데이트하는 것에 의해, 공간 정보를 편집하도록 스케줄 편집기 모듈을 사용할 수 있다. 게다가, 유저 (또는 상이한 유저)는 업데이트된 정보를 반영하도록 시간 정보를 편집할 수 있다. 공간 및 시간 정보는 몇몇 실시형태에서 상이한 인터페이스를 사용하여 편집될 수 있고, 하나의 인터페이스를 통해 제공되는 편집된 정보는 다른 인터페이스 상에서 보이는 정보와 동기화될 수 있다. 몇몇 실시형태에서, 스케줄 편집기 모듈은 스케줄 정보에 대한 최종 변경이 이루어지기 이전에 시공간 일관성에 대한 수신된 편집을 체크할 수 있다.
도 7은 동적 대중 교통 맵을 생성하기 위한 예시적인 시스템에 대한 예시적인 시스템 아키텍쳐(150)를 도시하는데, 여기서, 하나의 실시형태에서, 모듈(152 및 154)은 애플리케이션 소프트웨어(56)의 일부를 형성하고 모듈(158)은 OS 소프트웨어(52)의 일부를 형성하고, 데이터 스토리지(156)는 도 1에서 도시되는 시스템(20)의 애플리케이션 데이터(54)의 일부를 형성한다. 예시적인 시스템 아키텍쳐(150)는, 교통 네트워크 운영자 또는 관리자와 같은 그러나 이들로 제한되지는 않는 유저가, 결합된 스케줄 정보를 제공하기 위해 대중 교통 네트워크(공간 정보를 제공함) 및 스케줄(시간 정보를 제공함)의 시각화를 효율적으로 편집하는 것을 허용할 수 있는 스케줄 편집기 모듈(152)을 포함한다. 스케줄 편집기 모듈(152)과 통신하는 동적 맵 생성 모듈(154)은, 편집된 데이터 또는 다른 제공된 결합된 스케줄 정보로부터, 단순화된 동적 대중 교통 맵(예시적인 동적인 도식적 맵)을 생성한다.
예시적인 시스템 아키텍쳐(150)는 스케줄 편집기 모듈(152) 및 동적 맵 생성 모듈(154)과 통신하는 데이터 스토리지(156)를 더 포함할 수 있다. 데이터 스토리지(156)는, 예를 들면, 단독의 또는 하나 이상의 다른 타입의 데이터 스토리지와 조합한 하나 이상의 데이터베이스에 의해 제공될 수 있는 데이터베이스에서 구체화될 수 있다. 전체적인(또는 부분적인) 네트워크 스케줄 및 경로를 나타내는 데이터는 데이터베이스(156)에 저장될 수 있다. 데이터베이스(156)는, 예를 들면, 가져오기(import)/내보내기(export) 모듈(158)을 통해, 및/또는 편집기 모듈(152)을 통해, 교통 네트워크의 설명을 제공하는 데이터를 가져오기하는 것에 의해 업데이트될 수 있다. 데이터는 임의의 적절한 포맷으로 제공될 수 있는데, 그 비제한적인 예는 GTFS와 같은 표준 교환 포맷이다.
스케줄 편집기 모듈(152)은, 예컨대 데이터 스토리지(156)로부터, 및/또는 스케줄 편집기 모듈(152)에 의해 제공되는 유저 인터페이스를 통해 유저로부터, 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하도록 구성되는 것이 바람직하다. 스케줄 정보는, 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 경로에 대한 시간 정보를 제공하는 것이 바람직하다. 트립은 정차 시간 시퀀스를 포함하는 것이 바람직하다. 경로 정보는, 각각의 교통 정류장 및 교통 노선의 위치를 비롯한, 경로 중 하나 이상에 대한, 바람직하게는, 경로의 각각에 대한 공간 정보를 제공한다. 스케줄 편집기 모듈(152)은, 예컨대 교통 정류장을 위치 및 정차 시간 둘 모두와 관련시키는 것에 의해, 시간 정보 및 공간 정보로부터 결합된 스케줄 정보를 생성한다.
종래의 대중 교통 스케줄 유지 도구는 통상적으로 세분화된 공간 차원을 핸들링하지 않는다. 충분한 공간 정보가 없으면, 스케줄로부터 전역적 공간 그래프로의 변환은 모호한 결과로 이어질 수 있다. 교통 정류장 사이의 연결을 더욱 완전하고 직관적으로 표현하고 관리하기 위해, 예시적인 스케줄 편집기 모듈(152)은 일반적으로, 두 개의 상호 작용식 뷰의 각각을 생성하도록 각각 구성되는 맵 뷰 편집기 모듈(160) 및 시공간 뷰 편집기 모듈(162)을 포함한다. 바람직하게는, 그 다음, 이들 뷰는 서로 동기화될 수 있다.
맵 뷰 편집기 모듈(152)은 유저 인터페이스 상에서 그리고 적어도 공간 정보의 편집을 가능하게 하기 위한 지리적 영역의 상호 작용식 맵 뷰를 생성한다. 유저 인터페이스(164) 상의 도 8에서 도시되는 맵 뷰 편집기 모듈에 의해 생성되는 제1 뷰의 한 예는, 교통 정류장 (예를 들면, 대중 교통 정류장)의 위치를 정확하게 편집하고 교통 정류장 사이의 경로를 추적하기 위해 유저가 하나 이상의 편집 커맨드를 제출하는 것을 허용하는, 지리적 영역(예를 들면, 도시)의 상호 작용식 맵(165)인데, 하나의 실시형태에서 유저 인터페이스(164)는 도 1에서 도시되는 시스템(20)의 유저 컴퓨팅 디바이스(22) 상에서 디스플레이된다. 편집 커맨드는 상호 작용식 맵(165)을 직접적으로 조작하는 것에 의해, 및/또는 도 8의 패널(170)에서의 예에 의해 도시되는 양식 필드 도구(166) 및 드롭 메뉴(168)와 같은 하나 이상의 편집 도구와 상호 작용하는 것에 의해 제공될 수 있다.
시공간 뷰 편집기 모듈(162)은 유저 인터페이스(164) 상에서 교통 네트워크에 대한 그리고 적어도 시간 정보의 편집을 가능하게 하기 위한 상호 작용식 시공간 다이어그램 뷰를 생성한다. 도 8에서 도시되는 시공간 뷰 모듈(162)에 의해 생성된 제2 뷰의 한 예는, 편집 커맨드를 통해 정차 시간 시퀀스로서 주어진 경로에 대해 스케줄링되는 트립(예를 들면, 교통 차량 트립)을 편집하는 것을 가능하게 하는 시공간 다이어그램(174)(예를 들면, 마레(Marey) 다이어그램)이다. 편집 커맨드는, 예컨대 적절한 디스플레이된 정보 및 편집 커맨드를 갖는 팝업 도구(176)를 통해, 및/또는 도 8의 패널(170)에서의 예에 의해 도시되는 양식 필드 도구(166) 및 드롭 메뉴(168)를 통해, 상호 작용식 시공간 다이어그램 뷰(174)를 직접적으로 조작하는 것에 의해, 및/또는 다른 편집 도구와 상호 작용하는 것에 의해 제공될 수 있다.
바람직하게는,도 8에서 도시되는 바와 같이, 상호 작용식 시공간 다이어그램 뷰(174)는 유저 인터페이스(164)에서 상호 작용식 맵 뷰(165)와 동시에 도시된다. 게다가, 예시적인 스케줄 편집기 모듈(152)은 바람직하게는 연속적으로(예를 들면, 실시간으로), 주기적으로 (즉, 규칙적인 시간, 커맨드 또는 편집 기반의 간격에서), 또는 유저가 뷰 중 하나 또는 둘 모두에 대한 하나 이상의 변경을 제출하거나 또는 수락하는 것에 응답하여, 하나의 또는 다른 뷰(165, 174)에서 수행되는 편집을 동기화하고, 뷰 둘 모두에서 동일한 선택된 오브젝트를 디스플레이한다. 도 8에서의 예시적인 유저 인터페이스(164)는 두 개의 동기화된 뷰(165, 174)의 예를 디스플레이한다.
바람직하게는, 예시적인 스케줄 편집기 모듈(152)은 하나 이상의 일반화 성능을 제공하는 것에 의해 편집을 단순화한다. 예를 들면, 시간 차원의 경우, 예시적인 스케줄 편집기 모듈(152)은, 주어진 경로의 상이한 트립 사이의 많은 양의 유사성을 가정하여, 예를 들면, 상호 작용 적 시공간 다이어그램 뷰(174)에서, 몇몇 정차 시간 시퀀스 패턴의, 하루 중 상이한 시간으로의 복제를 허용할 수 있다. 따라서, 유저는 특정 트립의 특정 시간적 변화에 더 잘 집중할 수 있다.
공간 차원의 경우, 예시적인 스케줄 편집기 모듈(152)은 유저가 예를 들면 상호 작용식 맵 뷰(165)에서 두 개의 교통 정류장을 연결하기 위해 이전에 정의된 하나 이상의 경로 형상을 사용하는 것을 허용하는 것이 바람직하다. 각각의 트립 세그먼트는 바람직하게는 경로 형상과 정확하게 관련된다. 예를 들면, 하나의 차량 트립이, 두 교통 정류장 사이에서 이전 트립과 동일한 연결 통로(path)(예를 들면, 도로)를 정확하게 따르는 경우 - 이것은 일반적인 경우임 - , 그러면, 기준(reference)이 그 이전 트립 세그먼트의 형상으로, 예를 들면, 메모리 및/또는 데이터 스토리지에서 간단히 저장될 수 있다. 그러나, 트립이 이전에 설명된 것들과는 다른 통로를 따르는 경우, 그러면, 유저는 이 트립 세그먼트에 대한 새로운 형상을 제공할 수 있다(예를 들면, 유저 인터페이스(164)를 통해 묘화하거나 또는 다르게는 입력할 수 있다). 트립 형상의 바람직하게는 세밀하지만, 여전히 효율적인 관리는 그래프로의 변환의 후속하는 스테이지에서 명료성(non-ambiguity)을 제공하는 것을 허용한다.
바람직하게는, 예시적인 편집 모듈(152)은, 유저에 의해 미리 결정되거나 또는 제공될 수 있는 하나 이상의 규칙을 사용하여, 생성되는 결합된 스케줄 정보의 시공간 일관성을 체크한다. 그러한 체킹은 연속적으로(실시간으로), 주기적으로, 또는 유저 선택에 응답하여 수행될 수 있다. 예를 들면, 예시적인 규칙은 스케줄링된 트립에 대한 교통 정류장 시퀀스가 경로에 의해 실제로 연결된다는 것일 수 있다. 다른 예시적인 규칙은, 시퀀스의 두 개의 교통 정류장 사이의 시간 범위가, 그들을 연결하는 경로 세그먼트의 공간적 거리와 호환된다는 것(즉, 예상된 평균 속도가 이치에 맞다는 것)일 수 있다.
일단 신뢰 가능한 스케줄 데이터가 이용 가능하면, 예시적인 동적 맵 생성 모듈(154)은 새로운 동적인 도식적 네트워크 맵을 생성 및 시각화(또는 시각화를 위해 생성)할 수 있다. 이것은, 자동적으로, 주기적으로, 스케줄 편집기(152)의 유저로부터의 요청에 응답하여, 유저가 통신 디바이스를 통해 생성된 동적인 도식적 맵을 보는 것에 응답하여, 또는 임의의 다른 소망되는 인스턴스에서 수행될 수 있다.
도식적인 노선도를 동적으로 생성하기 위한 예시적인 방법은 본원에서 개시되는 실시간의 도식적 맵 생성 방법 중 하나 이상을 통합할 수 있다. 동적 맵 생성 모듈(154)은, 이러한 방식으로, 바람직하게는 실시간으로, 교통 네트워크의 고품질의 단순화된 시각화를 생성할 수 있다. 모든 인스턴스에서 필요로 되는 것은 아니지만, 교통 시스템의 실제 상태를 반영하는 동적인 최신 정보를 제공하기 위해 그러한 시각화를 실시간으로 생성하는 것이 선호될 수도 있다.
예시적인 방법에서, 일단 결합된 스케줄 정보가 제공되면, 동적 맵 생성 모듈(154)의 스케줄 대 그래프 변환 모듈(180)이 스케줄 정보를 그래프 정보로 변환한다. 몇몇 예시적인 실시형태에서, 스케줄 대 그래프 변환 모듈(180)은 교통 정류장의 지리적 위치를 나타내는 복수의 정점, 및 교통 정류장 사이의 경로를 따르는 연결을 나타내는 에지를 나타내는 방향성 그래프 정보를 생성할 수 있다.
예를 들면, 일반 대중 교통 공급 명세(GTFS) 데이터는 스케줄 정보로서 스케줄 대 그래프 변환 모듈(180)에 입력될 수 있다. 스케줄 정보는, 교통 네트워크 토폴로지 및 역 이름 및 노선 이름과 같은(그러나 이들로 제한되지는 않음) 관련된 메타데이터를 명시할 수 있다. 이 스케줄 정보는 또한 본원에서 개시되는 바와 같은 스케줄 편집기 모듈(152)을 사용하여 몇몇 방법에서 편집될 수 있다.
도 9a는 특히 그르노블 트램 시스템에 대한 예시적인 교통 네트워크(190)의 초기 토폴로지를 도시한다. 각각의 교통 노선(201)은 복수의 교통 정류장 (또는 정류장)(207)을 연결하는 에지(203)를 포함한다. 교통 네트워크 토폴로지 그래프에 대한 정보는, 이 예에서는, 대중 교통 스케줄로부터 유도되었다. 스케줄 정보로부터 방향성 그래프 정보를 더욱 효과적으로 추출하기 위해, 하나 이상의 예시적인 기준을 고려하는 추출 방법이 활용될 수 있다.
예를 들면, 통상적인 대중 교통 스케줄은 트립별로 그리고 노선별로 데이터를 편제한다. 각각의 노선은 크게 중첩하는, 그러나, 예를 들면, 요일 및/또는 하루 중 시간에 따라 또한 달라지는 많은 트립을 갖는다(예를 들면, 피크 이외의 시간 또는 주말의 정류장의 관례적인 감소, 노선 분기, 등등을 고려한다). 본 예시적인 방법에 의해 생성되는 동적인 도식적 맵은, 바람직하게는, 교통 네트워크의 전체 토폴로지를 나타내고 현재 서비스 이용 가능성의 유용한 표시를 제공한다.
생성된 맵 상에서 동일한 노선에 대해 너무 많은 형상을 디스플레이하는 것을 방지하기 위해, 트립을 병합하는 것이 바람직하다. 정류장의 정확하게 동일한 시퀀스를 포함하는 트립은 단일의 형상에 의해 표현될 수 있다. 그러나, 분기와 같은 특수한 경우, 또는 차량이 노선을 따르는 몇몇 교통 정류장 (예를 들면, 스테이션)에서 정차하지 않는(즉, 건너뛰는) 경우, 추가적인 고려 사항을 제시한다.
예를 들면, 도 10은, 예시적인 트립인 트립 1 및 트립 2의 쌍에 대한 그래프(200)를 도시하는데, 여기서, 트립 1은 정류장 S1, S2, S3, S4, S5, S6 및 S7의 시퀀스를 포함하고 트립 2는 정류장 S1, S2, S3, S6, S7의 시퀀스를 포함한다. 트립 2의 형상이 지점 S4 및 S5를 더 포함하는지의 여부, 또는 트립이 S3에서부터 S6으로 직접적으로 이동하는지 여부는 알려지지 않을 수도 있다.
예시적인 방향성 그래프 생성 방법은, 예를 들면 스케줄 편집기 모듈(152)에서 생성되는 바와 같은 트립 세그먼트를 사용하여 이러한 타입의 모호성을 해결한다. 예시적인 방법에서, 각각의 트립은 노선의 다른 트립을 정의하기 위해 사용될 수 있는 연결된 비중첩 세그먼트(트립 세그먼트)에 의해 설명된다. 두 개(또는 그 이상의) 트립이 소정의 정류장 사이에서 동일한 통로를 따르는 경우, 이들 트립은 공통 트립 세그먼트를 포함한다. 그 다음, 이들 트립 세그먼트로부터 그래프 에지가 직접적으로 구축될 수 있다. 도 10의 예시적인 그래프(200)는, 공통 트립 세그먼트(202), 트립 1에 고유한 트립 세그먼트(204), 및 트립 2에 고유한 트립 세그먼트(206)를 비롯한 그러한 트립 세그먼트로부터 구성된다.
추가적으로 또는 대안적으로, 몇몇 예시적인 실시형태에서, 모든 트립을 사용하는 대신, 스케줄로부터 네트워크 방향성 그래프 정보를 추출하기 위해 하나 이상의 필터링 휴리스틱스가 추가될 수 있다. 예시적인 필터링 휴리스틱스는 다음을 포함하지만, 그러나 이들로 제한되지는 않는다:
1. 각각의 노선에 대해, 가장 많은 정류장을 통과하는 하나의 트립을 사용함;
2. 특정한 시간 간격에서 트립을 사용함;
3. 각각의 노선에 대해, 하루 동안의, 또는 특정 시간 프레임 동안의 N 개의 가장 완전한 트립을 병합함. 가장 완전한 트립은, 예를 들면, 가장 많은 수의 정류장을 통과하는 트립을 가리킬 수 있음; 및
4. 각각의 노선에 대해, 낮 동안의, 또는 특정 시간 프레임 동안의 가장 일반적인 트립 또는 트립들을 검출하고, 이들 노선만을 고려함.
방향성 그래프 정보가 주어지면, 전체 도식적인 네트워크 맵은, 예를 들면, 본원에서 제공되는 방법을 사용하는 것에 의해 생성될 수 있다. 동적 맵 생성 모듈(154)의 맵 단순화기 모듈(210)은, 예를 들면, 도 3에서 도시되는 단계(72, 74, 76, 및 78) 중 하나 이상을 사용하여, 생성된 방향성 그래프 정보로부터 단순화된 또는 도식적 맵을 실시간으로 생성할 수 있다. 생성된 단순화된 맵은, 단순화 이전에 교통 네트워크의 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함할 수 있다. 예시적인 방법으로 생성되는 예시적인 전체 도식적 네트워크 맵(212)이 도 9b에서 도시된다. 도 9b에서의 이 예시적인 도식적 네트워크 맵(212)은 도 9a에서 도시되는 그르노블 트램 네트워크(190)의 토폴로지의 것이다. 이 맵(212)는 단순화된 에지(218)를 사용하여 재배치된 교통 정류장(216)을 연결하는 단순화된 교통 노선(214)을 포함한다.
생성된 네트워크 맵(212)이 주어지면, 동적 맵 생성 모듈(154)의 동적 맵 렌더러 모듈(220)은, 그 다음, 단순화된 맵으로부터 동적인 도식적 맵을 실시간으로 임의의 적절한 디스플레이 상에서 렌더링할 수 있다. 동적 맵 생성 모듈(154)로부터의 렌더링된 동적 맵은, 단순화된 교통 노선(214) 및 단순화된 교통 노선을 따르는 교통 정류장(216) 중 하나 이상을 비롯하여, 교통 네트워크(190)의 적어도 일부, 및 바람직하게는 교통 네트워크의 전체 토폴로지를 디스플레이한다. 예시적인 디스플레이는, 본원에서 개시되는 것들 중 임의의 것을 포함하지만, 그러나 이들로 제한되지는 않는다.
추가적으로, 렌더링된 동적 맵(190)은, 시간 인스턴스에 기초하여 단순화된 교통 노선(214) 및/또는 교통 정류장의 시각화를 변경하는 것에 의해, 특정 시간 인스턴스에서의 교통 정류장(216)의 액세스 가능성 나타낸다. 시각화를 변경하기 위해 다양한 방법이 사용될 수 있다.
하나의 비제한적인 예로서, 예시적인 동적 맵 렌더러 모듈(220)은, 상이한 시간 사이에서 동일한 네트워크 형상을 유지하면서, 주어진 시간 인스턴스에서(또는 현재 시간에서의 또는 미래의 명시된 시간에서의 시간 인스턴스를 포함하는 시간 윈도우 내에서) 이용 가능하지 않은 도 9b에서 도시되는 (하나 이상의 에지(218)를 포함할 수도 있는) 교통 노선(214)의 교통 정류장(216) 및 경로 세그먼트를 디스플레이 상에서 시각적으로 강조 해제하는(de-emphasizing) 것(예를 들면, 변경되지 않는 엘리먼트로부터 구별하기 위해 교대하는 컬러(alternate color) 또는 감소된 해상도를 가지고 도시하는 것) 및/또는 (예를 들면, 또 다른 세부 사항을 위한 그들의 선택을) 비활성화하는 것에 의해 시각화를 변경할 수 있다. 도 9c는 도 9b에서 도시되는 시각화(212)를 변경하는 것에 의해 제공되는 평일 밤(예를 들면, 오전 1시 - 오전 2시) 동안 그르노블 트램 네트워크에 대해 유도되는 예시적인 렌더링된 동적 맵(230)을 도시한다. 도 9c에서 도시되는 렌더링된 동적 맵(230)에서, 주어진 시간 인스턴스에서(예를 들면, 오전 1시 - 오전 2시 윈도우 동안) 이용 가능하지 않은 노선(232) 및 교통 정류장(234)(이들 중 일부는 구체적으로 식별됨), 특히 "D" 노선(232b) 및 "E" 노선(232a)의 북쪽 끝에서의(Saint-Martin-Le-Vinoux Horloge 역에서의) 조기 종료가 시각적으로 강조 해제되었다(예를 들면, 회색 처리됨).
상이한 시간 인스턴스에서 맵(230)을 동적으로 렌더링하는 상이하고 더욱 세분화된 방식이 추가적으로 또는 대안적으로 사용될 수 있다. 비제한적인 예는 다음을 포함한다: 컬러를 수정하는 것; 노선 두께 또는 구성을 수정하는 것(예를 들면, 대시형(dashed), 도트형(dotted), 점각형(stippled), 등등); 하나 이상의 형상을 수정하는 것; 교통 정류장 마커를 수정하는 것; 교통 정류장 및/또는 교통 노선에 대한 라벨을 수정하는 것; 하나 이상의 표시에서 움직임을 생성하는 것(예를 들면, 하나 이상의 노선 또는 교통 정류장으로 하여금 반복적으로 깜박이거나, 축소하거나, 확대하거나, 또는 페이드하게 함); 및/또는 하루 중 상이한 시간에 대해 완전히 상이한 네트워크 시각화를 추출하고 재생성하는 것.
본 발명의 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크에 대한 도식적 맵을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로 자동적으로 생성하기 위한 방법을 제공한다. 교통 네트워크는 복수의 교통 정류장을 각각 연결하는 하나 이상의 교통 노선을 포함한다. 예시적인 방법에서, 복수의 교통 정류장의 지리적 위치를 나타내는 정점 및 교통 정류장 사이의 연결을 나타내는 에지를 나타내는 그래프 정보가 제공되는데, 여기서 교통 노선의 각각은 복수의 연결된 에지를 포함한다. 프로세서는 교통 정류장 중 하나 이상을 재배치하기 위해 사용되는데, 여기서 재배치하는 것은 도식적 맵의 가독성에 기초하여 목적 함수(objective function)를 최적화하기 위해 하나 이상의 교통 정류장에 대한 새로운 위치를 결정하는 것을 포함한다. 하나 이상의 교통 노선 상에서의 연결은, 도식적 맵을 생성하기 위해, 복수의 교통 정류장을 정렬하고 단순화된 k 선형 세그먼트를 사용하여 교통 노선을 따라 정렬된 교통 정류장을 연결하도록 보간을 사용하여 이산화되는데, 여기서 k 선형 세그먼트의 각각은, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나에 평행하고, 여기서 k는 적어도 2이다. 생성된 도식적 맵은 디스플레이를 위해 제공된다.
상기의 피쳐 중 임의의 것과 조합하여, 그래프 정보를 제공하는 것은 교통 네트워크에 대한 그래프 정보를 수신하는 것; 수신된 그래프 정보를 파싱하는 것; 및 파싱된 그래프 정보를 교통 네트워크에 대한 그래프 정보로 변환하는 것을 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은, 수신된 그래프 정보, 파싱된 그래프 정보, 또는 그래프 정보 중 하나 이상을 데이터 스토리지에 저장하는 것을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은: 그래프 정보로부터 교통 네트워크에서 하나 이상의 혼잡한 영역을 결정하는 것; 혼잡한 영역을 확대하기 위해 결정된 혼잡한 영역에 어안 변환 방법을 적용하는 것; 및 교통 네트워크의 주변 또는 경계에서 교통 네트워크의 영역을 압축하기 위해 어안 변환 방법을 추가로 적용하는 것을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 교통 네트워크에서 하나 이상의 혼잡한 영역을 결정하는 것은, 복수의 교통 정류장 중 다른 것에 대해 상대적으로 많은 수의 연결을 갖는 복수의 교통 정류장 중 하나 이상을, 검출된 혼잡한 영역으로서 결정하는 것을 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 교통 네트워크에서 하나 이상의 혼잡한 영역을 결정하는 것은, 복수의 교통 정류장의 지리적 위치의 이차원 공간 히스토그램을 구축하는 것, 및 상대적으로 더 큰 수의 교통 정류장을 갖는 하나 이상의 빈을 검출된 혼잡한 영역으로서 공간 히스토그램에서 선택하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 목적 함수는 교통 정류장 사이의 간격의 균일성 또는 교통 정류장 사이의 연결의 평활도(smoothness) 중 하나 이상을 고려한다. 상기의 피쳐 중 임의의 것과 조합하여, 목적 함수는 다음을 포함하는 이차 비용 함수를 포함한다: 재배치된 교통 정류장을 포함하는 수정된 네트워크에서 각각의 교통 정류장을 그 원래의 또는 이전의 위치로부터 새로운 위치로 변위하기 위한 제1 비용; 원래의 또는 이전의 위치의 평균 에지 길이로부터의 수정된 네트워크에서의 각각의 에지 길이의 차이를 나타내는 제2 비용; 및 수정된 네트워크의 그래프에서 평활하지 않은 노선을 갖는 것의 제3 비용. 상기의 피쳐 중 임의의 것과 조합하여, 목적 함수를 최적화하는 것은 비용 함수를 최소화하는 것을 포함하는데, 여기서 비용 함수를 최소화하는 것은 비용 함수의 일차 및 이차 미분계수를 계산하는 것; 및 하나 이상의 경유 정류장에 대한 최적의 위치를 결정하기 위해 신뢰 영역 방법을 사용하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 정렬된 교통 정류장은 단순화된 k 선형 세그먼트만을 사용하여 교통 노선을 따라 연결된다.
상기의 피쳐 중 임의의 것과 조합하여, 이산화는: 교통 노선의 하나 이상의 세그먼트를 정의하는 것; 그리디 접근법을 사용하여 하나 이상의 세그먼트를 k 선형 노선으로 단순화하는 것; 단순화된 하나 이상의 노선 및 관련된 교통 정류장을 제자리에 고정하는 제약을 점진적으로 생성하는 것; 및 단순화된 노선 및 관련된 교통 정류장의 타당성을 체크하는 것을 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 이산화는, 하나 이상의 교통 노선의 각각에 대해: 하나 이상의 앵커 지점에서 교통 노선을 복수의 세그먼트로 분할하는 것; 및 복수의 세그먼트의 각각에 대해: 세그먼트를 단순화하는 것; 단순화된 세그먼트의 부분의 각도를 가장 가까운 k 선형 각도로 양자화하는 것; 상기 양자화로부터 대응하는 서브세그먼트의 k 선형 각도로 세그먼트 지점을 선형적으로 보간하는 세그먼트의 시작 및 종료 지점을 통과하는 세그먼트 단순화를 생성하는 것; 및 최종 세그먼트에 기초하여 앵커 지점을 업데이트하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 상기 방법은: 정렬된 교통 정류장 중 하나를 가상 중간 지점에 연결하는 제1 추가적인 k 선형 세그먼트를 도식적 맵에서 삽입하는 것; 및 가상 중간 지점을 정렬된 교통 정류장 중 다른 것에 연결하는 제2 추가적인 k 선형 세그먼트를 도식적 맵에서 삽입하는 것을 더 포함할 수도 있다.
상기의 피쳐 중 임의의 것과 조합하여, 생성된 도식적 맵은 웹 또는 네이티브 애플리케이션을 통해 제공되는 상호 작용식 맵이다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은, 웹 또는 네이티브 애플리케이션을 통해, 웹 또는 네이티브 애플리케이션을 통해 디스플레이 상에 교통 네트워크의 맵을 시각화하는 것; 시각화된 맵에 기초하여 상호 작용식 도식적 맵을 생성하기 위한 하나 이상의 파라미터를 수신하는 것; 및 수신된 하나 이상의 파라미터에 기초하여 시각화된 맵에 기초하여 상호 작용식 도식적 맵을 생성하는 것을 더 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 방법은, 생성된 상호 작용식 도식적 맵을 유저 인터페이스를 통해 편집하기 위한 하나 이상의 편집 커맨드를 수신하는 것; 디스플레이 상에서의 디스플레이를 위한 편집된 도식적 맵을 제공하기 위해 수신된 편집 커맨드에 기초하여 생성된 상호 작용식 도식적 맵을 편집하는 것; 편집된 도식적 맵에서 복수의 교통 정류장을 재정렬하기 위한 커맨드를 수신하는 것; 복수의 교통 정류장을 재정렬하는 것 및 단순화된 k 선형 세그먼트를 사용하여 정렬된 교통 정류장을 연결하는 것을 비롯하여, 수신된 커맨드에 응답하여 편집된 도식적 맵을 재정렬하는 것; 디스플레이 상에서의 디스플레이를 위해 재정렬된 편집된 도식적 맵을 제공하는 것; 및 생성된 상호 작용식 도식적 맵, 편집된 도식적 맵, 또는 재정렬된 편집된 도식적 맵 중 하나 이상을 저장하는 것을 더 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 웹 애플리케이션은 아키텍쳐의 프론트 엔드 상에서 호스팅되는데, 여기서 아키텍쳐는 수신된 그래프 정보를 파싱하는 것, 또는 상호 작용식 도식적 맵을 생성하는 것 중 하나 이상을 위한 백엔드를 더 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 방법은 시간의 하나 이상의 기간에 걸쳐 교통 네트워크를 통한 이동 옵션을 포함하는 동적 맵을 제공하기 위해 생성된 도식적 맵을 실시간으로 업데이트하는 것을 더 포함한다.
본 발명의 추가적인 예시적 실시형태는, 다른 것들 중에서도, 초기 네트워크 레이아웃으로부터, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 디스플레이 상의 단순화된 네트워크 레이아웃을 자동적으로 생성하기 위한 방법을 제공하는데, 초기 네트워크 레이아웃은 복수의 노드를 각각 연결하는 하나 이상의 노선을 포함한다. 예시적인 방법에서, 초기 네트워크 레이아웃에서의 복수의 노드의 지리적 위치를 나타내는 복수의 정점 및 노드 사이의 연결을 나타내는 에지를 나타내는 초기 네트워크 레이아웃에 대한 그래프 정보가 제공되는데, 노선의 각각은 복수의 연결된 에지를 포함한다. 프로세서는 노드 중 하나 이상을 재배치하기 위해 사용되는데, 여기서 재배치는 단순화된 네트워크 레이아웃의 가독성에 기초하여 목적 함수를 최적화하기 위해 하나 이상의 노드에 대한 새로운 위치를 결정하는 것을 포함한다. 노드 및 에지는, 단순화된 네트워크 레이아웃을 생성하기 위해, 복수의 노드를 정렬하고 단순화된 k 선형 세그먼트를 사용하여 정렬된 노드를 연결하도록 보간을 사용하여 이산화되는데, 여기서 k 선형 세그먼트의 각각은, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나와 평행한데, 여기서 k는 적어도 2이다. 디스플레이를 위해 단순화된 네트워크 레이아웃이 제공된다.
상기의 피쳐 중 임의의 것과 조합하여, 그래프 정보를 제공하는 것은 초기 네트워크 레이아웃에 대한 그래프 정보를 수신하는 것; 수신된 그래프 정보를 파싱하는 것; 및 파싱된 그래프를 초기 네트워크 레이아웃에 대한 그래프 정보로 변환하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 목적 함수는 노드 사이의 간격의 균일성 또는 노드 사이의 연결의 평활도 중 하나 이상을 고려한다. 상기의 피쳐 중 임의의 것과 조합하여, 목적 함수는 다음을 포함하는 이차 비용 함수를 포함한다: 재배치된 노드를 포함하는 수정된 네트워크에서 각각의 노드를 그 원래의 또는 이전의 위치로부터 새로운 위치로 변위하기 위한 제1 비용; 원래의 또는 이전의 위치의 평균 에지 길이로부터의 수정된 네트워크에서의 각각의 에지 길이의 차이를 나타내는 제2 비용; 및 수정된 네트워크의 그래프에서 평활하지 않은 노선을 갖는 제3 비용. 상기의 피쳐 중 임의의 것과 조합하여, 목적 함수를 최적화하는 것은 비용 함수를 최소화하는 것을 포함하는데, 여기서 비용 함수를 최소화하는 것은 비용 함수의 일차 및 이차 미분계수를 계산하는 것; 및 하나 이상의 노드에 대한 최적의 위치를 결정하기 위해 신뢰 영역 방법을 사용하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 정렬된 교통 정류장은 단순화된 k 선형 세그먼트만을 사용하여 교통 노선을 따라 연결된다.
상기의 피쳐 중 임의의 것과 조합하여, 이산화는: 노선의 하나 이상의 세그먼트를 정의하는 것; 그리디 접근법을 사용하여 하나 이상의 세그먼트를 k 선형 노선으로 단순화하는 것; 단순화된 하나 이상의 노선 및 관련된 노드를 제자리에 고정하는 제약을 점진적으로 생성하는 것; 및 단순화된 노선 및 관련된 노드의 타당성을 체크하는 것을 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 이산화는, 하나 이상의 노선의 각각에 대해: 하나 이상의 앵커 지점에서 노선을 복수의 세그먼트로 분할하는 것; 및 복수의 세그먼트의 각각에 대해: 세그먼트를 단순화하는 것; 단순화된 세그먼트의 부분의 각도를 가장 가까운 k 선형 각도로 양자화하는 것; 상기 양자화로부터 대응하는 서브세그먼트의 k 선형 각도로 세그먼트 지점을 선형적으로 보간하는 세그먼트의 시작 및 종료 지점을 통과하는 세그먼트 단순화를 생성하는 것; 및 최종 세그먼트에 기초하여 앵커 지점을 업데이트하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 방법은: 정렬된 노드 중 하나를 가상 중간 지점에 연결하는 제1 추가적인 k 선형 세그먼트를 단순화된 네트워크 레이아웃에서 삽입하는 것; 및 가상 중간 지점을 정렬된 노드 중 다른 것에 연결하는 제2 추가적인 k 선형 세그먼트를 단순화된 네트워크 레이아웃에서 삽입하는 것을 더 포함할 수도 있다.
본 발명의 다른 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크에 대한 동적인 도식적 맵을, 디스플레이 상에서의 디스플레이를 위해, 생성하기 위한 프로세서 및 메모리를 포함하는 시스템을 제공하는데, 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하고, 동적 맵은, 시간 인스턴스에서의 교통 노선을 따르는 하나 이상의 경로를 통한 교통 네트워크의 교통 정류장의 액세스 가능성을 실시간으로 나타낸다.
예시적인 시스템에서, 결합된 스케줄 정보를 수신하고 결합된 스케줄 정보로부터 방향성 그래프 정보를 생성하기 위한 스케줄 대 그래프 생성 모듈(schedule-to-graph generation module)이 제공되는데, 결합된 스케줄 정보는, 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함하고, 결합된 스케줄 정보는 교통 정류장 및 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킨다. 생성된 방향성 그래프 정보로부터 단순화된 맵을 실시간으로 생성하기 위해 맵 단순화기 모듈이 제공되는데, 단순화된 맵은 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함한다. 단순화된 교통 노선 및 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 단순화된 맵으로부터 동적 맵을, 실시간으로, 디스플레이 상에서의 디스플레이를 위해, 렌더링하기 위한 동적 맵 렌더러 모듈이 제공된다. 동적 맵은 시간 인스턴스에 기초하여 단순화된 교통 노선 및/또는 교통 정류장의 시각화를 변경하는 것에 의해 시간 인스턴스에서의 교통 정류장의 액세스 가능성 나타낸다.
상기의 피쳐 중 임의의 것과 조합하여, 시스템은 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하도록 구성되는 스케줄 편집기 모듈을 더 포함한다. 스케줄 정보는, 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 경로에 대한 시간 정보를 포함하는데, 여기서 트립은 정류장 시간 시퀀스를 포함한다. 경로 정보는 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함한다. 스케줄 편집기 모듈은 또한 시간 정보 및 공간 정보로부터 결합된 스케줄 정보를 생성하도록 구성된다.
상기의 피쳐 중 임의의 것과 조합하여, 시스템은 교통 네트워크에 대한 적어도 전체 스케줄 및 경로 정보를 저장하도록 구성되는 데이터 스토리지를 더 포함하는데, 스케줄 편집기 모듈은 데이터 스토리지와 통신한다.
상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은 또한 결합된 스케줄 정보를 생성 및 편집하기 위한 유저 인터페이스를 생성하도록 구성된다. 상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은, 유저 인터페이스 상에서 지리적 영역의 상호 작용식 맵 뷰를 생성하도록 그리고 적어도 공간 정보의 편집, 그리고 몇몇 예시적인 실시형태에서 교통 정류장 및/또는 교통 노선 중 하나 이상에 대한 시간 정보 및/또는 메타데이터의 추가적인 편집을 가능하게 하도록 구성되는 맵 뷰 편집기 모듈; 및 유저 인터페이스 상에서 교통 네트워크에 대한 상호 작용식 시공간 다이어그램 뷰를 생성하도록 그리고 적어도 시간 정보의 편집, 및 몇몇 예시적인 실시형태에서, 교통 정류장 및/또는 교통 노선 중 하나 이상에 대한 공간 정보 및/또는 메타데이터의 추가적인 편집을 가능하게 하도록 구성되는 시공간 뷰 편집기 모듈을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은 또한 유저 인터페이스를 통해, 상호 작용식 맵 뷰와 동시에, 디스플레이를 위해 상호 작용식 시공간 다이어그램 뷰를 제공하도록 구성된다. 상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은 또한 맵 뷰 편집기 모듈 및 시공간 뷰 편집기 모듈로부터의 스케줄 정보에 대한 편집을 동기화하도록 구성되는데, 생성된 맵 뷰는 시공간 뷰 편집기 모듈을 통한 편집을 포함하도록 실시간으로 동기화되고, 생성된 시공간 다이어그램은 맵 뷰 편집기 모듈을 통한 편집을 포함하도록 실시간으로 동기화된다. 상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은 또한 하나 이상의 일반화 성능을 제공하는 것에 의해 공간 및/또는 시간 정보의 편집을 단순화하도록 구성된다. 상기의 피쳐 중 임의의 것과 조합하여, 스케줄 편집기 모듈은 또한 하나 이상의 규칙에 기초하여 편집된 공간 및/또는 시간 정보의 시공간 일관성을 체크하도록 구성된다.
상기의 피쳐 중 임의의 것과 조합하여, 그래프 대 스케줄 생성 모듈에 의해 생성되는 방향성 그래프 정보는 교통 정류장의 지리적 위치를 나타내는 복수의 정점 및 교통 정류장 사이의 경로를 따르는 연결을 나타내는 에지를 나타낸다. 상기의 피쳐 중 임의의 것과 조합하여, 스케줄 대 그래프 생성 모듈은, 교통 노선의 각각에 대해, 트립 세그먼트로부터 방향성 그래프의 에지를 구축하는 것에 의해 경로를 따르는 하나 이상의 트립을 병합하도록; 및/또는 노선의 각각에 대한 정류장 및 에지를 추출하기 위해 하나 이상의 필터링 휴리스틱스를 적용하도록 구성된다.
상기의 피쳐 중 임의의 것과 조합하여, 필터링 휴리스틱스는 다음의 것 중 하나 이상을 포함한다: 각각의 교통 노선에 대해, 가장 많은 정류장을 통과하는 트립을 선택하는 것; 선택된 시간 간격에서 트립을 선택하는 것; 선택된 시간 간격 동안 N 개의 가장 완전한 트립 - 가장 완전한 트립은 가장 큰 수의 교통 정류장을 통과하는 또는 교통 노선의 가장 큰 부분을 통과하는 트립을 포함함 - 을 병합하는 것; 또는 각각의 교통 노선에 대해, 가장 일반적인 트립 또는 트립들을 검출하고 검출된 일반적인 트립 또는 트립들을 포함시키는 것.
상기의 피쳐 중 임의의 것과 조합하여, 맵 단순화기 모듈에 의해 생성되는 단순화된 교통 노선의 각각은 교통 정류장을 연결하는 하나 이상의 트립 세그먼트를 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 시각화를 변경하는 것은 다음의 것 중 하나 이상을 포함한다: 컬러, 노선 두께, 또는 마커를 수정하는 것 중 하나 이상에 의해 상이한 시간 인스턴스에서 단순화된 교통 노선 및/또는 교통 정류장을 동적으로 렌더링하는 것; 상이한 시간 인스턴스에서 단순화된 교통 노선 및/또는 교통 정류장의 상이한 시각화를 생성하는 것; 또는 주어진 시간 인스턴스에서 이용 가능하지 않은 단순화된 교통 노선 및/또는 교통 정류장의 디스플레이를 비활성화하는 것.
상기의 피쳐 중 임의의 것과 조합하여, 시스템은 교통 네트워크에 대한 적어도 전체 스케줄 및 경로 정보를 저장하도록 구성되는 데이터 스토리지 - 스케줄 편집기 모듈은 상기 데이터 스토리지와 통신함 - ; 및 교통 네트워크에 대한 스케줄 및 경로 정보를 수신하기 위해 상기 데이터 스토리지와 통신하는 가져오기-내보내기 모듈을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 수신된 스케줄 및 경로 정보는 표준화된 포맷이다. 상기의 피쳐 중 임의의 것과 조합하여, 표준화된 포맷은 일반 대중 교통 공급 명세(GTFS)이다.
상기의 피쳐 중 임의의 것과 조합하여 시스템은 서버 상에 있다.
본 발명의 다른 예시적인 실시형태는, 다른 것들 중에서도, 지리적 영역에서의 교통 네트워크에 대한 동적 맵을, 디스플레이 상에서의 디스플레이를 위해, 제공하기 위한 방법을 제공한다. 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하는데, 동적 맵은 시간 인스턴스에서의 교통 노선을 따르는 하나 이상의 경로를 통한 교통 네트워크의 교통 정류장의 액세스 가능성 실시간으로 나타낸다.
예시적인 방법에서, 결합된 스케줄 정보가 수신되고, 결합된 스케줄 정보로부터 방향성 그래프 정보가 생성된다. 결합된 스케줄 정보는 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함하는데, 여기서 결합된 스케줄 정보는 교통 정류장 및 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킨다. 생성된 방향성 그래프 정보로부터 단순화된 맵이 실시간으로 생성되는데, 단순화된 맵은 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함한다. 동적 맵은, 단순화된 교통 노선 및 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 단순화된 맵으로부터, 실시간으로, 디스플레이 상에서의 디스플레이를 위해 렌더링된다. 동적 맵은 시간 인스턴스에 기초하여 단순화된 교통 노선 및/또는 교통 정류장의 시각화를 변경하는 것에 의해 시간 인스턴스에서의 교통 정류장의 액세스 가능성 나타낸다.
상기의 피쳐 중 임의의 것과 조합하여, 방법은 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하는 것 및 시간 정보 및 공간 정보로부터 결합된 스케줄 정보를 생성하는 것을 더 포함한다. 스케줄 정보는, 경로를 따르는 복수의 트립의 각각에 대한, 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 경로에 대한 시간 정보를 포함하는데, 여기서 트립은 정류장 시간 시퀀스를 포함한다. 경로 정보는 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 경로의 각각에 대한 공간 정보를 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 방법은 결합된 스케줄 정보를 생성 및 편집하기 위한 유저 인터페이스를 제공하는 것을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은, 유저 인터페이스 상에서 지리적 영역의 상호 작용식 맵 뷰를 생성하고 적어도 공간 정보의 편집, 그리고 몇몇 예시적인 실시형태에서 교통 정류장 및/또는 교통 노선 중 하나 이상에 대한 시간 정보 및/또는 메타데이터의 추가적인 편집을 가능하게 하는 것; 유저 인터페이스 상에서 교통 네트워크에 대한 상호 작용식 시공간 다이어그램 뷰를 생성하고 적어도 시간 정보의 편집, 및 몇몇 예시적인 실시형태에서, 교통 정류장 및/또는 교통 노선 중 하나 이상에 대한 공간 정보 및/또는 메타데이터의 추가적인 편집을 가능하게 하는 것; 유저 인터페이스를 통해, 상호 작용식 맵 뷰와 동시에, 디스플레이를 위해 상호 작용식 시공간 다이어그램 뷰를 제공하는 것; 및 편집된 공간 및 시간 정보에 기초하여 상호 작용식 시공간 다이어그램 뷰 및 상호 작용식 맵 뷰를 동기화하는 것을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은 하나 이상의 일반화 성능을 제공하는 것에 의해 공간 및/또는 시간 정보의 편집을 단순화하는 것을 더 포함한다. 상기의 피쳐 중 임의의 것과 조합하여, 방법은 하나 이상의 규칙에 기초하여 편집된 공간 및/또는 시간 정보의 시공간 일관성을 체크하는 것을 더 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 생성된 방향성 그래프 정보는 교통 정류장의 지리적 위치를 나타내는 복수의 정점 및 교통 정류장 사이의 경로를 따르는 연결을 나타내는 에지를 나타낸다. 상기의 피쳐 중 임의의 것과 조합하여, 방향성 그래프 정보를 생성하는 것은, 교통 노선의 각각에 대해, 트립 세그먼트로부터 방향성 그래프의 에지를 구축하는 것에 의해 경로를 따르는 하나 이상의 트립을 병합하는 것; 및/또는 노선의 각각에 대한 정류장 및 에지를 추출하기 위해 하나 이상의 필터링 휴리스틱스를 적용하는 것을 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 필터링 휴리스틱스는 다음의 것 중 하나 이상을 포함한다: 각각의 교통 노선에 대해, 가장 많은 정류장을 통과하는 트립을 선택하는 것; 선택된 시간 간격에서 트립을 선택하는 것; 선택된 시간 간격 동안 N 개의 가장 완전한 트립 - 가장 완전한 트립은 가장 큰 수의 교통 정류장을 통과하는 또는 교통 노선의 가장 큰 부분을 통과하는 트립을 포함함 - 을 병합하는 것; 또는 각각의 교통 노선에 대해, 가장 일반적인 트립 또는 트립들을 검출하고 검출된 일반적인 트립 또는 트립들을 포함시키는 것.
상기의 피쳐 중 임의의 것과 조합하여, 단순화된 교통 노선의 각각은 교통 노선을 따르는 교통 정류장을 연결하는 하나 이상의 경로 세그먼트를 포함한다.
상기의 피쳐 중 임의의 것과 조합하여, 시각화를 변경하는 것은 다음의 것 중 하나 이상을 포함한다: 컬러, 노선 두께, 또는 마커를 수정하는 것 중 하나 이상에 의해 상이한 시간 인스턴스에서 단순화된 교통 노선 및/또는 교통 정류장을 동적으로 렌더링하는 것; 상이한 시간 인스턴스에서 단순화된 교통 노선 및/또는 교통 정류장의 상이한 시각화를 생성하는 것; 또는 주어진 시간 인스턴스에서 이용 가능하지 않은 단순화된 교통 노선 및/또는 교통 정류장의 디스플레이를 비활성화하는 것.
상기의 피쳐 중 임의의 것과 조합하여, 수신된 스케줄 및 경로 정보는 표준화된 포맷이다. 상기의 피쳐 중 임의의 것과 조합하여, 표준화된 포맷은 일반 대중 교통 공급 명세(GTFS)이다.
다시 도 1을 참조하면, 예시적인 네트워크(26)는, 근거리 통신망(local area network; LAN 또는 WLAN), 광역 네트워크(wide area network; WAN 또는 WWAN), 인터넷, 원격 통신 네트워크 예컨대 공중 교환식 전화망(public switched telephone network; PSTN), 지상 회선(landline) 네트워크, 이더넷(Ethernet) 또는 광섬유 네트워크, 무선 네트워크 예컨대 주파수 호핑 확산 스펙트럼(frequency-hopping spread spectrum; FHSS) 무선 네트워크, GPRS 네트워크, Wi-Fi(와이파이)(예를 들면, 802.11) 네트워크, Wi-Max(와이맥스)(예를 들면, 802.16) 네트워크, TCP/IP 네트워크, CDMA 네트워크, 또는 상기의 것의 임의의 조합을 포함하는 네트워크와 같은 그러나 이들로 제한되지는 않는 무선 네트워크 또는 유선 네트워크 중 하나 이상에서 구체화될 수도 있다.
통신 인터페이스(28)의 각각은 다른 디바이스에 대한 통신에 관련되는 소프트웨어 및/또는 하드웨어일 수도 있다. 통신 인터페이스(28)는, 유저 인터페이스, USB, 이더넷, Wi-Fi, 무선, RF, 광학, 셀룰러, 또는 네트워크(26)에 커플링되는 임의의 다른 통신 인터페이스를 포함하는 하나의 또는 상이한 타입의 것일 수도 있다.
컴퓨터(24)는, 범용 프로세서, 특수 목적 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 하나 이상의 추가적인 프로세서에 의해 실행되는 가상 프로세서, 직렬 또는 병렬로 동작하는 복수의 마이크로프로세서, DSP 코어와 관련하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 집적 회로(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신, 및 기타 중 하나 이상을 포함할 수도 있는 프로세서(32)를 포함한다. 프로세서(32)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입력/출력 프로세싱, 및/또는 컴퓨터(24) 및/또는 시스템(20)이 자신의 의도된 기능성에 따라 동작하는 것을 가능하게 하는 임의의 다른 기능성 중 하나 또는 이들의 조합을 수행할 수도 있다. 본원에서의 "프로세서"에 대한 언급은, 마찬가지로, 단일의 프로세서, 또는 직렬 및/또는 병렬로 동작하는 하나 이상의 프로세서를 지칭하도록 의도된다.
컴퓨터(24)는, 그래픽 프로세싱 유닛(graphics processing unit; GPU)(34), 비디오 메모리(36), 및/또는 비디오 인터페이스(도시되지 않음)를 비롯하여, 그래픽 인터페이스를 더 포함할 수도 있다. 이들 컴포넌트는 디스플레이(도시되지 않음)와 같은 비디오 모니터에 그래픽 및 텍스트를 디스플레이하기 위해 협력할 수도 있다. GPU(34)는 추가적으로 또는 대안적으로 프로세서의 전부 또는 일부를 제공할 수도 있다.
프로세서(32)는 본원에서 개시되는 하나 이상의 방법에서 제공되는 바와 같이 데이터를 수신, 생성, 및 프로세싱할 수도 있다. 동작에서, 프로세서(32)는 하나 이상의 명령어를 페치(fetch), 디코딩, 및 실행할 수도 있고, 시스템 버스(38)와 같은 컴퓨터의 전송 통로를 통해 다른 리소스로 그리고 다른 리소스로부터 정보를 전송할 수도 있다. 예시적인 시스템 버스(38)는 컴퓨터(24)의 예시적인 컴포넌트를 연결하고 데이터 교환을 위한 매체를 정의할 수 있다. 시스템 버스(38)는 통상적으로 데이터를 전송하기 위한 데이터 라인, 어드레스를 전송하기 위한 어드레스 라인, 및 인터럽트를 전송하기 위한 그리고 시스템 버스를 동작시키기 위한 제어 라인을 포함한다. 그러한 시스템 버스(38)의 비제한적인 예는 PCI(Peripheral Component Interconnect; 주변 장치 컴포넌트 인터커넥트) 버스이거나 또는 이를 포함한다.
컴퓨터(24)는, 리드 온리 메모리(read only memory; ROM), EEPROM 및 RAM과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 판독 가능 저장 매체를 포함할 수도 있는 메모리(40)를 더 포함한다. 기술 분야의 숙련된 자에 의해 이해될 바와 같은 기본 루틴을 포함하는 기본 입력/출력 시스템(basic input/output system; BIOS)이 ROM에 저장될 수도 있다. RAM은, 예를 들면, 프로세서(32)가 즉시 액세스 가능하고 및/또는 프로세서(32)에 의해 현재 동작되고 있는 데이터, 데이터 테이블, 및/또는 모듈(예를 들면, 프로그램 모듈)을 포함할 수도 있다.
컴퓨터(24)는 또한, 컴퓨터 판독 가능 저장 매체(44)를 포함할 수도 있거나, 그것을 수용할 수도 있거나, 또는 (예를 들면, 미디어 인터페이스(42)를 통해) 그것과 인터페이싱할 수도 있다. 컴퓨터 판독 가능 저장 매체(44)는 정보의 저장을 위한 임의의 비일시적(즉, 유형의 또는 물리적) 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함하지만, 그러나 그러한 컴퓨터 판독 가능 저장 매체는 단지 신호를 포함하지는 않는다. 비제한적인 예는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, 디스크 드라이브 예컨대 하드 디스크 드라이브(hard disk drive; HDD), 자기 디스크 드라이브, 광자기 디스크 드라이브, 광학 디스크 드라이브 예컨대 CD-ROM, BD-ROM, 디지털 다기능 디스크(digital versatile disk; DVD)를 포함한다.
다른 예시적인 컴퓨터 저장 매체(44)는, 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다기능 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM, 등등을 포함하지만, 그러나 이들로 제한되지는 않는다. 그러한 드라이브 및 그들의 관련된 컴퓨터 저장 매체는 컴퓨터(22)에 대한 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 다른 데이터의 저장을 제공할 수 있다.
컴퓨터(24)는 컴퓨터에 커맨드 및 정보를 입력하기 위한 하나 이상의 입력 디바이스(도시되지 않음)를 포함할 수도 있다. 예시적인 입력 디바이스는 키보드, 버튼, 포인팅 디바이스, 트랙볼, 터치 패드, 터치 스크린, 다이얼, 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너, 및 기타를 포함한다. 이들 및 다른 입력 디바이스는 시스템 버스(38)에 커플링되는 적절한 유저 입력/출력 인터페이스(46)를 통해, 또는 병렬 포트, 게임 포트 또는 범용 직렬 버스(universal serial bus; USB)와 같은 다른 인터페이스 및 버스 구조에 의해 프로세서(32)에 연결될 수 있다. 컴퓨터(24)는, 네트워크 인터페이스 또는 어댑터와 같은 그러나 이들로 제한되지는 않는 통신 인터페이스를 통해 네트워크(26)에 연결될 수도 있다.
본원에서 설명되는 장치, 시스템, 방법 및 프로세스 중 임의의 것 또는 전부는 컴퓨터 판독 가능 저장 매체(예를 들면,비일시적 컴퓨터 판독 가능 저장 매체) 상에 저장되는 컴퓨터 실행 가능 명령어(즉, 프로그램 코드)의 형태로 구체화될 수도 있다는 것이 이해될 것인데, 그 명령어는, 프로세서(32)와 같은 프로세서에 의해 실행될 때, 프로세서로 하여금, 본원에서 설명되는 시스템, 방법 및 프로세스를 수행 및/또는 구현하게 한다. 구체적으로, 본원에서 설명되는 단계, 동작 또는 기능 중 임의의 것은, 컴퓨터, 또는 그러한 컴퓨터를 포함하는 장치 또는 시스템의 프로세서 상에서 실행되는 그러한 컴퓨터 실행 가능 명령어의 형태로 구현될 수도 있다. 본원에서의 임의의 방법에 대한 언급은, 그러한 방법 또는 그 임의의 부분을 통합하는 프로세스, 그러한 방법 또는 그 임의의 부분을 구현하는 장치 또는 시스템, 또는 컴퓨터 판독 가능 저장 매체 상에 저장되는 컴퓨터 실행 가능 명령어에 대한 언급인 것으로 (실행 가능한 범위까지) 또한 의도되는데, 그 명령어는, 프로세서에 의해 실행될 때, 프로세서로 하여금, 그러한 방법 또는 그 임의의 부분을 수행 및/또는 구현하게 한다.
예시적인 시스템(20)은, 바람직하게는, 데이터베이스(50)를 포함하지만 반드시 그런 것은 아니다. 데이터베이스(50)는, 제공되는 경우, 컴퓨터(24)와 통신할 수도 있거나 또는 컴퓨터 내에 통합될 수도 있다. 데이터베이스(50)는 상기에서 언급되는 메모리(40) 중 임의의 것과 같은 메모리를 포함하고, 컴퓨터 실행 가능 명령어로 구체화되는 데이터베이스 소프트웨어를 실행하기 위한 프로세서를 포함할 수 있다. 데이터베이스 소프트웨어는 본원의 다른 컴퓨터 실행 가능 명령어에 대한 것과 유사한 또는 상이한 방식으로 데이터베이스(50)의 프로세서에게 이용 가능하게 만들어질 수 있다.
메모리(40)는 오퍼레이팅 시스템 소프트웨어(52), 프로세서에 의해 프로세싱될 수 있는 데이터, 예를 들면, 애플리케이션 데이터(54), 및 애플리케이션 소프트웨어(56), 예를 들면, 프로세서(32)로 하여금 본원의 예시적인 방법에 따라 데이터를 프로세싱하게 하기 위한 컴퓨터 실행 가능 명령어를 포함하는 하나 이상의 모듈을 포함(예를 들면, 저장)하는 것이 바람직하다. 메모리(40) 또는 그 일부에 저장되는 데이터는, 추가적으로 또는 대안적으로, 데이터베이스(50)에 저장될 수 있거나, 또는 데이터베이스에 저장될 수 있고 메모리로 전송(예를 들면, 로딩)될 수 있다.
전술한 설명은 본질적으로 예시적인 것에 불과하며, 본 개시, 그것의 응용, 또는 용도를 어떤 식으로든 제한하도록 의도되지는 않는다. 본 개시의 광범위한 교시는 다양한 형태로 구현될 수도 있다. 따라서, 본 개시가 특정한 예를 포함하지만, 본 개시의 진정한 범위는 도면, 명세서, 및 하기의 청구범위의 연구를 기반으로 다른 수정이 명백할 것이기 때문에, 그렇게 제한되지 않아야 한다. 방법 내에서의 하나 이상의 단계는, 본 개시의 원리를 변경하지 않으면서 상이한 순서로(또는 동시에) 실행될 수도 있다는 것이 이해되어야 한다. 게다가, 비록 실시형태의 각각이 소정의 피쳐를 갖는 것으로 상기에서 설명되지만, 본 개시의 임의의 실시형태와 관련하여 설명되는 그들 피쳐 중 임의의 하나 이상은, 다른 실시형태 중 임의의 것의 피쳐에서 및/또는, 비록 조합이 명시적으로 설명되지 않더라도, 다른 실시형태 중 임의의 것의 피쳐와 조합하여, 구현될 수도 있다. 다시 말하면, 설명된 실시형태는 상호 배타적이지 않으며, 하나 이상의 실시형태의 서로와의 치환(permutation)은 본 개시의 범위 내에서 유지된다.
각각의 모듈은 하나 이상의 인터페이스 회로를 포함할 수도 있다. 몇몇 예에서, 인터페이스 회로는 근거리 통신망(LAN), 인터넷, 광역 통신망(WAN), 또는 이들의 조합에 연결되는 유선 또는 무선 인터페이스를 포함할 수도 있다. 본 개시의 임의의 주어진 모듈의 기능성은 인터페이스 회로를 통해 연결되는 다수의 모듈 사이에서 분산될 수도 있다. 예를 들면, 다수의 모듈이 부하 분산을 허용할 수도 있다. 또 다른 예에서, 서버(원격 또는 클라우드로 또한 알려짐) 모듈은 클라이언트 모듈을 대신하여 몇몇 기능성을 달성할 수도 있다. 각각의 모듈은 코드를 사용하여 구현될 수도 있다. 상기에서 사용되는 바와 같은 용어 코드는, 소프트웨어, 펌웨어, 및/또는 마이크로코드를 포함할 수도 있고, 프로그램, 루틴, 함수, 클래스, 데이터 구조, 및/또는 오브젝트를 지칭할 수도 있다.
용어 메모리 회로는 용어 컴퓨터 판독 가능 매체의 서브세트이다. 용어 컴퓨터 판독 가능 매체는, 본원에서 사용될 때, 매체를 통해(예컨대, 반송파(carrier wave) 상에서) 전파되는 일시적인 전기 또는 전자기 신호를 포괄하지 않으며; 따라서, 용어 컴퓨터 판독 가능 매체는 유형이며 비일시적인 것으로 간주될 수도 있다. 비일시적인 유형의 컴퓨터 판독 가능 매체의 비제한적인 예는, 불휘발성 메모리 회로(예컨대, 플래시 메모리 회로, 소거 가능 프로그래밍 가능한 리드 온리 메모리 회로, 또는 마스크 리드 온리 메모리 회로), 휘발성 메모리 회로(예컨대, 정적 랜덤 액세스 메모리 회로 또는 동적 랜덤 액세스 메모리 회로), 자기 저장 매체(예컨대, 아날로그 또는 디지털 자기 테이프 또는 하드 디스크 드라이브), 및 광학 저장 매체(예컨대, CD, DVD, 또는 블루레이 디스크)이다.
본 출원에서 설명되는 시스템 및 방법은 컴퓨터 프로그램으로 구체화되는 하나 이상의 특정한 기능을 실행하도록 범용 컴퓨터를 구성하는 것에 의해 생성되는 특수 목적 컴퓨터에 의해 부분적으로 또는 완전히 구현될 수도 있다. 상기에서 설명되는 기능 블록, 플로우차트 컴포넌트, 및 다른 엘리먼트는, 숙련된 기술자 또는 프로그래머의 일상적인 작업에 의해 컴퓨터 프로그램으로 변환될 수도 있는 소프트웨어 명세로서 기능한다.
컴퓨터 프로그램은, 적어도 하나의 비일시적인 유형의 컴퓨터 판독 가능 매체 상에 저장되는 프로세서 실행 가능 명령어를 포함한다. 컴퓨터 프로그램은 또한 저장된 데이터를 포함할 수도 있거나 또는 저장된 데이터에 의존할 수 있다. 컴퓨터 프로그램은, 특수 목적 컴퓨터의 하드웨어와 상호 작용하는 기본 입력/출력 시스템(BIOS), 특수 목적 컴퓨터의 특정한 디바이스와 상호 작용하는 디바이스 드라이버, 하나 이상의 오퍼레이팅 시스템, 유저 애플리케이션, 백그라운드 서비스, 백그라운드 애플리케이션, 등등을 포함할 수도 있다.
상기 개시된 실시형태의 변형예 및 다른 피쳐 및 기능, 또는 그 대안예는, 바람직하게는, 많은 다른 상이한 시스템 또는 애플리케이션으로 결합될 수도 있다는 것이 인식될 것이다. 또한, 상기의 설명 및 다음의 청구범위에 의해 포괄되도록 또한 의도되는, 다양한 현재 예상되지 않는 또는 기대되지 않는 대안예, 수정예, 변동예, 또는 개선예가 기술 분야의 숙련된 자에 의해 후속하여 이루어질 수도 있다.

Claims (28)

  1. 지리적 영역에서의 교통 네트워크(transportation network)의 도식적 맵(schematic map)을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 자동적으로 생성하기 위한 방법으로서,
    상기 교통 네트워크는 복수의 교통 정류장(transport stop)을 각각 연결하는 하나 이상의 교통 노선(transportation line)을 포함하고, 상기 방법은:
    상기 복수의 교통 정류장의 지리적 위치를 나타내는 정점(vertex) 및 교통 정류장 사이의 연결을 나타내는 에지 - 상기 교통 노선의 각각은 복수의 연결된 에지를 포함함 - 를 나타내는 그래프 정보를 제공하는 단계;
    프로세서를 사용하여, 상기 교통 정류장 중 하나 이상을 재배치하는 단계 - 상기 재배치하는 단계는 상기 도식적 맵의 가독성(readability)에 기초하여 목적 함수(objective function)를 최적화하기 위해 상기 하나 이상의 교통 정류장에 대한 새로운 위치를 결정하는 단계를 포함함 - ;
    상기 도식적 맵을 생성하기 위해 복수의 상기 교통 정류장을 정렬하고 단순화된 k 선형 세그먼트(simplified k-linear segment) - 상기 k 선형 세그먼트의 각각은, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나에 평행하고, k는 적어도 2임 - 를 사용하여 상기 교통 노선을 따라 상기 정렬된 교통 정류장을 연결하도록 보간(interpolation)을 사용하여 하나 이상의 교통 노선 상의 상기 교통 정류장 및 연결을 이산화하는 단계; 및
    디스플레이를 위해 상기 생성된 도식적 맵을 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 그래프 정보를 제공하는 단계는:
    상기 교통 네트워크에 대한 그래프 정보를 수신하는 단계;
    상기 수신된 그래프 정보를 파싱하는 단계;
    상기 파싱된 그래프 정보를 상기 교통 네트워크에 대한 그래프 정보로 변환하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 그래프 정보로부터 상기 교통 네트워크에서 하나 이상의 혼잡한 영역을 결정하는 단계;
    상기 혼잡한 영역을 확대하기 위해 상기 결정된 혼잡한 영역에 어안 변환 방법(fisheye transformation method)을 적용하는 단계; 및
    상기 교통 네트워크의 주변 또는 경계에서 상기 교통 네트워크의 영역을 압축하기 위해 상기 어안 변환 방법을 추가로 적용하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 목적 함수는 상기 교통 정류장 사이의 간격의 균일성 또는 교통 정류장 사이의 연결의 평활도(smoothness) 중 하나 이상을 고려하는, 방법.
  5. 제1항에 있어서,
    상기 목적 함수는 비용 함수를 포함하고, 상기 비용 함수는:
    상기 재배치된 교통 정류장을 포함하는 수정된 네트워크에서 각각의 교통 정류장을 그 원래의 또는 이전의 위치로부터 새로운 위치로 변위하기 위한 제1 비용;
    상기 원래의 또는 이전의 위치의 평균 에지 길이로부터의 상기 수정된 네트워크에서의 각각의 에지 길이의 차이를 나타내는 제2 비용; 및
    상기 수정된 네트워크의 그래프에서 평활하지 않은 노선을 갖는 것의 제3 비용을 포함하되;
    상기 목적 함수를 최적화하는 것은 상기 비용 함수를 최소화하는 것을 포함하는, 방법.
  6. 제1항에 있어서,
    상기 이산화하는 단계는:
    상기 교통 노선의 하나 이상의 세그먼트를 정의하는 단계;
    그리디 접근법(greedy approach)을 사용하여 상기 하나 이상의 세그먼트를 k 선형 노선으로 단순화하는 단계;
    상기 단순화된 하나 이상의 노선 및 관련된 교통 정류장을 제자리에 고정하는 제약을 점진적으로 생성하는 단계; 및
    상기 단순화된 노선 및 관련된 교통 정류장의 타당성을 체크하는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 이산화하는 단계는, 상기 하나 이상의 교통 노선의 각각에 대해:
    하나 이상의 앵커 지점에서 상기 교통 노선을 복수의 세그먼트로 분할하는 단계; 및
    상기 복수의 세그먼트의 각각에 대해:
    상기 세그먼트를 단순화하는 단계;
    상기 단순화된 세그먼트의 부분의 각도를 가장 가까운 k 선형 각도로 양자화하는 단계;
    상기 양자화로부터 대응하는 서브세그먼트의 상기 k 선형 각도로 세그먼트 지점을 선형적으로 보간하는 상기 세그먼트의 시작 및 종료 지점을 통과하는 세그먼트 단순화를 생성하는 단계; 및
    상기 생성된 세그먼트 단순화에 기초하여 상기 앵커 지점을 업데이트하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 방법은:
    상기 정렬된 교통 정류장 중 하나를 가상 중간 지점에 연결하는 제1 추가적인 k 선형 세그먼트를 상기 도식적 맵에서 삽입하는 단계; 및
    상기 가상 중간 지점을 상기 정렬된 교통 정류장 중 다른 것에 연결하는 제2 추가적인 k 선형 세그먼트를 상기 도식적 맵에서 삽입하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 생성된 도식적 맵은 웹 또는 네이티브 애플리케이션(native application)을 통해 제공되는 상호 작용식 맵(interactive map)이고;
    상기 방법은:
    상기 웹 또는 상기 네이티브 애플리케이션을 통해, 상기 웹 또는 상기 네이티브 애플리케이션을 통해 상기 디스플레이 상에 교통 네트워크의 맵을 시각화하는 단계;
    상기 시각화된 맵에 기초하여 상기 상호 작용식 도식적 맵(interactive schematic map)을 생성하기 위한 하나 이상의 파라미터를 수신하는 단계; 및
    상기 수신된 하나 이상의 파라미터에 기초하여 상기 시각화된 맵에 기초하여 상기 상호 작용식 도식적 맵을 생성하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서,
    상기 생성된 상호 작용식 도식적 맵을 유저 인터페이스를 통해 편집하기 위한 하나 이상의 편집 커맨드를 수신하는 단계;
    편집된 도식적 맵을 제공하기 위해 상기 수신된 편집 커맨드에 기초하여 상기 생성된 상호 작용식 도식적 맵을 편집하는 단계;
    상기 디스플레이 상에서의 디스플레이를 위해 상기 편집된 도식적 맵을 제공하는 단계;
    상기 편집된 도식적 맵에서 상기 복수의 교통 정류장을 재정렬하기 위한 커맨드를 수신하는 단계;
    복수의 교통 정류장을 재정렬하는 것 및 단순화된 k 선형 세그먼트를 사용하여 상기 정렬된 교통 정류장을 연결하는 것을 비롯하여, 상기 수신된 커맨드에 응답하여 상기 편집된 도식적 맵을 재정렬하는 단계;
    상기 디스플레이 상에서의 디스플레이를 위해 상기 재정렬된 편집된 도식적 맵을 제공하는 단계; 및
    상기 생성된 상호 작용식 도식적 맵, 상기 편집된 도식적 맵, 또는 상기 재정렬된 편집된 도식적 맵 중 하나 이상을 저장하는 단계를 더 포함하는, 방법.
  11. 초기 네트워크 레이아웃 - 상기 초기 네트워크 레이아웃은 복수의 노드를 각각 연결하는 하나 이상의 노선을 포함함 - 으로부터 단순화된 네트워크 레이아웃을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 자동적으로 생성하기 위한 방법으로서,
    상기 초기 네트워크 레이아웃에서의 상기 복수의 노드의 지리적 위치를 나타내는 복수의 정점 및 상기 노드 사이의 연결을 나타내는 에지 - 상기 노선의 각각은 복수의 연결된 에지를 포함함 - 를 나타내는 상기 초기 네트워크 레이아웃에 대한 그래프 정보를 제공하는 단계;
    프로세서를 사용하여, 상기 노드 중 하나 이상을 재배치하는 단계 - 상기 재배치하는 단계는 상기 단순화된 네트워크 레이아웃의 가독성에 기초하여 목적 함수를 최적화하기 위해 상기 하나 이상의 노드에 대한 새로운 위치를 결정하는 단계를 포함함 - ;
    상기 단순화된 네트워크 레이아웃을 생성하기 위해, 상기 복수의 노드를 정렬하고 단순화된 k 선형 세그먼트 - 상기 k 선형 세그먼트의 각각은, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나와 평행하고, k는 적어도 2임 - 를 사용하여 상기 정렬된 노드를 연결하도록 보간을 사용하여 상기 노드 및 에지를 이산화하는 단계; 및
    디스플레이를 위해 상기 단순화된 네트워크 레이아웃을 제공하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 목적 함수는 비용 함수를 포함하고, 상기 비용 함수는:
    상기 재배치된 노드를 포함하는 수정된 네트워크에서 각각의 노드를 그 원래의 또는 이전의 위치로부터 새로운 위치로 변위하기 위한 제1 비용;
    상기 원래의 또는 이전의 위치의 평균 에지 길이로부터의 상기 수정된 네트워크에서의 각각의 에지 길이의 차이를 나타내는 제2 비용; 및
    상기 수정된 네트워크의 그래프에서 평활하지 않은 노선을 갖는 것의 제3 비용을 포함하되;
    상기 목적 함수를 최적화하는 단계는 상기 비용 함수를 최소화하는 단계를 포함하고;
    상기 비용 함수를 최소화하는 단계는:
    상기 비용 함수의 일차 및 이차 미분계수를 계산하는 단계; 및
    상기 하나 이상의 노드에 대한 최적의 위치를 결정하기 위해 신뢰 영역 방법(trust-region method)을 사용하는 단계를 포함하는, 방법.
  13. 제11항에 있어서,
    상기 이산화하는 단계는, 상기 하나 이상의 노선의 각각에 대해:
    하나 이상의 앵커 지점에서 상기 노선을 복수의 세그먼트로 분할하는 단계; 및
    상기 복수의 세그먼트의 각각에 대해:
    상기 세그먼트를 단순화하는 단계;
    상기 단순화된 세그먼트의 부분의 각도를 가장 가까운 k 선형 각도로 양자화하는 단계;
    상기 양자화로부터 대응하는 서브세그먼트의 상기 k 선형 각도로 세그먼트 지점을 선형적으로 보간하는 상기 세그먼트의 시작 및 종료 지점을 통과하는 세그먼트 단순화를 생성하는 단계; 및
    상기 생성된 세그먼트 단순화에 기초하여 상기 앵커 지점을 업데이트하는 단계를 포함하는, 방법.
  14. 제11항에 있어서,
    상기 방법은:
    상기 정렬된 노드 중 하나를 가상 중간 지점에 연결하는 제1 추가적인 k 선형 세그먼트를 상기 단순화된 네트워크 레이아웃에서 삽입하는 단계; 및
    상기 가상 중간 지점을 상기 정렬된 노드 중 다른 것에 연결하는 제2 추가적인 k 선형 세그먼트를 상기 단순화된 네트워크 레이아웃에서 삽입하는 단계를 더 포함하는, 방법.
  15. 지리적 영역에서의 교통 네트워크의 동적인 도식적 맵을, 디스플레이 상에서의 디스플레이를 위해, 생성하기 위한 방법으로서,
    상기 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하고, 상기 동적인 도식적 맵은, 시간 인스턴스에서의 상기 교통 노선을 따르는 하나 이상의 경로를 통한 상기 교통 네트워크의 상기 교통 정류장의 액세스 가능성을 실시간으로 나타내고, 상기 방법은:
    결합된 스케줄 정보 - 상기 결합된 스케줄 정보는, 상기 경로를 따르는 복수의 트립의 각각에 대한, 상기 복수의 교통 정류장의 각각에 대한 정차 시간(stop time)을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 상기 경로의 각각에 대한 공간 정보를 포함하고, 상기 결합된 스케줄 정보는 상기 교통 정류장 및 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킴 - 를 수신하고 상기 결합된 스케줄 정보로부터 방향성 그래프 정보(directed graph information)를 생성하는 단계;
    상기 생성된 방향성 그래프 정보로부터 단순화된 맵 - 상기 단순화된 맵은 상기 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함함 - 을 실시간으로 생성하는 단계; 및
    상기 단순화된 교통 노선 및 상기 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 상기 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 상기 단순화된 맵으로부터 상기 동적인 도식적 맵을, 실시간으로, 디스플레이 상에서의 디스플레이를 위해, 렌더링하는 단계를 포함하되,
    상기 동적인 도식적 맵은 상기 시간 인스턴스에 기초하여 상기 단순화된 교통 노선 및/또는 상기 교통 정류장의 시각화를 변경하는 것에 의해 상기 시간 인스턴스에서의 상기 교통 정류장의 액세스 가능성 나타내는, 방법.
  16. 제15항에 있어서,
    상기 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하고 상기 시간 정보 및 공간 정보로부터 상기 결합된 스케줄 정보를 생성하는 단계를 더 포함하되;
    상기 스케줄 정보는, 상기 경로를 따르는 복수의 트립의 각각에 대한, 상기 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 상기 경로에 대한 시간 정보를 포함하되, 상기 트립은 정류장 시간 시퀀스(stop temporal sequence)를 포함하고; 그리고
    상기 경로 정보는 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 상기 경로의 각각에 대한 공간 정보를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 결합된 스케줄 정보를 생성 및 편집하기 위한 유저 인터페이스를 제공하는 단계;
    상기 유저 인터페이스 상에서 상기 지리적 영역의 상호 작용식 맵 뷰(interactive map view)를 생성하고 적어도 공간 정보의 편집을 가능하게 하는 단계;
    상기 유저 인터페이스 상에서 상기 교통 네트워크에 대한 상호 작용식 시공간 다이어그램 뷰(interactive space-time diagram view)를 생성하고 적어도 상기 시간 정보의 편집을 가능하게 하는 단계;
    상기 유저 인터페이스를 통해, 상기 상호 작용식 맵 뷰와 동시에, 상기 상호 작용식 시공간 다이어그램 뷰를 상기 유저 인터페이스 상에서의 디스플레이를 위해 제공하는 단계; 및
    상기 편집된 공간 및 시간 정보에 기초하여 상기 상호 작용식 시공간 다이어그램 뷰 및 상기 상호 작용식 맵 뷰를 동기화하는 단계를 더 포함하는, 방법.
  18. 제15항에 있어서,
    상기 생성된 방향성 그래프 정보는 교통 정류장의 지리적 위치를 나타내는 복수의 정점 및 교통 정류장 사이의 경로를 따르는 연결을 나타내는 에지를 나타내고;
    상기 방향성 그래프 정보를 생성하는 단계는:
    상기 교통 노선의 각각에 대해, 트립 세그먼트로부터 상기 방향성 그래프의 에지를 구축하는 것에 의해 상기 경로를 따르는 하나 이상의 트립을 병합하는 단계; 및/또는
    상기 노선의 각각에 대한 정류장 및 에지를 추출하기 위해 하나 이상의 필터링 휴리스틱스(filtering heuristics)를 적용하는 단계를 포함하는, 방법.
  19. 제18항에 있어서,
    상기 필터링 휴리스틱스는:
    각각의 교통 노선에 대해, 가장 많은 정류장을 통과하는 트립을 선택하는 것;
    선택된 시간 간격에서 트립을 선택하는 것;
    선택된 시간 간격 동안 N 개의 가장 완전한 트립 - 상기 가장 완전한 트립은 가장 큰 수의 교통 정류장을 통과하는 또는 상기 교통 노선의 가장 큰 부분을 통과하는 트립을 포함함 - 을 병합하는 것; 또는
    각각의 교통 노선에 대해, 가장 일반적인 트립 또는 트립들을 검출하고 상기 검출된 일반적인 트립 또는 트립들을 포함시키는 것
    중 하나 이상을 포함하는, 방법.
  20. 제15항에 있어서,
    상기 시각화를 변경하는 것은:
    컬러, 노선 두께, 또는 마커를 수정하는 것 중 하나 이상에 의해 상이한 시간 인스턴스에서 상기 단순화된 교통 노선 및/또는 상기 교통 정류장을 동적으로 렌더링하는 것;
    상이한 시간 인스턴스에서 상기 단순화된 교통 노선 및/또는 상기 교통 정류장의 상이한 시각화를 생성하는 것; 또는
    주어진 시간 인스턴스에서 이용 가능하지 않은 단순화된 교통 노선 및/또는 상기 교통 정류장의 디스플레이를 비활성화하는 것
    중 하나 이상을 포함하는, 방법.
  21. 지리적 영역에서의 교통 네트워크에 대한 동적인 도식적 맵을 디스플레이 상에서 생성하기 위한 프로세서 및 메모리를 포함하는 시스템으로서,
    상기 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하고, 상기 동적인 도식적 맵은, 시간 인스턴스에서의 상기 교통 노선을 따르는 하나 이상의 경로를 통한 상기 교통 네트워크의 상기 교통 정류장의 액세스 가능성을 실시간으로 나타내고, 상기 시스템은:
    결합된 스케줄 정보 - 상기 결합된 스케줄 정보는, 상기 경로를 따르는 복수의 트립의 각각에 대한, 상기 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 상기 경로의 각각에 대한 공간 정보를 포함하고, 상기 결합된 스케줄 정보는 상기 교통 정류장 및 상기 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킴 - 를 수신하고 상기 결합된 스케줄 정보로부터 방향성 그래프 정보를 생성하기 위한 스케줄 대 그래프 생성 모듈(schedule-to-graph generation module);
    상기 생성된 방향성 그래프 정보로부터 단순화된 맵 - 상기 단순화된 맵은 상기 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함함 - 을, 실시간으로, 생성하기 위한 맵 단순화기 모듈(map simplifier module); 및
    상기 단순화된 교통 노선 및 상기 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 상기 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 상기 단순화된 맵으로부터 상기 동적인 도식적 맵을, 실시간으로, 상기 디스플레이 상에서의 디스플레이를 위해, 렌더링하기 위한 동적 맵 렌더러 모듈(dynamic map renderer module)을 포함하되,
    상기 동적인 도식적 맵은 상기 시간 인스턴스에 기초하여 상기 단순화된 교통 노선 및/또는 상기 교통 정류장의 시각화를 변경하는 것에 의해 상기 시간 인스턴스에서의 상기 교통 정류장의 액세스 가능성 나타내는, 시스템.
  22. 제21항에 있어서,
    상기 교통 네트워크에 대한 스케줄 정보 및 경로 정보를 수신하도록 구성되는 스케줄 편집기 모듈(schedule editor module)을 더 포함하되;
    상기 스케줄 정보는, 상기 경로를 따르는 복수의 트립의 각각에 대한, 상기 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 상기 경로에 대한 시간 정보를 포함하고, 상기 트립은 정류장 시간 시퀀스를 포함하고;
    상기 경로 정보는 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 상기 경로의 각각에 대한 공간 정보를 포함하고; 그리고
    상기 스케줄 편집기 모듈은 또한 상기 시간 정보 및 공간 정보로부터 상기 결합된 스케줄 정보를 생성하도록 구성되는, 시스템.
  23. 제22항에 있어서,
    상기 스케줄 편집기 모듈은 또한 상기 결합된 스케줄 정보를 생성 및 편집하기 위한 유저 인터페이스를 생성하도록 구성되고;
    상기 스케줄 편집기 모듈은:
    상기 유저 인터페이스 상에서 상기 지리적 영역의 상호 작용식 맵 뷰를 생성하도록 그리고 상기 교통 정류장 및/또는 교통 노선 중 하나 이상에 대응하는 메타데이터 또는 상기 공간 정보 중 하나 이상의 편집을 가능하게 하도록 구성되는 맵 뷰 편집기 모듈; 및
    상기 유저 인터페이스 상에서 상기 교통 네트워크에 대한 상호 작용식 시공간 다이어그램 뷰를 생성하도록 그리고 상기 교통 정류장 및/또는 교통 노선 중 하나 이상에 대응하는 메타데이터 또는 상기 시간 정보 중 하나 이상의 편집을 가능하게 하도록 구성되는 시공간 뷰 편집기 모듈(space-time view editor module)을 포함하되;
    상기 스케줄 편집기 모듈은 또한 상기 유저 인터페이스를 통해, 상기 상호 작용식 맵 뷰와 동시에, 상기 상호 작용식 시공간 다이어그램 뷰를 디스플레이하도록 구성되고;
    상기 스케줄 편집기 모듈은 또한 상기 맵 뷰 편집기 모듈 및 상기 시공간 뷰 편집기 모듈로부터의 상기 스케줄 정보에 대한 상기 편집을 동기화하도록 구성되고; 그리고
    상기 생성된 맵 뷰는 상기 시공간 뷰 편집기 모듈을 통한 편집을 포함하도록 실시간으로 동기화되고, 상기 생성된 시공간 다이어그램은 상기 맵 뷰 편집기 모듈을 통한 편집을 포함하도록 실시간으로 동기화되는, 시스템.
  24. 제21항에 있어서,
    상기 스케줄 대 그래프 생성 모듈에 의해 생성되는 상기 방향성 그래프 정보는 교통 정류장의 지리적 위치를 나타내는 복수의 정점 및 상기 교통 정류장 사이의 경로를 따르는 연결을 나타내는 에지를 나타내고;
    상기 스케줄 대 그래프 생성 모듈은:
    상기 교통 노선의 각각에 대해, 트립 세그먼트로부터 상기 방향성 그래프의 에지를 구축하는 것에 의해 상기 경로를 따르는 하나 이상의 트립을 병합하도록; 및/또는
    상기 노선의 각각에 대한 정류장 및 에지를 추출하기 위해 하나 이상의 필터링 휴리스틱스를 적용하도록 구성되되;
    상기 필터링 휴리스틱스는:
    각각의 교통 노선에 대해, 가장 많은 정류장을 통과하는 트립을 선택하는 것;
    선택된 시간 간격에서 트립을 선택하는 것;
    선택된 시간 간격 동안 N 개의 가장 완전한 트립 - 상기 가장 완전한 트립은 가장 큰 수의 교통 정류장을 통과하는 또는 상기 교통 노선의 가장 큰 부분을 통과하는 트립을 포함함 - 을 병합하는 것; 또는
    각각의 교통 노선에 대해, 가장 일반적인 트립 또는 트립들을 검출하고 상기 검출된 일반적인 트립 또는 트립들을 포함시키는 것
    중 하나 이상을 포함하는, 시스템.
  25. 제21항에 있어서,
    상기 시각화를 변경하는 것은:
    컬러, 노선 두께, 또는 마커를 수정하는 것 중 하나 이상에 의해 상이한 시간 인스턴스에서 상기 단순화된 교통 노선 및/또는 상기 교통 정류장을 동적으로 렌더링하는 것;
    상이한 시간 인스턴스에서 상기 단순화된 교통 노선 및/또는 상기 교통 정류장의 상이한 시각화를 생성하는 것; 또는
    주어진 시간 인스턴스에서 이용 가능하지 않은 단순화된 교통 노선 및/또는 상기 교통 정류장의 디스플레이를 비활성화하는 것
    중 하나 이상을 포함하는, 시스템.
  26. 제21항에 있어서,
    상기 교통 네트워크에 대한 적어도 상기 스케줄 및 경로 정보를 저장하도록 구성되는 데이터 스토리지; 및
    상기 교통 네트워크에 대한 스케줄 및 경로 정보를 수신하기 위해 상기 데이터 스토리지와 통신하는 가져오기-내보내기 모듈(import-export module)을 더 포함하되;
    상기 수신된 스케줄 및 경로 정보는 표준화된 포맷인, 시스템.
  27. 명령어를 저장한 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어는, 컴퓨터에 의한 실행시, 상기 컴퓨터로 하여금, 초기 네트워크 레이아웃으로부터 단순화된 네트워크 레이아웃을, 디스플레이 상에서의 디스플레이를 위해, 실시간으로, 자동적으로 생성하기 위한 방법을 수행하게 하되, 상기 초기 네트워크 레이아웃은 복수의 노드를 각각 연결하는 하나 이상의 노선을 포함하고, 상기 방법은:
    상기 초기 네트워크 레이아웃에서의 상기 복수의 노드의 지리적 위치를 나타내는 복수의 정점 및 상기 노드 사이의 연결을 나타내는 에지 - 상기 노선의 각각은 복수의 연결된 에지를 포함함 - 를 나타내는 상기 초기 네트워크 레이아웃에 대한 방향성 그래프 정보를 제공하는 단계;
    프로세서를 사용하여, 상기 노드 중 하나 이상을 재배치하는 단계 - 상기 재배치하는 단계는 상기 단순화된 네트워크 레이아웃의 가독성에 기초하여 목적 함수를 최적화하기 위해 상기 하나 이상의 노드에 대한 새로운 위치를 결정하는 단계를 포함함 - ;
    상기 단순화된 네트워크 레이아웃을 생성하기 위해, 상기 복수의 노드를 정렬하고 단순화된 k 선형 세그먼트 - 상기 k 선형 세그먼트는, 그 각도가 180/k 도의 배수인 k 개의 등거리 방위 중 하나와 평행하고, k는 2보다 더 크거나 또는 동일함 - 를 사용하여 상기 정렬된 노드를 연결하도록 보간을 사용하여 상기 노드 및 에지를 이산화하는 단계; 및
    디스플레이를 위해 상기 단순화된 네트워크 레이아웃을 제공하는 단계를 포함하는, 명령어를 저장한 비일시적 컴퓨터 판독 가능 매체.
  28. 명령어를 저장한 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어는, 컴퓨터에 의한 실행시, 상기 컴퓨터로 하여금, 지리적 영역에서의 교통 네트워크에 대한 동적 맵을 디스플레이 상에서의 디스플레이를 위해 디스플레이 상에서 생성하기 위한 방법을 수행하게 하되, 상기 교통 네트워크는 복수의 교통 정류장을 연결하는 하나 이상의 교통 노선을 포함하고, 상기 동적 맵은, 시간 인스턴스에서의 상기 교통 노선을 따르는 하나 이상의 경로를 통한 상기 교통 네트워크의 상기 교통 정류장의 액세스 가능성을 실시간으로 나타내고, 상기 방법은:
    결합된 스케줄 정보 - 상기 결합된 스케줄 정보는, 상기 경로를 따르는 복수의 트립의 각각에 대한, 상기 복수의 교통 정류장의 각각에 대한 정차 시간을 포함하는 시간 정보, 및 각각의 교통 정류장 및 교통 노선의 위치를 포함하는 상기 경로의 각각에 대한 공간 정보를 포함하고, 상기 결합된 스케줄 정보는 상기 교통 정류장 및 교통 노선을 위치 및 하나 이상의 정차 시간과 관련시킴 - 를 수신하고 상기 결합된 스케줄 정보로부터 방향성 그래프 정보를 생성하는 것;
    상기 생성된 방향성 그래프 정보로부터 단순화된 맵 - 상기 단순화된 맵은 상기 복수의 교통 노선에 대응하는 하나 이상의 단순화된 교통 노선을 포함함 - 을 실시간으로 생성하는 것; 및
    상기 단순화된 교통 노선 및 상기 단순화된 교통 노선을 따르는 교통 정류장 중 하나 이상을 포함하는 상기 교통 네트워크의 적어도 일부를 디스플레이하기 위해, 상기 단순화된 맵으로부터 상기 동적 맵을, 실시간으로, 디스플레이 상에서의 디스플레이를 위해, 렌더링하는 것을 포함하되,
    상기 동적 맵은 상기 시간 인스턴스에 기초하여 상기 단순화된 교통 노선 및/또는 상기 교통 정류장의 시각화를 변경하는 것에 의해 상기 시간 인스턴스에서의 상기 교통 정류장의 액세스 가능성 나타내는, 명령어를 저장한 비일시적 컴퓨터 판독 가능 매체.
KR1020210008485A 2020-02-21 2021-01-21 도식적 맵을 생성하기 위한 방법 및 시스템 KR102525605B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062980009P 2020-02-21 2020-02-21
US62/980,009 2020-02-21
US17/080,249 US11763221B2 (en) 2020-02-21 2020-10-26 Method and system for generating a schematic map
US17/080,249 2020-10-26

Publications (2)

Publication Number Publication Date
KR20210106893A KR20210106893A (ko) 2021-08-31
KR102525605B1 true KR102525605B1 (ko) 2023-04-25

Family

ID=77366109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210008485A KR102525605B1 (ko) 2020-02-21 2021-01-21 도식적 맵을 생성하기 위한 방법 및 시스템

Country Status (2)

Country Link
US (2) US11763221B2 (ko)
KR (1) KR102525605B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11322017B1 (en) * 2021-01-28 2022-05-03 Hayden Ai Technologies, Inc. Systems and methods for managing traffic rules using multiple mapping layers with traffic management semantics
CN117032525B (zh) * 2023-08-15 2024-02-27 珠海市伊特高科技有限公司 基于可视化的零损耗深度限流设备电力网布局方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515513A (ja) 2002-01-23 2005-05-26 エム スぺイシャル リミティッド 概略図の生成
JP2015028675A (ja) 2013-07-30 2015-02-12 株式会社日立製作所 交通システム
KR101671747B1 (ko) 2015-06-09 2016-11-02 네이버 주식회사 대중 교통 노선 정보 제공 방법 및 시스템
US20170309045A1 (en) 2016-04-25 2017-10-26 Adobe Systems Incorporated Beautifying freeform drawings

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI426236B (zh) * 2011-12-16 2014-02-11 Univ Nat Chiao Tung 高複雜度運輸地圖在有限空間中之顯像方法
CN103471603B (zh) * 2012-06-06 2015-10-21 腾讯科技(深圳)有限公司 一种公交线路与道路网络的匹配方法和装置
US9778051B2 (en) * 2015-08-31 2017-10-03 Sap Se Diversified route planning for public transportation network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515513A (ja) 2002-01-23 2005-05-26 エム スぺイシャル リミティッド 概略図の生成
JP2015028675A (ja) 2013-07-30 2015-02-12 株式会社日立製作所 交通システム
KR101671747B1 (ko) 2015-06-09 2016-11-02 네이버 주식회사 대중 교통 노선 정보 제공 방법 및 시스템
US20170309045A1 (en) 2016-04-25 2017-10-26 Adobe Systems Incorporated Beautifying freeform drawings

Also Published As

Publication number Publication date
US20230394399A1 (en) 2023-12-07
US11763221B2 (en) 2023-09-19
KR20210106893A (ko) 2021-08-31
US20210264339A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
US10579226B2 (en) Time proximity based map user interactions
US20230394399A1 (en) Method and system for generating a schematic map
US10416866B2 (en) Representation of digital map styling properties across zoom levels
EP3922952A1 (en) Method and apparatus for processing map data, device, and storage medium
CN110375755B (zh) 用于高度定制的交互式移动地图的解决方案
JP6092865B2 (ja) マップ特徴の顕著さをベースとした生成およびレンダリング
US7925982B2 (en) System and method of overlaying and integrating data with geographic mapping applications
US20130271482A1 (en) Electronic map generation
US11132102B2 (en) System and method for geographic data layer management in a geographic information system
WO2022044755A1 (ja) 設備管理方法、設備管理装置、設備管理プログラム、記録媒体
US20230015892A1 (en) Computer System and Methods for Optimizing Distance Calculation
US10209876B2 (en) Method and apparatus for providing a segmented scrollbar
RU2580335C1 (ru) Способ обработки картографических данных
CN112527163B (zh) 一种路口检索方法、装置、设备及存储介质
CN101582068B (zh) 一种组织地理数据的方法及系统
Hong et al. Designing interactive distance cartograms to support urban travelers
US10552997B2 (en) Data aware interface controls
US11678151B2 (en) Method and system for displaying a map to guide a user in a venue
Shang et al. Advanced vehicle monitoring system based on arcgis silverlight
CN102317988B (zh) 使用结构的形状的信息提供装置及方法
Ramachandran et al. OdoViz: A 3D Odometry Visualization and Processing Tool
US11797147B2 (en) Mobile viewer object statusing
KR102136213B1 (ko) 서로 다른 서비스의 제공을 위한 서로 다른 속성의 지도들을 연동하는 방법 및 시스템
EP4180765A1 (en) High-precision-map data collection method and system
Näslund Web-based mapping: An evaluation of four JavaScript APIs

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant