geo-coordinates-parser 1.5.8 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +5 -4
- package/dist/cjs/converter.d.ts +15 -0
- package/dist/cjs/converter.js +363 -0
- package/dist/cjs/merge.d.ts +2 -0
- package/dist/cjs/merge.js +12 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/regex.d.ts +4 -0
- package/dist/cjs/regex.js +16 -0
- package/dist/cjs/tests/failFormats.d.ts +2 -0
- package/dist/cjs/tests/failFormats.js +26 -0
- package/dist/cjs/tests/makeTestFormatsJSON.d.ts +1 -0
- package/dist/cjs/tests/makeTestFormatsJSON.js +14 -0
- package/dist/cjs/tests/test.d.ts +1 -0
- package/dist/cjs/tests/test.js +56 -0
- package/dist/cjs/tests/testFormatConverter.d.ts +1 -0
- package/dist/cjs/tests/testFormatConverter.js +11 -0
- package/dist/cjs/tests/testIndividual.d.ts +1 -0
- package/dist/cjs/tests/testIndividual.js +26 -0
- package/dist/cjs/tests/testformats.d.ts +2 -0
- package/dist/cjs/tests/testformats.js +359 -0
- package/dist/cjs/toCoordinateFormat.d.ts +6 -0
- package/dist/cjs/toCoordinateFormat.js +42 -0
- package/dist/mjs/converter.d.ts +15 -0
- package/dist/mjs/converter.js +358 -0
- package/dist/mjs/merge.d.ts +2 -0
- package/dist/mjs/merge.js +6 -0
- package/dist/mjs/package.json +3 -0
- package/dist/mjs/regex.d.ts +4 -0
- package/dist/mjs/regex.js +10 -0
- package/dist/mjs/tests/failFormats.d.ts +2 -0
- package/dist/mjs/tests/failFormats.js +24 -0
- package/dist/mjs/tests/makeTestFormatsJSON.d.ts +1 -0
- package/dist/mjs/tests/makeTestFormatsJSON.js +9 -0
- package/dist/mjs/tests/test.d.ts +1 -0
- package/dist/mjs/tests/test.js +51 -0
- package/dist/mjs/tests/testFormatConverter.d.ts +1 -0
- package/dist/mjs/tests/testFormatConverter.js +6 -0
- package/dist/mjs/tests/testIndividual.d.ts +1 -0
- package/dist/mjs/tests/testIndividual.js +21 -0
- package/dist/mjs/tests/testformats.d.ts +2 -0
- package/dist/mjs/tests/testformats.js +357 -0
- package/dist/mjs/toCoordinateFormat.d.ts +6 -0
- package/dist/mjs/toCoordinateFormat.js +40 -0
- package/package.json +50 -42
- package/bundle/demo.html +0 -39
- package/bundle/geocoordsparser.js +0 -1
- package/bundle/workflow.txt +0 -8
- package/conf.py +0 -3
- package/converter.js +0 -443
- package/failFormats.js +0 -24
- package/formatsOnly.json +0 -41
- package/geocoordsparser.js +0 -0
- package/makeTestFormatsJSON.js +0 -11
- package/merge.js +0 -9
- package/regex.js +0 -20
- package/test.js +0 -66
- package/testFormatConverter.js +0 -8
- package/testFormats.json +0 -352
- package/testIndividual.js +0 -22
- package/testformats.js +0 -372
- package/toCoordinateFormat.js +0 -52
package/testformats.js
DELETED
@@ -1,372 +0,0 @@
|
|
1
|
-
//return an array of coordinate strings for testing
|
2
|
-
|
3
|
-
|
4
|
-
//coordinations-parser formats
|
5
|
-
//https://www.npmjs.com/package/coordinate-parser
|
6
|
-
var coordsParserFormats = [
|
7
|
-
{
|
8
|
-
verbatimCoordinates: '40.123, -74.123',
|
9
|
-
verbatimLatitude: '40.123',
|
10
|
-
verbatimLongitude: '-74.123'
|
11
|
-
},
|
12
|
-
{
|
13
|
-
verbatimCoordinates: '40.123° N 74.123° W',
|
14
|
-
verbatimLatitude: '40.123° N',
|
15
|
-
verbatimLongitude: '74.123° W'
|
16
|
-
},
|
17
|
-
{
|
18
|
-
verbatimCoordinates: '40.123° N 74.123° W',
|
19
|
-
verbatimLatitude: '40.123° N',
|
20
|
-
verbatimLongitude: '74.123° W'
|
21
|
-
},
|
22
|
-
{
|
23
|
-
verbatimCoordinates: '40° 7´ 22.8" N 74° 7´ 22.8" W',
|
24
|
-
verbatimLatitude: '40° 7´ 22.8" N',
|
25
|
-
verbatimLongitude: '74° 7´ 22.8" W'
|
26
|
-
},
|
27
|
-
{
|
28
|
-
verbatimCoordinates: '40° 7.38’ , -74° 7.38’',
|
29
|
-
verbatimLatitude: '40° 7.38’',
|
30
|
-
verbatimLongitude: '-74° 7.38’'
|
31
|
-
},
|
32
|
-
{
|
33
|
-
verbatimCoordinates: 'N40°7’22.8’’, W74°7’22.8’’',
|
34
|
-
verbatimLatitude: 'N40°7’22.8’’',
|
35
|
-
verbatimLongitude: 'W74°7’22.8’’'
|
36
|
-
},
|
37
|
-
{
|
38
|
-
verbatimCoordinates: '40°7’22.8"N, 74°7’22.8"W',
|
39
|
-
verbatimLatitude: '40°7’22.8"N',
|
40
|
-
verbatimLongitude: '74°7’22.8"W'
|
41
|
-
},
|
42
|
-
{
|
43
|
-
verbatimCoordinates: '40°7\'22.8"N, 74°7\'22.8"W',
|
44
|
-
verbatimLatitude: '40°7\'22.8"N',
|
45
|
-
verbatimLongitude: '74°7\'22.8"W'
|
46
|
-
},
|
47
|
-
{
|
48
|
-
verbatimCoordinates: '40 7 22.8, -74 7 22.8',
|
49
|
-
verbatimLatitude: '40 7 22.8',
|
50
|
-
verbatimLongitude: '-74 7 22.8'
|
51
|
-
},
|
52
|
-
{
|
53
|
-
verbatimCoordinates: '40.123 -74.123',
|
54
|
-
verbatimLatitude: '40.123',
|
55
|
-
verbatimLongitude: '-74.123'
|
56
|
-
},
|
57
|
-
{
|
58
|
-
verbatimCoordinates: '40.123°,-74.123°',
|
59
|
-
verbatimLatitude: '40.123°',
|
60
|
-
verbatimLongitude: '-74.123°'
|
61
|
-
},
|
62
|
-
{
|
63
|
-
verbatimCoordinates: '40.123N74.123W',
|
64
|
-
verbatimLatitude: '40.123N',
|
65
|
-
verbatimLongitude: '74.123W'
|
66
|
-
},
|
67
|
-
{
|
68
|
-
verbatimCoordinates: '4007.38N7407.38W',
|
69
|
-
verbatimLatitude: '4007.38N',
|
70
|
-
verbatimLongitude: '7407.38W'
|
71
|
-
},
|
72
|
-
{
|
73
|
-
verbatimCoordinates: '40°7’22.8"N, 74°7’22.8"W',
|
74
|
-
verbatimLatitude: '40°7’22.8"N',
|
75
|
-
verbatimLongitude: '74°7’22.8"W'
|
76
|
-
},
|
77
|
-
{
|
78
|
-
verbatimCoordinates: '400722.8N740722.8W',
|
79
|
-
verbatimLatitude: '400722.8N',
|
80
|
-
verbatimLongitude: '740722.8W'
|
81
|
-
},
|
82
|
-
{
|
83
|
-
verbatimCoordinates: 'N 40 7.38 W 74 7.38',
|
84
|
-
verbatimLatitude: 'N 40 7.38',
|
85
|
-
verbatimLongitude: 'W 74 7.38'
|
86
|
-
},
|
87
|
-
{
|
88
|
-
verbatimCoordinates: '40:7:22.8N 74:7:22.8W',
|
89
|
-
verbatimLatitude: '40:7:22.8N',
|
90
|
-
verbatimLongitude: '74:7:22.8W'
|
91
|
-
},
|
92
|
-
{
|
93
|
-
verbatimCoordinates: '40:7:23N,74:7:23W',
|
94
|
-
verbatimLatitude: '40:7:23N',
|
95
|
-
verbatimLongitude: '74:7:23W',
|
96
|
-
decimalLatitude: 40.1230555555,
|
97
|
-
decimalLongitude: -74.1230555555
|
98
|
-
},
|
99
|
-
{
|
100
|
-
verbatimCoordinates: '40°7’23"N 74°7’23"W',
|
101
|
-
verbatimLatitude: '40°7’23"N',
|
102
|
-
verbatimLongitude: '74°7’23"W',
|
103
|
-
decimalLatitude: 40.1230555555,
|
104
|
-
decimalLongitude: -74.12305555555555
|
105
|
-
},
|
106
|
-
{
|
107
|
-
verbatimCoordinates: '40°7’23"S 74°7’23"E',
|
108
|
-
verbatimLatitude: '40°7’23"S',
|
109
|
-
verbatimLongitude: '74°7’23"E',
|
110
|
-
decimalLatitude: -40.1230555555,
|
111
|
-
decimalLongitude: 74.12305555555555
|
112
|
-
},
|
113
|
-
{
|
114
|
-
verbatimCoordinates: '40°7’23" -74°7’23"',
|
115
|
-
verbatimLatitude: '40°7’23"',
|
116
|
-
verbatimLongitude: '-74°7’23"',
|
117
|
-
decimalLatitude: 40.1230555555,
|
118
|
-
decimalLongitude: -74.123055555
|
119
|
-
},
|
120
|
-
{
|
121
|
-
verbatimCoordinates: '40d 7’ 23" N 74d 7’ 23" W',
|
122
|
-
verbatimLatitude: '40d 7’ 23" N',
|
123
|
-
verbatimLongitude: '74d 7’ 23" W',
|
124
|
-
decimalLatitude: 40.1230555555,
|
125
|
-
decimalLongitude: -74.123055555
|
126
|
-
},
|
127
|
-
{
|
128
|
-
verbatimCoordinates: '40.123N 74.123W',
|
129
|
-
verbatimLatitude: '40.123N',
|
130
|
-
verbatimLongitude: '74.123W'
|
131
|
-
},
|
132
|
-
{
|
133
|
-
verbatimCoordinates: '40° 7.38, -74° 7.38',
|
134
|
-
verbatimLatitude: '40° 7.38',
|
135
|
-
verbatimLongitude: '-74° 7.38'
|
136
|
-
},
|
137
|
-
{
|
138
|
-
verbatimCoordinates: '40° 7.38, -74° 7.38',
|
139
|
-
verbatimLatitude: '40° 7.38',
|
140
|
-
verbatimLongitude: '-74° 7.38'
|
141
|
-
},
|
142
|
-
{
|
143
|
-
verbatimCoordinates: '40 7 22.8; -74 7 22.8', //semicolon separator
|
144
|
-
verbatimLatitude: '40 7 22.8',
|
145
|
-
verbatimLongitude: '-74 7 22.8'
|
146
|
-
}
|
147
|
-
]
|
148
|
-
|
149
|
-
var coordsParserDecimals = {
|
150
|
-
decimalLatitude: 40.123,
|
151
|
-
decimalLongitude: -74.123
|
152
|
-
}
|
153
|
-
|
154
|
-
//formats from https://gist.github.com/moole/3707127/337bd31d813a10abcf55084381803e5bbb0b20dc
|
155
|
-
|
156
|
-
var coordsRegexFormats = [
|
157
|
-
{
|
158
|
-
verbatimCoordinates: '50°4\'17.698"south, 14°24\'2.826"east',
|
159
|
-
verbatimLatitude: '50°4\'17.698"south',
|
160
|
-
verbatimLongitude: '14°24\'2.826"east',
|
161
|
-
decimalLatitude: -50.0715827777777778,
|
162
|
-
decimalLongitude: 14.400785
|
163
|
-
|
164
|
-
},
|
165
|
-
{
|
166
|
-
verbatimCoordinates: '50d4m17.698S 14d24m2.826E',
|
167
|
-
verbatimLatitude: '50d4m17.698S',
|
168
|
-
verbatimLongitude: '14d24m2.826E',
|
169
|
-
decimalLatitude: -50.0715827777777778,
|
170
|
-
decimalLongitude: 14.400785
|
171
|
-
},
|
172
|
-
{
|
173
|
-
verbatimCoordinates: '40:26:46N,79:56:55W',
|
174
|
-
verbatimLatitude: '40:26:46N',
|
175
|
-
verbatimLongitude: '79:56:55W',
|
176
|
-
decimalLatitude: 40.4461111111111111,
|
177
|
-
decimalLongitude: -79.9486111111111111
|
178
|
-
},
|
179
|
-
{
|
180
|
-
verbatimCoordinates: '40:26:46.302N 79:56:55.903W',
|
181
|
-
verbatimLatitude: '40:26:46.302N',
|
182
|
-
verbatimLongitude: '79:56:55.903W',
|
183
|
-
decimalLatitude: 40.446195,
|
184
|
-
decimalLongitude: -79.9488619444444444
|
185
|
-
},
|
186
|
-
{
|
187
|
-
verbatimCoordinates: '40°26′47″N 79°58′36″W',
|
188
|
-
verbatimLatitude: '40°26′47″N',
|
189
|
-
verbatimLongitude: '79°58′36″W',
|
190
|
-
decimalLatitude: 40.4463888888888889,
|
191
|
-
decimalLongitude: -79.9766666666666667
|
192
|
-
|
193
|
-
},
|
194
|
-
{
|
195
|
-
verbatimCoordinates: '40d 26′ 47″ N 79d 58′ 36″ W',
|
196
|
-
verbatimLatitude: '40d 26′ 47″ N',
|
197
|
-
verbatimLongitude: '79d 58′ 36″ W',
|
198
|
-
decimalLatitude: 40.4463888888888889,
|
199
|
-
decimalLongitude: -79.9766666666666667
|
200
|
-
},
|
201
|
-
{
|
202
|
-
verbatimCoordinates: '40.446195N 79.948862W',
|
203
|
-
verbatimLatitude: '40.446195N',
|
204
|
-
verbatimLongitude: '79.948862W',
|
205
|
-
decimalLatitude: 40.446195,
|
206
|
-
decimalLongitude: -79.948862
|
207
|
-
},
|
208
|
-
{
|
209
|
-
verbatimCoordinates: '40,446195° 79,948862°',
|
210
|
-
verbatimLatitude: '40,446195°',
|
211
|
-
verbatimLongitude: '79,948862°',
|
212
|
-
decimalLatitude: 40.446195,
|
213
|
-
decimalLongitude: 79.948862
|
214
|
-
},
|
215
|
-
{
|
216
|
-
verbatimCoordinates: '40° 26.7717, -79° 56.93172',
|
217
|
-
verbatimLatitude: '40° 26.7717',
|
218
|
-
verbatimLongitude: '-79° 56.93172',
|
219
|
-
decimalLatitude: 40.446195,
|
220
|
-
decimalLongitude: -79.948862
|
221
|
-
},
|
222
|
-
{
|
223
|
-
verbatimCoordinates: '40.446195, -79.948862',
|
224
|
-
verbatimLatitude: '40.446195',
|
225
|
-
verbatimLongitude: '-79.948862',
|
226
|
-
decimalLatitude: 40.446195,
|
227
|
-
decimalLongitude: -79.948862
|
228
|
-
},
|
229
|
-
{
|
230
|
-
verbatimCoordinates: '40.123256; -74.123256', //testing semicolon
|
231
|
-
verbatimLatitude: '40.123256',
|
232
|
-
verbatimLongitude: '-74.123256',
|
233
|
-
decimalLatitude: 40.123256,
|
234
|
-
decimalLongitude: -74.123256
|
235
|
-
},
|
236
|
-
{
|
237
|
-
verbatimCoordinates: '18°24S 22°45E', //this is read as degrees and minutes
|
238
|
-
verbatimLatitude: '18°24S',
|
239
|
-
verbatimLongitude: '22°45E',
|
240
|
-
decimalLatitude: -18.4,
|
241
|
-
decimalLongitude: 22.75
|
242
|
-
}
|
243
|
-
]
|
244
|
-
|
245
|
-
var otherFormats = [
|
246
|
-
// additional formats we've encountered
|
247
|
-
{
|
248
|
-
verbatimCoordinates: '10.432342S 10.6345345E', //this is read as degrees and minutes
|
249
|
-
verbatimLatitude: '10.432342S',
|
250
|
-
verbatimLongitude: '10.6345345E',
|
251
|
-
decimalLatitude: -10.432342,
|
252
|
-
decimalLongitude: 10.6345345
|
253
|
-
},
|
254
|
-
{
|
255
|
-
verbatimCoordinates: '10.00S 10.00E', //this is read as degrees and minutes
|
256
|
-
verbatimLatitude: '10.00S',
|
257
|
-
verbatimLongitude: '10.00E',
|
258
|
-
decimalLatitude: -10.00000,
|
259
|
-
decimalLongitude: 10.00000
|
260
|
-
},
|
261
|
-
{
|
262
|
-
verbatimCoordinates: '00.00S 01.00E', //this is read as degrees and minutes
|
263
|
-
verbatimLatitude: '00.00S',
|
264
|
-
verbatimLongitude: '01.00E',
|
265
|
-
decimalLatitude: 0.00000,
|
266
|
-
decimalLongitude: 1.00000
|
267
|
-
},
|
268
|
-
{
|
269
|
-
verbatimCoordinates: '18.24S 22.45E', //this is read as degrees and minutes
|
270
|
-
verbatimLatitude: '18.24S',
|
271
|
-
verbatimLongitude: '22.45E',
|
272
|
-
decimalLatitude: -18.4,
|
273
|
-
decimalLongitude: 22.75
|
274
|
-
},
|
275
|
-
{
|
276
|
-
verbatimCoordinates: '27deg 15min 45.2sec S 18deg 32min 53.7sec E',
|
277
|
-
verbatimLatitude: '27deg 15min 45.2sec S',
|
278
|
-
verbatimLongitude: '18deg 32min 53.7sec E',
|
279
|
-
decimalLatitude: -27.2625555555555556,
|
280
|
-
decimalLongitude: 18.54825
|
281
|
-
},
|
282
|
-
{
|
283
|
-
verbatimCoordinates: '-23.3245° S / 28.2344° E',
|
284
|
-
verbatimLatitude: '-23.3245° S',
|
285
|
-
verbatimLongitude: '28.2344° E',
|
286
|
-
decimalLatitude: -23.3245,
|
287
|
-
decimalLongitude: 28.2344
|
288
|
-
},
|
289
|
-
{
|
290
|
-
verbatimCoordinates: '40° 26.7717 -79° 56.93172',
|
291
|
-
verbatimLatitude: '40° 26.7717',
|
292
|
-
verbatimLongitude: '-79° 56.93172',
|
293
|
-
decimalLatitude: 40.446195,
|
294
|
-
decimalLongitude: -79.948862
|
295
|
-
|
296
|
-
},
|
297
|
-
{
|
298
|
-
verbatimCoordinates: '27.15.45S 18.32.53E',
|
299
|
-
verbatimLatitude: '27.15.45S',
|
300
|
-
verbatimLongitude: '18.32.53E',
|
301
|
-
decimalLatitude: -27.2625,
|
302
|
-
decimalLongitude: 18.548055
|
303
|
-
},
|
304
|
-
{
|
305
|
-
verbatimCoordinates: '-27.15.45 18.32.53',
|
306
|
-
verbatimLatitude: '-27.15.45',
|
307
|
-
verbatimLongitude: '18.32.53',
|
308
|
-
decimalLatitude: -27.2625,
|
309
|
-
decimalLongitude: 18.548055
|
310
|
-
},
|
311
|
-
{
|
312
|
-
verbatimCoordinates: '27.15.45.2S 18.32.53.4E',
|
313
|
-
verbatimLatitude: '27.15.45.2S',
|
314
|
-
verbatimLongitude: '18.32.53.4E',
|
315
|
-
decimalLatitude: -27.262556,
|
316
|
-
decimalLongitude: 18.548167
|
317
|
-
},
|
318
|
-
{
|
319
|
-
verbatimCoordinates: '27.15.45,2S 18.32.53,4E',
|
320
|
-
verbatimLatitude: '27.15.45,2S',
|
321
|
-
verbatimLongitude: '18.32.53,4E',
|
322
|
-
decimalLatitude: -27.262556,
|
323
|
-
decimalLongitude: 18.548167
|
324
|
-
},
|
325
|
-
{
|
326
|
-
verbatimCoordinates: 'S23.43563 ° E22.45634 °', //decimals with spaces before the symbol!!
|
327
|
-
verbatimLatitude: 'S23.43563 °',
|
328
|
-
verbatimLongitude: 'E22.45634 °',
|
329
|
-
decimalLatitude: -23.43563,
|
330
|
-
decimalLongitude: 22.45634
|
331
|
-
},
|
332
|
-
{
|
333
|
-
verbatimCoordinates: '27,71372° S 23,07771° E', //decimals with commas
|
334
|
-
verbatimLatitude: '27,71372° S',
|
335
|
-
verbatimLongitude: '23,07771° E',
|
336
|
-
decimalLatitude: -27.71372,
|
337
|
-
decimalLongitude: 23.07771
|
338
|
-
},
|
339
|
-
{
|
340
|
-
verbatimCoordinates: '27.45.34 S 23.23.23 E',
|
341
|
-
verbatimLatitude: '27.45.34 S',
|
342
|
-
verbatimLongitude: '23.23.23 E',
|
343
|
-
decimalLatitude: -27.759444,
|
344
|
-
decimalLongitude: 23.38972222
|
345
|
-
},
|
346
|
-
{
|
347
|
-
verbatimCoordinates: 'S 27.45.34 E 23.23.23',
|
348
|
-
verbatimLatitude: 'S 27.45.34',
|
349
|
-
verbatimLongitude: 'E 23.23.23',
|
350
|
-
decimalLatitude: -27.759444,
|
351
|
-
decimalLongitude: 23.38972222
|
352
|
-
}
|
353
|
-
]
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
function getAllTestFormats() {
|
358
|
-
var arr1 = []
|
359
|
-
coordsParserFormats.forEach(item => {
|
360
|
-
if (item.decimalLatitude){
|
361
|
-
arr1.push(item)
|
362
|
-
}
|
363
|
-
else {
|
364
|
-
arr1.push({...item, ...coordsParserDecimals})
|
365
|
-
}
|
366
|
-
})
|
367
|
-
|
368
|
-
return [...arr1, ...coordsRegexFormats, ...otherFormats]
|
369
|
-
|
370
|
-
}
|
371
|
-
|
372
|
-
module.exports = getAllTestFormats();
|
package/toCoordinateFormat.js
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
|
2
|
-
//borrowed from https://www.codegrepper.com/code-examples/javascript/javascript+converting+latitude+longitude+to+gps+coordinates
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Converts decimalCoordinates to other formats commonly used
|
6
|
-
* @param {*} format Either DMS or DM
|
7
|
-
*/
|
8
|
-
function toCoordinateFormat(format) {
|
9
|
-
|
10
|
-
if(!['DMS', 'DM'].includes(format)) throw new Error('invalid format specified')
|
11
|
-
|
12
|
-
if(this.decimalCoordinates && this.decimalCoordinates.trim()) {
|
13
|
-
const parts = this.decimalCoordinates.split(',').map(x => x.trim())
|
14
|
-
const convertedLat = convert(parts[0], format, true)
|
15
|
-
const convertedLong = convert(parts[1], format, false)
|
16
|
-
return `${convertedLat}, ${convertedLong}`
|
17
|
-
}
|
18
|
-
else {
|
19
|
-
throw new Error('no decimal coordinates to convert')
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
//assumes everything is valid...
|
24
|
-
function convert(coordString, format, isLatitude) {
|
25
|
-
|
26
|
-
const coord = Number(coordString)
|
27
|
-
|
28
|
-
let direction
|
29
|
-
if (isLatitude) {
|
30
|
-
direction = coord >= 0 ? "N" : "S";
|
31
|
-
}
|
32
|
-
else {
|
33
|
-
direction = coord >= 0 ? "E" : "W";
|
34
|
-
}
|
35
|
-
|
36
|
-
const absolute = Math.abs(coord);
|
37
|
-
|
38
|
-
const degrees = Math.floor(absolute);
|
39
|
-
const minutesNotTruncated = (absolute - degrees) * 60;
|
40
|
-
|
41
|
-
if(format == 'DM') {
|
42
|
-
return `${degrees}° ${minutesNotTruncated.toFixed(3).replace(/\.0+$/, '')}' ${direction}`;
|
43
|
-
}
|
44
|
-
|
45
|
-
//else
|
46
|
-
const minutes = Math.floor(minutesNotTruncated);
|
47
|
-
const seconds = ((minutesNotTruncated - minutes) * 60).toFixed(1).replace(/\.0$/, '');
|
48
|
-
|
49
|
-
return `${degrees}° ${minutes}' ${seconds}" ${direction}`;
|
50
|
-
}
|
51
|
-
|
52
|
-
module.exports = toCoordinateFormat
|