From 16abe8b37a1bf12057e7400303722a7a6788ea1d Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Wed, 14 Sep 2022 14:20:27 +0200 Subject: [PATCH] feat(pbf): read more from pbf --- pbf/app/pages/home.jsx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/pbf/app/pages/home.jsx b/pbf/app/pages/home.jsx index 353ee7e..c0910cd 100644 --- a/pbf/app/pages/home.jsx +++ b/pbf/app/pages/home.jsx @@ -6,7 +6,7 @@ import { FeedMessage } from '../../proto2js/js/gtfs-rt.js'; import '../style.css'; const Home = () => { /*storage*/ - const [vehPos, setVehPos] = useState({}); + const [vehPos, setVehPos] = useState([]); /*fetch vehPost in a JavaScript function*/ const getVehPos = async () => { try { @@ -26,21 +26,23 @@ const Home = () => { //console.log('getVehPos() JSON pbf: ', JSON.stringify(pbf)); const feed = FeedMessage.read(pbf); if (feed.header) { - console.log('getVehPos() header available'); + //console.log('getVehPos() header available'); const {gtfs_realtime_version, incrementality, timestamp}=feed.header; if(gtfs_realtime_version && incrementality, timestamp){ console.log(`getVehPos() gtfs_realtime_version: ${gtfs_realtime_version}, incrementaltiy: ${incrementality}, timestamp: ${timestamp} available`); } + }else{ + console.error('getVehPos() header NOT available'); } + const messages = []; //console.log('getVehPos() feed: ', feed); //console.log('getVehPos() JSON feed: ', JSON.stringify(feed)); feed.entity.forEach(entity => { const vehiclePos = entity.vehicle; if (vehiclePos) { - console.log('getVehPos() vehiclePos available'); + //console.log('getVehPos() vehiclePos available'); const { trip, position, vehicle } = vehiclePos; if (trip && position && vehicle) { - console.log(`getVehPos() trip: ${trip}, position: ${position} & vehicle: ${vehicle} available`); const {trip_id, route_id, direction_id, start_time, start_date, schedule_relationship}=trip; if(trip_id){ console.log(`getVehPos() trip_id:${trip_id} available`); @@ -64,6 +66,12 @@ const Home = () => { if(longitude){ console.log(`getVehPos() longitude:${longitude} available`); } + const message={ + routeId: route_id === undefined ? -1 : parseInt(route_id,10) || -2, + lat: latitude === undefined ? -360 : latitude, + lon: longitude === undefined ? -720 : longitude, + }; + messages.push(message); } else { console.error('getVehPos() trip, position & vehicle NOT unavailable '); } @@ -71,11 +79,11 @@ const Home = () => { console.error('getVehPos() vehiclePos NOT available'); } }); + /*set state*/ + setVehPos(messages); } else { console.error('getVehPos() res.data unavailable '); } - /*set state*/ - setVehPos(res.data); } catch (err) { console.error('err.message: ' + err.message); } @@ -87,6 +95,9 @@ const Home = () => {

(React.js Lambda Function Component)

+

+ vehicle position count: {vehPos.length} +

); }