diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-01-08 14:27:55 -0800 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2018-01-08 14:27:55 -0800 |
commit | e338c5f91d7724dcc16499a523089a31ab1f0a05 (patch) | |
tree | cb8cd87beea0f1c0ffc136e20db526fbcec24273 /attic | |
parent | 0b0b5da2402af9f3674121c7f71e8706b63f8f1a (diff) | |
download | infinitytier-e338c5f91d7724dcc16499a523089a31ab1f0a05.tar.gz infinitytier-e338c5f91d7724dcc16499a523089a31ab1f0a05.zip |
cleanup
Diffstat (limited to 'attic')
-rw-r--r-- | attic/lat_lon_to_xyz.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/attic/lat_lon_to_xyz.js b/attic/lat_lon_to_xyz.js new file mode 100644 index 00000000..692a3687 --- /dev/null +++ b/attic/lat_lon_to_xyz.js @@ -0,0 +1,25 @@ +'use strict' + +/* This is a utility to convert latitude/longitude into X,Y,Z coordinates as used by clustering. */ + +if (process.argv.length !== 4) { + console.log('Usage: node lat_lon_to_xyz.js <latitude> <longitude'); + process.exit(1); +} + +var lat = parseFloat(process.argv[2])||0.0; +var lon = parseFloat(process.argv[3])||0.0; + +var latRadians = lat * 0.01745329251994; // PI / 180 +var lonRadians = lon * 0.01745329251994; // PI / 180 +var cosLat = Math.cos(latRadians); + +console.log({ + lat: lat, + lon: lon, + x: Math.round((-6371.0) * cosLat * Math.cos(lonRadians)), + y: Math.round(6371.0 * Math.sin(latRadians)), + z: Math.round(6371.0 * cosLat * Math.sin(lonRadians)) +}); + +process.exit(0); |