2012-08-29 4 views
3

입니다. 대중 교통 경로 - 특히 샌프란시스코 무니 (San Francisco MUNI)에서 여행 거리를 얻으려고하고 있지만, 표준은 NextBus, 은 보편적 인 것으로 보입니다. 나는이 API들 중 어떤 것을 사용해도 편하지 않다. 나는이 문제에 대해 어떻게해야할지 모르겠다.GTFS/NextBus/Google지도 - 대중 교통 거리가

쉬운 방법 - Google지도 (이 사용하는 웹 서비스를하지만, 자바 스크립트 API도있다) 질문 :이 JSON은 이동 거리 포함

http://maps.googleapis.com/maps/api/directions/json?origin=37.7954199,-122.397&destination=37.7873299,-122.44691&sensor=false&mode=transit&departure_time=1348109609&alternatives=true

,하지만 두 가지 문제가있다 :

  1. 원하지 않는지도를 표시하지 않는 한 Google에서이 데이터를 사용할 수 없습니다.
  2. 나는 여러 경로 지정 옵션을 제공 할 수 있기 때문에 정확한 경로/회선에 대한 거리가 반환됩니다. 이것은 가능하지만 더 많은 논리가 필요합니다.

편집 : 단지 자주가 (다른 교통 기관을 찾고 있어요 경로를 포함하지 않는 SF 여기에 3 개 경로의 최대 반환 (자바 스크립트 API를 사용하거나 provideRouteAlternatives: true) alternatives=true를 사용, 여러 같은 경로의 노선 등). 따라서 이것은 좋은 선택이 아닙니다.

NextBus :

예 경로 설정 :

http://webservices.nextbus.com/service/publicXMLFeed?command=routeConfig&a=sf-muni&r=1

각 정류장의 좌표가 주어진, 그러나 이들의 점을 연결하는 촬영 경로와 동일하지있다 - 그 모퉁이 등을자를 것이고 나는 이것을 정확할 필요가있다. 실제로 찍은 실제 경로는 <path>/<point>입니다. 그러나 정지 좌표와 경로 좌표 사이에는 명확한 상관 관계가 없습니다. 또한 NextBus는 (하단의 p.10) 부분에 <path> 세그먼트 사이에 점을 연결해서는 안되며지도에 그림을 그리기위한 것이며 중복 될 수 있다고 말합니다.

GTFS :

GTFS 데이터는 (NextBus 경로 등)의 좌표를 "형성"중지하고 분리한다. 안타깝게도 StopBuilder와 GTFS (반올림) 사이의 동일한 중지에 대해 좌표가 약간 씩 다르지만 정지 ID/태그는 동일합니다. 또한 데이터 파일은 메가 바이트 단위이므로 모바일 앱에이 파일을 사용해야합니다. 나는 모든 데이터를 데이터베이스에 넣고 쿼리 할 수 ​​있다고 생각하지만, 여전히 그 모양과 스톱을 어떻게 연관시키는 지 알 수 있습니다. shapes.txt 파일의 "shapes_distance_traveled"열은 특히 유망합니다. MUNI는 선택적인 "shapes_distance_traveled"필드를 stop_times.txt에서 벗어나도록 선택합니다.

모든 조언을 주시면 감사하겠습니다. 간단한 값을 얻기위한 서사적 과제라고 생각합니다. 거리를 합법적으로 사용하려면지도를 던지십시오.

답변

0

분명히 조사를 마쳤습니다 (+1). 귀하가 말했듯이, 쉬운 방법은 Google에 문의하는 것입니다. 그럴 가치가 있다면 purchasing a business licence을보고 Google지도 API를 사용하고지도를 표시하는 요구 사항에 대해 협상 할 수 있습니다.그것이 Google API와 함께 생각할 수있는 유일한 방법입니다. 또는 미국 센서스 국에서 무료로 구할 수있는 TIGER data set의 데이터를 사용하여 자체 라우팅 엔진을 구축 할 수 있습니다.하지만 다시 말하면 서사시 작업처럼 보일 수 있습니다. :-)

1

Google지도를 사용하는 대신 불필요한 라이센스 인 OpenStreetMap을 살펴볼 것입니다. OSM 데이터를 사용할 수있는 routing engines이 여러 개 있습니다. 개인적으로 PostGIS 또는 SQLite에서 라우팅을 사용하지만 스킬 셋에 따라 다른 라우팅을 선택할 수도 있습니다.

+0

OpenStreetMap에 대한 팁 주셔서 감사합니다 - 언뜻보기에 운송 적용 범위는 매우 제한적으로 보입니다 (적어도 SF에서는). 그러나 나는 그것을 조사 할 것입니다. – carillonator

관련 문제