1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.Elements = undefined;
|
7 |
|
8 | var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
9 |
|
10 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
11 |
|
12 | exports.reduceB1950ToJ2000 = reduceB1950ToJ2000;
|
13 | exports.reduceB1950FK4ToJ2000FK5 = reduceB1950FK4ToJ2000FK5;
|
14 |
|
15 | var _base = require('./base');
|
16 |
|
17 | var _base2 = _interopRequireDefault(_base);
|
18 |
|
19 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20 |
|
21 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } |
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | var Elements = exports.Elements = function Elements(inc, node, peri) {
|
45 | _classCallCheck(this, Elements);
|
46 |
|
47 | if ((typeof inc === 'undefined' ? 'undefined' : _typeof(inc)) === 'object') {
|
48 | node = inc.pode;
|
49 | peri = inc.peri;
|
50 | inc = inc.inc;
|
51 | }
|
52 | this.inc = inc || 0;
|
53 | this.node = node || 0;
|
54 | this.peri = peri || 0;
|
55 | };
|
56 |
|
57 |
|
58 |
|
59 |
|
60 | var S = 0.0001139788;
|
61 | var C = 0.9999999935;
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 | function reduceB1950ToJ2000(eFrom) {
|
70 | var W = eFrom.node - 174.298782 * Math.PI / 180;
|
71 |
|
72 | var _base$sincos = _base2.default.sincos(eFrom.inc),
|
73 | _base$sincos2 = _slicedToArray(_base$sincos, 2),
|
74 | si = _base$sincos2[0],
|
75 | ci = _base$sincos2[1];
|
76 |
|
77 | var _base$sincos3 = _base2.default.sincos(W),
|
78 | _base$sincos4 = _slicedToArray(_base$sincos3, 2),
|
79 | sW = _base$sincos4[0],
|
80 | cW = _base$sincos4[1];
|
81 |
|
82 | var A = si * sW;
|
83 | var B = C * si * cW - S * ci;
|
84 | var eTo = new Elements();
|
85 | eTo.inc = Math.asin(Math.hypot(A, B));
|
86 | eTo.node = _base2.default.pmod(174.997194 * Math.PI / 180 + Math.atan2(A, B), 2 * Math.PI);
|
87 | eTo.peri = _base2.default.pmod(eFrom.peri + Math.atan2(-S * sW, C * si - S * ci * cW), 2 * Math.PI);
|
88 | return eTo;
|
89 | }
|
90 |
|
91 | var Lp = 4.50001688 * Math.PI / 180;
|
92 | var L = 5.19856209 * Math.PI / 180;
|
93 | var J = 0.00651966 * Math.PI / 180;
|
94 |
|
95 |
|
96 |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 |
|
102 | function reduceB1950FK4ToJ2000FK5(eFrom) {
|
103 | var W = L + eFrom.node;
|
104 |
|
105 | var _base$sincos5 = _base2.default.sincos(eFrom.inc),
|
106 | _base$sincos6 = _slicedToArray(_base$sincos5, 2),
|
107 | si = _base$sincos6[0],
|
108 | ci = _base$sincos6[1];
|
109 |
|
110 | var _base$sincos7 = _base2.default.sincos(J),
|
111 | _base$sincos8 = _slicedToArray(_base$sincos7, 2),
|
112 | sJ = _base$sincos8[0],
|
113 | cJ = _base$sincos8[1];
|
114 |
|
115 | var _base$sincos9 = _base2.default.sincos(W),
|
116 | _base$sincos10 = _slicedToArray(_base$sincos9, 2),
|
117 | sW = _base$sincos10[0],
|
118 | cW = _base$sincos10[1];
|
119 |
|
120 | var eTo = new Elements();
|
121 | eTo.inc = Math.acos(ci * cJ - si * sJ * cW);
|
122 | eTo.node = _base2.default.pmod(Math.atan2(si * sW, ci * sJ + si * cJ * cW) - Lp, 2 * Math.PI);
|
123 | eTo.peri = _base2.default.pmod(eFrom.peri + Math.atan2(sJ * sW, si * cJ + ci * sJ * cW), 2 * Math.PI);
|
124 | return eTo;
|
125 | }
|
126 |
|
127 | exports.default = {
|
128 | Elements: Elements,
|
129 | reduceB1950ToJ2000: reduceB1950ToJ2000,
|
130 | reduceB1950FK4ToJ2000FK5: reduceB1950FK4ToJ2000FK5
|
131 | }; |
\ | No newline at end of file |