지금까지 Developer 's API Key에 대해 MTA online registration form을 작성했습니다. 그럼 내 안드로이드 프로젝트에, 나는 GTFS 실시간 바인딩이 자신의 자바 클래스를 사용하여,MTA의 실시간 gtfs 데이터 피드를 이해하는 방법
compile group: 'com.google.transit', name: 'gtfs-realtime-bindings', version: '0.0.4'
Google's github repositories 중 하나를 실행 종속 구현, 나는 MTA,
에 의해 주어진 링크에서 모든 GTFS 데이터를 인쇄하려면이 다음 코드를 시도try {
String urlString = "http://datamine.mta.info/mta_esi.php?key=insertmykeyhere";
URL url = new URL(urlString.toString());
GtfsRealtime.FeedMessage feed = GtfsRealtime.FeedMessage.parseFrom(url.openStream());
for (GtfsRealtime.FeedEntity entity : feed.getEntityList()) {
if (entity.hasTripUpdate()) {
Log.d("stuff", entity.getTripUpdate().toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
그러나 지금 나는 데이터를 해석하는 데 문제가 있습니다. http://web.mta.info/developers/developer-data-terms.html의 정적 데이터 피드가 있다는 것을 알고 있으며 일부 데이터를 해석하는 데 사용되었습니다. 여기
stuff: trip {
trip_id: "036000_GS.N01R"
start_date: "20170218"
route_id: "GS"
1001: "\n\0200S 0600 GCS/TSS\020\001\030\001"
}
stop_time_update {
departure {
time: 1487415600
}
stop_id: "901N"
1001: "\n\0011\022\0011"
}
stop_time_update {
arrival {
time: 1487415690
}
stop_id: "902N"
1001: "\n\0011"
}
내가 같은 trip_id, 시작일 및 stop_id 등 일부 지역을 이해, 인쇄 여행 업데이트 중 하나입니다. 그러나 trip_id, time, 1001과 같은 부분에 대해서는 아직 확신이 없으며 정적 피드의 텍스트 파일은 설명하기에 가장 좋은 작업을 수행하지 않습니다.
무엇 onebusaway API를 사용하는 코드의 결과입니까? 나는 도서관에 너무 익숙하지 않다. –
onebusaway 라이브러리는 필요한 확장명으로 컴파일 된 protobuf입니다. trip_descriptor가 채워 졌는지 확인하십시오. https://github.com/laidig/nyct-gtfs-rt-example에는 사용해보기 좋은 Maven 프로젝트가 있습니다. –
안녕하세요,이 답변을 본 이후로 꽤 오래되었습니다. 그래서 방금 편집을 주목했습니다. 나는 Maven에 익숙하다. 그래서 github repo를 어떻게 설치 하겠는가? 난 그냥 repo를 다운로드 한 다음 이클립스 같은 일부 IDE에서 업로드 할 수 있습니까? –