Skip to content
Permalink
Browse files
Distance working
  • Loading branch information
kocsisa2 committed Feb 21, 2020
1 parent a10de98 commit 80edabf3b3f63d9142d8bc1a1f23d876fe4e22e3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
BIN +0 Bytes (100%) locations.db
Binary file not shown.
@@ -116,8 +116,8 @@ tr:nth-child(even) {background-color: #f2f2f2;}
});

}

function add_lines(map,tidColor,longArray,latArray,dateArray,tidArray){
var total = 0;
for (i=0; i<latArray.length-1; i++)
{
var loc1 = ol.proj.fromLonLat([longArray[i],latArray[i]]);
@@ -132,12 +132,14 @@ tr:nth-child(even) {background-color: #f2f2f2;}
];
if (tidArray[i]==tidArray[i+1] && dateArray[i]==dateArray[i+1])
{
total += distance(latArray[i], latArray[i+1], longArray[i], longArray[i+1]);
var myLine = new ol.layer.Vector({
tid: tidArray[i],
lat1: latArray[i],
lat2: latArray[i+1],
lon1: longArray[i],
lon2: longArray[i+1],
totalJourney: total,
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString([loc1, loc2]),
@@ -151,7 +153,7 @@ tr:nth-child(even) {background-color: #f2f2f2;}

map.on("singleclick", function (evt) {
this.forEachFeatureAtPixel(evt.pixel, function (feature, layer) {
alert("TID : " + layer.get("tid") + "\nDistance : " + distance(layer.get("lat1"),layer.get("lat2"),layer.get("lon1"),layer.get("lon2")) + " miles");
alert("TID: " + layer.get("tid") + "\nDistance: " + distance(layer.get("lat1"),layer.get("lat2"),layer.get("lon1"),layer.get("lon2")) + " miles" + "\nDistance from start: " + layer.get("totalJourney") + " miles");
evt.preventDefault();
});
});
@@ -183,16 +185,15 @@ tr:nth-child(even) {background-color: #f2f2f2;}
var R = 6371; // Radius of the earth in km
var lat1r = (lat1)* Math.PI / 180;
var lat2r = (lat2)* Math.PI / 180;
var dLat = (lat2 - lat1) * Math.PI / 180; // deg2rad below
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1r) * Math.cos(lat2r) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d/1.609;
return d/1.609; //Distance in miles
}



</script>

0 comments on commit 80edabf

Please sign in to comment.