Java GTFS-Realtime 언어 바인딩¶
GTFS-realtime 프로토콜 버퍼 사양에서 생성된 Java 클래스를 제공합니다. 이러한 클래스를 사용하면 이진 Protocol Buffer GTFS-Realtime 데이터 피드를 Java 개체로 구문 분석할 수 있습니다.
종속성 추가¶
자신의 프로젝트에서 gtfs-realtime-bindings
클래스를 사용하려면 적절한 종속성을 추가해야 합니다. Maven, Ivy 및 Gradle과 같은 Java 빌드 도구에서 쉽게 참조할 수 있도록 Maven Central Repository 에 모듈을 게시합니다.
Maven 의 경우 pom.xml
종속성 섹션에 다음을 추가합니다.
<dependency>
<groupId>org.mobilitydata</groupId>
<artifactId>gtfs-realtime-bindings</artifactId>
<version>0.0.8</version>
</dependency>
Gradle 의 경우 build.gradle
섹션에 다음을 추가합니다.
implementation group: 'org.mobilitydata', name: 'gtfs-realtime-bindings', version: '0.0.8'
프로젝트에서 Maven 중앙 저장소를 참조하는지 확인하십시오.
예제 코드¶
다음 코드 스니펫은 특정 URL에서 GTFS Realtime 데이터 피드를 다운로드하여 FeedMessage(GTFS Realtime 스키마의 루트 유형)로 파싱하고 결과를 반복하는 방법을 보여줍니다.
import java.net.URL;
import com.google.transit.realtime.GtfsRealtime.FeedEntity;
import com.google.transit.realtime.GtfsRealtime.FeedMessage;
public class GtfsRealtimeExample {
public static void main(String[] args) throws Exception {
URL url = new URL("URL OF YOUR GTFS-REALTIME SOURCE GOES HERE");
FeedMessage feed = FeedMessage.parseFrom(url.openStream());
for (FeedEntity entity : feed.getEntityList()) {
if (entity.hasTripUpdate()) {
System.out.println(entity.getTripUpdate());
}
}
}
}
gtfs-realtime.proto 에서 생성된 Java 클래스의 명명 규칙에 대한 자세한 내용은 Protocol Buffers 개발자 사이트의 Java Generated Code 섹션을 확인하십시오.
프로젝트 역사¶
0.0.4
이하¶
이 프로젝트는 원래 Google에서 만들었습니다. Maven Central 의 그룹 ID com.google.transit
에서 버전 0.0.4
이하를 다운로드할 수 있습니다.
0.0.5
¶
MobilityData는 2019년 초에 프로젝트를 유지 관리하기 시작했으며 처음에는 JCenter를 통해 릴리스 아티팩트를 게시했습니다. Maven Central 의 그룹 ID io.mobilitydata.transit
에서 버전 0.0.5
를 다운로드할 수 있습니다.
0.0.6
및 0.0.7
¶
JCenter는 2021년에 종료 되었습니다. 종료 전에 동기화 문제로 인해 버전 0.0.6
및 0.0.7
이 JCenter에서 Maven Central로 동기화되지 않았으므로 현재 이러한 버전에 대해 직접 아티팩트 다운로드를 사용할 수 없습니다. 그러나 mvn package
명령을 사용하여 태그 에서 직접 컴파일할 수 있습니다.
0.0.8
이상¶
2022년에 MobilityData는 버전 0.0.8 이상이 게시되는 그룹 ID org.mobilitydata
로 Maven Central에 직접 아티팩트 게시로 전환했습니다.