UNPKG

terriajs

Version:

Geospatial data visualization platform.

38 lines (30 loc) 1.39 kB
'use strict'; import defined from 'terriajs-cesium/Source/Core/defined'; import defaultValue from 'terriajs-cesium/Source/Core/defaultValue'; /** * Turns the longitude / latitude in degrees into a human readable pretty strings. * * @param {Number} longitude The longitude to format. * @param {Number} latitude The latitude to format. * @param {Object} options Object with the following properties: * @param {Number} options.height The height. * @param {Number} options.errorBar The error +/- for the height. * @param {Number} options.digits The number of digits to fix the lat / lon to. */ function prettifyCoordinates(longitude, latitude, options) { var result = {}; const optionsDefaulted = defaultValue(options, {}); const digits = defaultValue(optionsDefaulted.digits, 5); result.latitude = Math.abs(latitude).toFixed(digits) + '°' + (latitude < 0.0 ? 'S' : 'N'); result.longitude = Math.abs(longitude).toFixed(digits) + '°' + (longitude < 0.0 ? 'W' : 'E'); if (defined(optionsDefaulted.height)) { result.elevation = Math.round(optionsDefaulted.height) + (defined(optionsDefaulted.errorBar) ? '±' + Math.round(optionsDefaulted.errorBar) : '') + 'm'; } else { result.elevation = undefined; } return result; } module.exports = prettifyCoordinates;