Hello, With JS anf turfjs library I need on several markers calculate 1) medium speed 2) time of arrival at any marker point I make as: const markerIds = Object.keys(markers) const points2Data = [] let summarized_distance= 0 let arrival_date= moment(tripRow.arrival_date)// arrival time let departure_date= moment(tripRow.departure_date) // departure time for (let i = 1; i < markerIds.length; i++) { const marker = markers[markerIds[i - 1]] const nextMarker = markers[markerIds[i]] const from = turf.point([marker.lat, marker.lng]) const to = turf.point([nextMarker.lat, nextMarker.lng]) const distance = turf.distance(from, to, { units: 'kilometers' }) summarized_distance= summarized_distance + distance // get data const points2Item = { id: marker.id, start: marker.id, end: nextMarker.id, speed: marker.speed, lat: nextMarker.lat, lng: nextMarker.lng, latlng: [nextMarker.lat, nextMarker.lng], distance: distance, time: distance / marker.speed, eta:null } points2Data.push(points2Item) } // for (let i = 1; i < markerIds.length; i++) { // get medium speed let calculated_speed = summarized_distance / summarized_trip_time let next_arrival_time= arrival_date for (let i = 0; i < points2Data.length; i++) { // I think I need to get raio of 1 marker distance from whole distance let distance_ratio= summarized_distance / points2Data[i].distance // I think I need to get calculate time ratio and add it to next_arrival_time, something like next_arrival_time= next_arrival_time.add(CALCULATED_RATIO_TIME, 'hour') // But how to calculate this CALCULATED_RATIO_TIME ? points2Data[i].eta= next_arrival_time.format('YYYY-MM-DD HH:mm') Code (JavaScript): how to calculate this CALCULATED_RATIO_TIME ? I hope my common flow is correct, but I encountered this issue... Thanks!
I remade it as : let next_arrival_time= departure_date for (let i = 0; i < points2Data.length; i++) { // That was invalid I got ratio of distance let distance_ratio= points2Data[i].distance / summarized_distance // I got ratio of time next_arrival_time= next_arrival_time.add( summarized_trip_time * distance_ratio , 'hour') points2Data[i].eta= next_arrival_time.format('YYYY-MM-DD HH:mm') } // for (let i = 1; i < points2Data.length; i++) { Code (JavaScript): Lokking at results I have results very similar as I expect, but havinf departure_date= ‘2020-03-02 12:00:00’ and arrival_date='2020-03-03 12:00:00' with several points I got last point : 2020-03-03 11:59 and I lost 1 minutes - why and how to fix it ?