|
|
||||
|
|
|
|||
Movement Zone Pattern #S-MZP 분석은 Spatial Movement Zone Pattern의 약자로서 기존에 수집된 대중교통 스마트카드 이용 데이터를 기반으로 대중교통의 이용자가 탑승하여 하차하는 구역(Zone)을 발견하고 클러스터링 하여 탑승객의 이동하는 주요 구역(S-MZP)을 발견하는 것이 목표이다.
본 실험은 일주일간의 대중교통 스마트카드 이용 내역 중 지하철과 마을버스를 제외한 탑승객의 탑승내역을 기반으로 하여 버스 탑승객의 S-MZP를 찾고 찾은 결과를 지도에 표시하는 방법에 대해 설명하겠다. 스마트카드 이용내역에서 탑승객의 승하차위치 정보 추출, 버스 정류장 위치 정보를 지오해시(Geohash)로 변환, 변환 된 위치와 이용내역을 기반으로 구역별 이동 패턴 발견, 발견된 이동 패턴을 지도에 표시하는 크게 4단계로 이루어진다.
아래의 지도는 Geohash 격자에 승/하차객을 나타낸 것으로서 인원의 추이를 보여준다. Color scale은 해당 지도의 최대 인원으로부터 200단계로 생성하여 표시한다. 노랑색은 탑승객이 적은곳이고, 빨간색으로 갈 수록 탑승객이 많은 곳이다.
Geohash 크기 5, 평일(월,화,수,목,금) 승차 인원의 합 Geohash 크기 6, 평일(월,화,수,목,금) 승차 인원의 합 Geohash 크기 5, 주말(토,일) 승차 인원의 합 Geohash 크기 6, 주말(토,일) 승차 인원의 합 Geohash 크기 5, 평일(월,화,수,목,금) 하차 인원의 합 Geohash 크기 6, 평일(월,화,수,목,금) 하차 인원의 합 Geohash 크기 5, 주말(토,일) 하차 인원의 합 Geohash 크기 6, 주말(토,일) 승차 인원의 합 iframe이 너무 많아 느려지는 관계로 링크로 대체한다.
PHP 프로그램인 GMGeohashBOX는 Geohash 8자리 지역으로 나눠진 시간대별 승/하차 인원 데이터를 기반으로 각각의 보고 싶은 타입에 따라 지도에 표시하는 기능을 한다. 이 프로그램은 탑승객의 타입을 크게 4가지로 정할 수 있다. Geohash의 사이즈를 나타내는 size - "5~8", 탑승 일자를 나타내는 day - 데이터의 해당 일자 "20120312~20120318") 또는 평일 "w"/주말 "e", 탑승 시간을 나타내는 time- 아침 출근시간(6~10) "m"/저녁 퇴근시간(17~20) "e"/무 지정 하루 전체 승하차 유형을 나타내는 type - 승차 "r"/하차 "a"/승하차 합 "s" 의 타입으로 조작이 가능하다.
http://web.blg.kr/trans/GMgeohashBOX.php?size=7&day=w&time=e&type=r
위의 링크는 Geohash size 7, 평일 퇴근시간 승차객을 보여준다. http://web.blg.kr/trans/GMgeohashBOX.php?size=8&day=e&type=s
위의 링크는 Geohash size 8, 주말 승/하차객 합을 보여준다. 네 번째 단계는 발견된 이동 패턴을 지도에 표시하는 것이다. 이동패턴의 결과는 지오해시 6자리로 출발지와 도착지들을 표시한다. 먼저 지도에 표시할 모든 지오해시코드를 추출하여 node.js의 ngeohash 라이브러리를 이용 지오해시의 격자의 위치를 추출한다. 추출된 지오해시 격자의 위치와 이동 패턴 결과를 데이터베이스에 삽입한다. 구글 지도 라이브러리를 활용하여 출발지(빨산색)와 도착지(파란색)의 위치를 표시 및 해당 결과의 순위를 표시한다.
Geohash 6자리 발견된 S-MZP 1위부터 10위 Geohash 7자리 발견된 S-MZP 1위부터 10위 |