2017-09-06 3 views
1

MTA 지하철 데이터 (다른 데이터들도 포함)는 GTFS 실시간으로 포맷됩니다. protobuf를 문자열 표현으로 변환하려면 gtfs-realtime.proto를 사용하는 일부 Google protobuf 도구를 통해 실행해야합니다. 유일한 문제는 here의 GTFS 실시간-바인딩은 iOS 용 GTFS- 실시간 바인딩

  • 파이썬
  • PHP
  • 자바 스크립트/Node.js를
  • 자바 NET

    • 사용할 수 있습니다 볼 수 있다는 것입니다
    • 루비
    • Golang
    또한

    ,

    우리는, C++을 위해 생성 된 코드를 제공하는 이들의

    없음 C. 스위프트 또는 목적하는 동안이없는 (here 또는 here에서) 그것을 위해 공식 protoc 컴파일러를 사용하지 않는 2016 년부터 Swift/Objective C 버전 용 issue/request이 오픈되었습니다. 지금이 작업을 수행하기 위해 내가 무엇을 할 수 있는지 궁금합니다. 현재 볼 수있는 유일한 실행 가능한 솔루션은 서버에서 데이터를 구문 분석 한 다음 구문 분석 된 데이터 (JSON 인코딩 됨)를 MTA에서 직접 가져 오는 대신 서버에서 가져 오는 것입니다.

    Here은 프로토콜 버퍼 용 Google 페이지입니다. 확실하지 않지만 GTFS 실시간 데이터를 읽는 데 사용할 수있는 방법이 있습니다.

    앞으로 나아갈 경로가 있습니까? 다른 가능성이 있습니까?

  • 답변

    2

    는 거의 확실히 API 키를 얻기 위해에 동의했을 것이다 그들의 계약 조건의 위반이다.

    이용 약관을 위반하는 것은 일반적으로 매우 나쁜 생각입니다. 이 API의 경우 키가 취소 될 것으로 보입니다.

    따라서 이 아닌은 Tony의 답변에서 라이브러리를 사용하도록 제안합니다.대신 제안한 작업을 수행하십시오.

    서버에서 데이터를 구문 분석 한 다음 MTA에서 직접 가져온 것이 아니라 해당 서버에서 구문 분석 된 데이터 (JSON로 인코딩 된 [- 사운드 양호])를 가져 오게하십시오.

    나열된 언어 중 어떤 언어로도 작업을 수행 할 수 있습니다. 그 중 가장 중요한 문제 일뿐입니다.

    2

    Protobuf를 구문 분석하기위한 목표 C에 official library이 있습니다. GTFS-rt 표준 및 MTA 확장 .proto 파일의 compile classes 수 있습니다.

    하여 응용 프로그램을 개발
    1. , 당신은 MTA 데이터 피드가 있음을 제공합니다 :

      그것은 MTA terms and conditions을 준수하지 않는 앱이 직접 MTA에 연결하는 데, 당신의 계획된 사용과 같은 은 MTA가 아닌 서버에서만 사용할 수 있습니다. 따라서 사용자는 데이터를 얻기 위해 응용 프로그램의 사용자가 액세스하는 비 MTA 서버에 MTA 데이터 피드를 다운로드하여 저장합니다. MTA는 다른 사용자가 데이터를 MTA의 서버에서 직접 에 사용할 수있게하는 앱 개발을 금지합니다. 앱이 직접 MTA와 통신하는 데 토니 Laudig에서 언급 한 바와 같이

    관련 문제