Liaisons de langage Java GTFS-realtime¶
Fournit des classes Java gĂ©nĂ©rĂ©es Ă partir de la spĂ©cification GTFS-realtime Protocol Buffer. Ces classes vous permettront dâanalyser un flux de donnĂ©es binaire en temps rĂ©el Protocol Buffer GTFS dans des objets Java.
Ajouter la dĂ©pendance¶
Pour utiliser les classes gtfs-realtime-bindings dans votre propre projet, vous devez ajouter une dĂ©pendance appropriĂ©e. Nous publions notre module dans le Maven Central Repository afin quâil puisse ĂȘtre facilement rĂ©fĂ©rencĂ© par les outils de construction Java tels que Maven, Ivy et Gradle.
Pour Maven, ajoutez ce qui suit à votre section de dépendances pom.xml:
<dependency>
<groupId>org.mobilitydata</groupId>
<artifactId>gtfs-realtime-bindings</artifactId>
<version>0.0.8</version>
</dependency>
Pour Gradle, ajoutez ce qui suit à votre section de dépendances build.gradle:
implementation group: 'org.mobilitydata', name: 'gtfs-realtime-bindings', version: '0.0.8'
Assurez-vous que le répertoire central Maven est référencé par votre projet.
Exemple de code¶
Lâextrait de code suivant montre le tĂ©lĂ©chargement dâun flux de donnĂ©es GTFS Realtime Ă partir dâune URL particuliĂšre, en lâanalysant comme un FeedMessage (le type racine du schĂ©ma GTFS Realtime), et itĂ©rer sur les rĂ©sultats.
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());
}
}
}
}
Pour plus de détails sur les conventions de dénomination des classes Java générées à partir du le gtfs-realtime.proto, consultez le Code généré Java section du site des développeur·euse de Protocol Buffers.
Historique du projet¶
0.0.4 et versions antĂ©rieures¶
Ce projet a Ă©tĂ© créé Ă lâorigine par Google. Vous pouvez tĂ©lĂ©charger les versions 0.0.4 et les versions antĂ©rieures sous lâID de groupe com.google.transit ici sur Maven Central.
0.0.5¶
MobilityData a commencĂ© Ă maintenir le projet dĂ©but 2019 et a initialement publiĂ© les artefacts de version via JCenter. Vous pouvez tĂ©lĂ©charger la version 0.0.5 sous lâID de groupe io.mobilitydata.transit ici sur Maven Central.
0.0.6 et 0.0.7¶
JCenter arrĂȘter en 2021. Avant lâarrĂȘt, un problĂšme de synchronisation empĂȘchait les versions 0.0.6 et 0.0.7 dâĂȘtre synchronisĂ©es de JCenter vers Maven Central, le tĂ©lĂ©chargement direct dâartefacts nâest donc pas disponible pour ces versions. Cependant, vous pouvez les compiler vous-mĂȘme Ă partir des tags en utilisant la commande mvn package.
0.0.8 et versions ultĂ©rieures¶
En 2022, MobilityData est passĂ© Ă la publication dâartefacts directement sur Maven Central sous lâID de groupe org.mobilitydata, oĂč les versions 0.0.8 et supĂ©rieures sont publiĂ©es.