Skip to content

Instantly share code, notes, and snippets.

@apkoponen
Created March 8, 2016 13:53
Show Gist options
  • Select an option

  • Save apkoponen/ddfe026b007a89289bcd to your computer and use it in GitHub Desktop.

Select an option

Save apkoponen/ddfe026b007a89289bcd to your computer and use it in GitHub Desktop.
Don't calculate distances with Pythagoras and simple magic constant.
var Helsinki = {
lat: 60.1639305,
lng: 24.9001888
};
var Oulu = {
lat: 64.4984149,
lng: 26.1482539
};
var Lappeenranta = {
lat: 60.9673061,
lng: 27.9629412
};
function distancePythagora(from, to) {
var a = Math.abs(from.lat - to.lat);
var b = Math.abs(from.lng - to.lng);
var c = Math.sqrt(a^2 + b^2);
var magicConst = 118;
return c * magicConst;
}
var HelsinkiOuluPythagora = distancePythagora(Helsinki, Oulu);
var HelsinkiOuluReal = 539.313;
var HelsinkiOuluError = ( HelsinkiOuluReal / HelsinkiOuluPythagora ) * 100;
var HelsinkiLappeenrantaPythagora = distancePythagora(Helsinki, Lappeenranta);
var HelsinkiLappeenrantaReal = 202.753;
var HelsinkiLappeenrantaError = ( HelsinkiLappeenrantaReal / HelsinkiLappeenrantaPythagora ) * 100;
console.log("---");
console.log("Helsinki-Oulu");
console.log("Pythagora: " + HelsinkiLappeenrantaReal);
console.log("Real: " + HelsinkiOuluReal);
console.log("Error: " + HelsinkiOuluError + " %");
console.log("---");
console.log("Helsinki-Lappeenranta");
console.log("Pythagora: " + HelsinkiLappeenrantaPythagora);
console.log("Real: " + HelsinkiLappeenrantaReal);
console.log("Error: " + HelsinkiLappeenrantaError + " %");
console.log("---");
console.log("Pythagoras says Lappeenranta is further from Helsinki than Oulu!");
console.log("Pythagora distance difference: " + (HelsinkiLappeenrantaPythagora - HelsinkiOuluPythagora));
console.log("Really, Oulu quite a bit is further from Helsinki than Lappeenranta!");
console.log("Real distance difference: " + (HelsinkiLappeenrantaReal - HelsinkiOuluReal));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment