changed formula for calculating earth distances

This commit is contained in:
unknown 2021-01-08 17:48:41 +01:00
parent 6f6da95780
commit dd7107b1a9
3 changed files with 16 additions and 16 deletions

View File

@ -75,10 +75,11 @@ function addDistances(tcpDataList, serialDataList){
for(let i = 0; i < tcpCoords.length; i++){
let distance = distanceInMetersBetweenEarthCoordinates
(serialCoords[i][1],serialCoords[i][0],tcpCoords[i][1],tcpCoords[i][0])
(serialCoords[i][0],serialCoords[i][1],tcpCoords[i][0],tcpCoords[i][1])
distances.push(distance)
}
console.log("tcp coords: " + tcpCoords)
console.log("distances: " + distances)
accChart.data.labels = tcpTimes
@ -87,21 +88,19 @@ function addDistances(tcpDataList, serialDataList){
accChart.update()
}
function degreesToRadians(degrees) {
return degrees * Math.PI / 180;
}
//https://www.movable-type.co.uk/scripts/latlong.html
function distanceInMetersBetweenEarthCoordinates(long1, lat1, long2, lat2) {
var earthRadiusM = 6371000
function distanceInMetersBetweenEarthCoordinates(lat1, lon1, lat2, lon2) {
var earthRadiusKm = 6371
var phi1 = lat1 * Math.PI / 180
var phi2 = lat2 * Math.PI / 180
var dLat = degreesToRadians(lat2-lat1)
var dLon = degreesToRadians(lon2-lon1)
var dlat = (lat2-lat1) * Math.PI / 180
var dlong = (long2 - long1) * Math.PI / 180
lat1 = degreesToRadians(lat1)
lat2 = degreesToRadians(lat2)
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2)
var a = Math.sin(dlat/2) * Math.sin(dlat/2) +
Math.cos(phi1) * Math.cos(phi2) *
Math.sin(dlong/2) * Math.sin(dlong/2)
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a))
return (earthRadiusKm * c) * 1000
return earthRadiusM * c
}

View File

@ -11,7 +11,7 @@ var speedChart = new Chart(ctx, {
borderColor: 'rgba(214, 69, 65, 1)',
borderWidth: 1,
fill: false,
pointRadius: 1,
pointRadius: 0.5,
lineTension: 0.5,
data: []
},
@ -21,7 +21,7 @@ var speedChart = new Chart(ctx, {
borderColor: 'rgba(30, 139, 195, 1)',
borderWidth: 1,
fill: false,
pointRadius: 1,
pointRadius: 0.5,
lineTension: 0.5,
data: []
}]

View File

@ -55,6 +55,7 @@ function findSerialDataIndex(tcpdataList, serialdataList) {
indexes.push(index)
}
})
console.log("indexes: " + indexes)
}
window.addEventListener("load", function(evt) {