urbi-exhibitions
Version:
2 lines (1 loc) • 1.39 kB
JavaScript
;var n=63710088e-1,o={centimeters:n*100,centimetres:n*100,degrees:360/(2*Math.PI),feet:n*3.28084,inches:n*39.37,kilometers:n/1e3,kilometres:n/1e3,meters:n,metres:n,miles:n/1609.344,millimeters:n*1e3,millimetres:n*1e3,nauticalmiles:n/1852,radians:1,yards:n*1.0936};function a(e,t,r={}){const i={type:"Feature"};return(r.id===0||r.id)&&(i.id=r.id),r.bbox&&(i.bbox=r.bbox),i.properties=t||{},i.geometry=e,i}function m(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!s(e[0])||!s(e[1]))throw new Error("coordinates must contain numbers");return a({type:"Point",coordinates:e},t,r)}function u(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return a({type:"LineString",coordinates:e},t,r)}function l(e,t="kilometers"){const r=o[t];if(!r)throw new Error(t+" units is invalid");return e*r}function d(e,t="kilometers"){const r=o[t];if(!r)throw new Error(t+" units is invalid");return e/r}function f(e){return e%(2*Math.PI)*180/Math.PI}function c(e){return e%360*Math.PI/180}function s(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}exports.degreesToRadians=c;exports.lengthToRadians=d;exports.lineString=u;exports.point=m;exports.radiansToDegrees=f;exports.radiansToLength=l;