diff --git a/locations-jinja.py b/locations-jinja.py index 77cc32a..bc26698 100644 --- a/locations-jinja.py +++ b/locations-jinja.py @@ -23,7 +23,7 @@ class LocationsWebsite(object): def get_filtered_data(self): all_data = [] with sql.connect(DB) as cur: - results = cur.execute('''SELECT * FROM Location GROUP BY longitude, latitude,date,tid HAVING COUNT(*) > 1 ORDER BY tid DESC;''') + results = cur.execute('''SELECT * FROM Location GROUP BY longitude, latitude, date,tid ORDER BY tid DESC,time;''') for val1,val2,val3,val4,val5, in results: #rename vals to actual lon = val1 lat = val2 diff --git a/locations.db b/locations.db index 309dabe..ae8d4bf 100644 Binary files a/locations.db and b/locations.db differ diff --git a/templates/index.html b/templates/index.html index d7299f6..8b38abc 100644 --- a/templates/index.html +++ b/templates/index.html @@ -47,7 +47,7 @@ tr:nth-child(even) {background-color: #f2f2f2;} zoom: 12 }) }); - + alert(distance(latArray,longArray)); var tidColor = colorDictionary(tidArray); add_lines(map,tidColor,longArray,latArray,dateArray,tidArray) } @@ -108,10 +108,10 @@ tr:nth-child(even) {background-color: #f2f2f2;} continue; } } + map.on("singleclick", function (evt) { this.forEachFeatureAtPixel(evt.pixel, function (feature, layer) { alert("tid: " + layer.get("title")); - alert("long: " + layer.get("title")); evt.preventDefault(); }); }); @@ -145,9 +145,11 @@ tr:nth-child(even) {background-color: #f2f2f2;} } else { continue; } + map.on("singleclick", function (evt) { this.forEachFeatureAtPixel(evt.pixel, function (feature, layer) { alert("tid: " + layer.get("title")); + evt.preventDefault(); }); }); @@ -174,6 +176,23 @@ tr:nth-child(even) {background-color: #f2f2f2;} } return tidColor; } + function distance(latArray,longArray) + { + var R = 6371; // Radius of the earth in km + var lat1 = (latArray[0])* Math.PI / 180; + var lat2 = (latArray[1])* Math.PI / 180; + var dLat = (latArray[1] - latArray[0]) * Math.PI / 180; // deg2rad below + var dLon = (longArray[1] - longArray[0]) * Math.PI / 180; + var a = Math.sin(dLat/2) * Math.sin(dLat/2) + + Math.cos(lat1) * Math.cos(lat2) * + 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; + } + + +