mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-02 13:51:36 +08:00
world_magnietc_model: update to latest and fix code style
- minimize test_geo_lookup.cpp optimization to improve compile times
This commit is contained in:
@@ -39,5 +39,7 @@ add_library(world_magnetic_model
|
||||
add_dependencies(world_magnetic_model prebuild_targets)
|
||||
target_compile_options(world_magnetic_model PRIVATE ${MAX_CUSTOM_OPT_LEVEL})
|
||||
|
||||
add_compile_options(-Wno-double-promotion)
|
||||
px4_add_unit_gtest(SRC test_geo_lookup.cpp LINKLIBS world_magnetic_model)
|
||||
if(BUILD_TESTING)
|
||||
px4_add_unit_gtest(SRC test_geo_lookup.cpp LINKLIBS world_magnetic_model)
|
||||
target_compile_options(unit-test_geo_lookup PRIVATE -O0 -Wno-double-promotion)
|
||||
endif()
|
||||
|
||||
@@ -47,7 +47,7 @@ def constrain(n, nmin, nmax):
|
||||
|
||||
header = """/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
|
||||
* Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -59,7 +59,7 @@ header = """/*******************************************************************
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name ECL nor the names of its contributors may be
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@@ -95,6 +95,8 @@ print('static constexpr int LAT_DIM = {}'.format(LAT_DIM) + ';')
|
||||
print('static constexpr int LON_DIM = {}'.format(LON_DIM) + ';')
|
||||
print('\n')
|
||||
|
||||
print('// *INDENT-OFF*')
|
||||
|
||||
# Declination
|
||||
params = urllib.parse.urlencode({'lat1': 0, 'lat2': 0, 'lon1': 0, 'lon2': 0, 'latStepSize': 1, 'lonStepSize': 1, 'magneticComponent': 'd', 'resultFormat': 'json'})
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
@@ -104,7 +106,7 @@ print('// Model: {},'.format(data['model']))
|
||||
print('// Version: {},'.format(data['version']))
|
||||
print('// Date: {},'.format(data['result'][0]['date']))
|
||||
print('static constexpr const int16_t declination_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {")
|
||||
print('// LONGITUDE: ', end='')
|
||||
print('\t// LONGITUDE: ', end='')
|
||||
for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES):
|
||||
print('{0:6d},'.format(l), end='')
|
||||
print('')
|
||||
@@ -113,7 +115,7 @@ for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
data = json.loads(f.read())
|
||||
|
||||
print('/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
for p in data['result']:
|
||||
# declination in radians * 10^-4
|
||||
declination_int = constrain(int(round(math.radians(p['declination'] * 10000))), 32767, -32768)
|
||||
@@ -131,7 +133,7 @@ print('// Model: {},'.format(data['model']))
|
||||
print('// Version: {},'.format(data['version']))
|
||||
print('// Date: {},'.format(data['result'][0]['date']))
|
||||
print('static constexpr const int16_t inclination_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {")
|
||||
print('// LONGITUDE: ', end='')
|
||||
print('\t// LONGITUDE: ', end='')
|
||||
for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES):
|
||||
print('{0:6d},'.format(l), end='')
|
||||
print('')
|
||||
@@ -140,7 +142,7 @@ for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
data = json.loads(f.read())
|
||||
|
||||
print('/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
for p in data['result']:
|
||||
# inclination in radians * 10^-4
|
||||
inclination_int = constrain(int(round(math.radians(p['inclination'] * 10000))), 32767, -32768)
|
||||
@@ -158,7 +160,7 @@ print('// Model: {},'.format(data['model']))
|
||||
print('// Version: {},'.format(data['version']))
|
||||
print('// Date: {},'.format(data['result'][0]['date']))
|
||||
print('static constexpr const int16_t strength_table[{}][{}]'.format(LAT_DIM, LON_DIM) + " {")
|
||||
print('// LONGITUDE: ', end='')
|
||||
print('\t// LONGITUDE: ', end='')
|
||||
for l in range(SAMPLING_MIN_LON, SAMPLING_MAX_LON+1, SAMPLING_RES):
|
||||
print('{0:5d},'.format(l), end='')
|
||||
print('')
|
||||
@@ -167,7 +169,7 @@ for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
data = json.loads(f.read())
|
||||
|
||||
print('/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
print('\t/* LAT: {0:3d} */'.format(latitude) + ' { ', end='')
|
||||
for p in data['result']:
|
||||
totalintensity_int = int(round(p['totalintensity']/10))
|
||||
print('{0:5d},'.format(totalintensity_int), end='')
|
||||
|
||||
@@ -43,7 +43,7 @@ SAMPLING_MAX_LON = 180
|
||||
|
||||
header = """/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
|
||||
* Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -55,7 +55,7 @@ header = """/*******************************************************************
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name ECL nor the names of its contributors may be
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@@ -78,7 +78,7 @@ header = """/*******************************************************************
|
||||
#include <math.h>
|
||||
#include <mathlib/mathlib.h>
|
||||
|
||||
#include <geo_lookup/geo_mag_declination.h>
|
||||
#include "geo_mag_declination.h"
|
||||
"""
|
||||
|
||||
print(header)
|
||||
@@ -91,7 +91,7 @@ f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/cal
|
||||
data = json.loads(f.read())
|
||||
|
||||
|
||||
print('TEST(GeoLookupTest, declination) {')
|
||||
print('TEST(GeoLookupTest, declination)\n{')
|
||||
for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'd', 'resultFormat': 'json'})
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
@@ -109,7 +109,7 @@ print('}')
|
||||
|
||||
print('')
|
||||
|
||||
print('TEST(GeoLookupTest, inclination) {')
|
||||
print('TEST(GeoLookupTest, inclination)\n{')
|
||||
for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'i', 'resultFormat': 'json'})
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
@@ -127,7 +127,7 @@ print('}')
|
||||
|
||||
print('')
|
||||
|
||||
print('TEST(GeoLookupTest, strength) {')
|
||||
print('TEST(GeoLookupTest, strength)\n{')
|
||||
for latitude in range(SAMPLING_MIN_LAT, SAMPLING_MAX_LAT+1, SAMPLING_RES):
|
||||
params = urllib.parse.urlencode({'lat1': latitude, 'lat2': latitude, 'lon1': SAMPLING_MIN_LON, 'lon2': SAMPLING_MAX_LON, 'latStepSize': 1, 'lonStepSize': SAMPLING_RES, 'magneticComponent': 'f', 'resultFormat': 'json'})
|
||||
f = urllib.request.urlopen("https://www.ngdc.noaa.gov/geomag-web/calculators/calculateIgrfgrid?%s" % params)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
|
||||
* Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@@ -12,7 +12,7 @@
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name ECL nor the names of its contributors may be
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
@@ -43,83 +43,84 @@ static constexpr int LAT_DIM = 19;
|
||||
static constexpr int LON_DIM = 37;
|
||||
|
||||
|
||||
// *INDENT-OFF*
|
||||
// Magnetic declination data in radians * 10^-4
|
||||
// Model: WMM-2020,
|
||||
// Version: 0.5.1.11,
|
||||
// Date: 2021.2356,
|
||||
// Date: 2021.5425,
|
||||
static constexpr const int16_t declination_table[19][37] {
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { 26020, 24274, 22529, 20784, 19038, 17293, 15548, 13802, 12057, 10312, 8566, 6821, 5076, 3331, 1585, -160, -1905, -3650, -5396, -7141, -8886, -10632, -12377, -14122, -15868, -17613, -19358, -21104, -22849, -24594, -26340, -28085, -29831, 31256, 29511, 27765, 26020, },
|
||||
/* LAT: -80 */ { 22590, 20454, 18510, 16733, 15090, 13550, 12085, 10673, 9297, 7947, 6614, 5295, 3985, 2681, 1373, 55, -1284, -2654, -4061, -5510, -7002, -8536, -10111, -11727, -13389, -15105, -16888, -18758, -20738, -22854, -25126, -27559, -30128, 30061, 27438, 24926, 22590, },
|
||||
/* LAT: -70 */ { 14966, 13570, 12448, 11490, 10626, 9798, 8959, 8074, 7123, 6105, 5035, 3941, 2853, 1796, 772, -238, -1274, -2375, -3570, -4863, -6237, -7662, -9106, -10545, -11970, -13384, -14809, -16291, -17907, -19809, -22308, -26075, 30840, 24200, 19629, 16839, 14966, },
|
||||
/* LAT: -60 */ { 8375, 8139, 7867, 7601, 7355, 7108, 6806, 6378, 5768, 4952, 3954, 2842, 1719, 685, -205, -969, -1699, -2516, -3508, -4692, -6012, -7374, -8691, -9902, -10968, -11869, -12588, -13084, -13256, -12806, -10720, -3613, 4760, 7561, 8359, 8500, 8375, },
|
||||
/* LAT: -50 */ { 5450, 5491, 5441, 5358, 5291, 5259, 5230, 5108, 4770, 4114, 3110, 1841, 497, -694, -1581, -2161, -2566, -3002, -3670, -4660, -5884, -7151, -8291, -9198, -9806, -10057, -9876, -9132, -7634, -5282, -2383, 363, 2471, 3894, 4768, 5244, 5450, },
|
||||
/* LAT: -40 */ { 3929, 4024, 4037, 3998, 3944, 3915, 3924, 3917, 3749, 3223, 2211, 777, -790, -2118, -3002, -3473, -3672, -3739, -3895, -4430, -5375, -6439, -7328, -7880, -8005, -7647, -6775, -5398, -3683, -1973, -507, 716, 1757, 2618, 3270, 3698, 3929, },
|
||||
/* LAT: -30 */ { 2962, 3049, 3085, 3078, 3026, 2953, 2897, 2866, 2743, 2274, 1254, -254, -1864, -3134, -3895, -4259, -4356, -4167, -3737, -3482, -3801, -4530, -5236, -5605, -5500, -4932, -3983, -2774, -1554, -598, 85, 687, 1307, 1904, 2407, 2765, 2962, },
|
||||
/* LAT: -20 */ { 2319, 2367, 2392, 2402, 2367, 2278, 2176, 2102, 1959, 1472, 433, -1044, -2527, -3608, -4165, -4302, -4118, -3581, -2728, -1909, -1595, -1923, -2571, -3053, -3107, -2762, -2133, -1312, -525, -25, 244, 548, 984, 1454, 1869, 2170, 2319, },
|
||||
/* LAT: -10 */ { 1926, 1921, 1908, 1913, 1892, 1815, 1712, 1625, 1442, 899, -148, -1518, -2799, -3650, -3945, -3741, -3181, -2408, -1561, -795, -311, -321, -779, -1289, -1514, -1433, -1124, -622, -116, 135, 191, 354, 719, 1147, 1531, 1811, 1926, },
|
||||
/* LAT: 0 */ { 1713, 1682, 1633, 1632, 1629, 1567, 1471, 1364, 1112, 497, -535, -1760, -2826, -3435, -3462, -2982, -2222, -1438, -780, -238, 183, 310, 44, -372, -635, -695, -597, -332, -35, 62, 9, 101, 436, 867, 1277, 1589, 1713, },
|
||||
/* LAT: 10 */ { 1581, 1591, 1555, 1578, 1610, 1568, 1456, 1277, 904, 188, -829, -1909, -2750, -3111, -2930, -2338, -1565, -848, -325, 61, 389, 547, 396, 75, -164, -273, -293, -207, -98, -133, -266, -236, 60, 503, 975, 1375, 1581, },
|
||||
/* LAT: 20 */ { 1405, 1555, 1620, 1716, 1808, 1794, 1647, 1352, 810, -46, -1090, -2050, -2663, -2792, -2480, -1887, -1177, -523, -55, 260, 521, 673, 590, 348, 145, 28, -57, -116, -190, -375, -607, -665, -436, 3, 537, 1050, 1405, },
|
||||
/* LAT: 30 */ { 1115, 1482, 1744, 1970, 2133, 2148, 1966, 1549, 824, -206, -1331, -2222, -2653, -2606, -2217, -1642, -988, -366, 103, 414, 648, 800, 786, 639, 488, 364, 214, 12, -263, -634, -1001, -1162, -1008, -588, -15, 593, 1115, },
|
||||
/* LAT: 40 */ { 770, 1358, 1852, 2244, 2493, 2539, 2326, 1796, 885, -348, -1599, -2483, -2819, -2677, -2236, -1646, -993, -361, 155, 525, 800, 1004, 1104, 1096, 1020, 874, 614, 215, -315, -918, -1441, -1690, -1579, -1166, -568, 108, 770, },
|
||||
/* LAT: 50 */ { 495, 1244, 1924, 2478, 2843, 2948, 2718, 2062, 916, -594, -2035, -2968, -3273, -3087, -2599, -1954, -1243, -542, 79, 590, 1013, 1374, 1661, 1836, 1859, 1678, 1245, 551, -332, -1234, -1920, -2215, -2096, -1655, -1015, -276, 495, },
|
||||
/* LAT: 60 */ { 320, 1177, 1983, 2674, 3173, 3379, 3158, 2336, 802, -1187, -2929, -3922, -4178, -3917, -3342, -2593, -1763, -918, -105, 651, 1347, 1983, 2532, 2935, 3104, 2930, 2310, 1214, -189, -1513, -2395, -2715, -2553, -2054, -1351, -539, 320, },
|
||||
/* LAT: 70 */ { 125, 1068, 1968, 2765, 3374, 3659, 3388, 2214, -98, -2882, -4855, -5670, -5663, -5165, -4384, -3440, -2407, -1334, -254, 812, 1842, 2812, 3686, 4400, 4858, 4906, 4323, 2886, 720, -1388, -2701, -3154, -2995, -2455, -1694, -812, 125, },
|
||||
/* LAT: 80 */ { -447, 481, 1339, 2035, 2416, 2203, 901, -1946, -5362, -7492, -8178, -7990, -7318, -6369, -5256, -4040, -2761, -1445, -112, 1221, 2540, 3825, 5055, 6194, 7191, 7952, 8302, 7884, 6049, 2457, -1054, -2796, -3195, -2887, -2220, -1372, -447, },
|
||||
/* LAT: 90 */ { -30329, -28584, -26838, -25093, -23347, -21602, -19857, -18111, -16366, -14621, -12875, -11130, -9385, -7640, -5895, -4149, -2404, -659, 1086, 2831, 4576, 6322, 8067, 9812, 11558, 13303, 15048, 16794, 18539, 20284, 22030, 23775, 25521, 27266, 29012, 30757, -30329, },
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { 26012, 24267, 22521, 20776, 19031, 17285, 15540, 13795, 12049, 10304, 8559, 6813, 5068, 3323, 1578, -168, -1913, -3658, -5403, -7149, -8894,-10639,-12385,-14130,-15875,-17621,-19366,-21111,-22857,-24602,-26348,-28093,-29838, 31248, 29503, 27757, 26012, },
|
||||
/* LAT: -80 */ { 22581, 20446, 18503, 16727, 15085, 13545, 12080, 10668, 9293, 7942, 6610, 5291, 3981, 2676, 1369, 51, -1289, -2659, -4067, -5517, -7009, -8544,-10119,-11736,-13399,-15115,-16899,-18769,-20750,-22866,-25138,-27572,-30141, 30049, 27427, 24916, 22581, },
|
||||
/* LAT: -70 */ { 14968, 13572, 12449, 11490, 10625, 9796, 8957, 8071, 7120, 6102, 5032, 3938, 2851, 1794, 771, -240, -1275, -2378, -3574, -4869, -6244, -7670, -9115,-10555,-11980,-13394,-14821,-16303,-17921,-19825,-22329,-26103, 30811, 24187, 19628, 16841, 14968, },
|
||||
/* LAT: -60 */ { 8385, 8147, 7873, 7605, 7357, 7109, 6806, 6377, 5766, 4949, 3950, 2839, 1716, 683, -205, -967, -1697, -2515, -3510, -4697, -6019, -7383, -8701, -9911,-10977,-11878,-12596,-13092,-13264,-12814,-10725, -3589, 4792, 7581, 8373, 8511, 8385, },
|
||||
/* LAT: -50 */ { 5457, 5497, 5446, 5362, 5293, 5261, 5230, 5107, 4768, 4111, 3105, 1835, 492, -697, -1580, -2156, -2559, -2996, -3668, -4663, -5892, -7161, -8302, -9208, -9813,-10062, -9878, -9131, -7631, -5276, -2376, 370, 2478, 3902, 4776, 5251, 5457, },
|
||||
/* LAT: -40 */ { 3934, 4028, 4040, 4001, 3946, 3915, 3924, 3916, 3747, 3219, 2205, 769, -797, -2123, -3002, -3468, -3663, -3729, -3888, -4431, -5383, -6450, -7339, -7888, -8009, -7646, -6770, -5392, -3677, -1969, -505, 718, 1760, 2621, 3275, 3703, 3934, },
|
||||
/* LAT: -30 */ { 2966, 3053, 3088, 3080, 3026, 2952, 2895, 2864, 2740, 2269, 1246, -264, -1874, -3140, -3897, -4256, -4350, -4155, -3725, -3477, -3807, -4541, -5245, -5609, -5500, -4927, -3976, -2768, -1550, -597, 85, 686, 1307, 1905, 2410, 2769, 2966, },
|
||||
/* LAT: -20 */ { 2324, 2371, 2394, 2403, 2366, 2276, 2173, 2099, 1955, 1466, 423, -1056, -2538, -3614, -4166, -4298, -4110, -3568, -2713, -1899, -1594, -1929, -2577, -3056, -3106, -2758, -2127, -1308, -523, -26, 241, 545, 982, 1454, 1871, 2174, 2324, },
|
||||
/* LAT: -10 */ { 1930, 1926, 1910, 1914, 1892, 1812, 1708, 1620, 1437, 893, -158, -1529, -2809, -3655, -3943, -3734, -3171, -2396, -1549, -786, -306, -322, -782, -1291, -1514, -1431, -1120, -619, -115, 133, 187, 349, 716, 1146, 1532, 1814, 1930, },
|
||||
/* LAT: 0 */ { 1718, 1686, 1636, 1633, 1628, 1564, 1467, 1358, 1106, 489, -544, -1770, -2833, -3437, -3457, -2973, -2212, -1428, -771, -230, 189, 312, 43, -373, -634, -693, -595, -331, -36, 59, 4, 95, 432, 866, 1278, 1592, 1718, },
|
||||
/* LAT: 10 */ { 1584, 1594, 1556, 1578, 1609, 1566, 1451, 1270, 897, 181, -837, -1916, -2753, -3110, -2924, -2329, -1555, -839, -318, 67, 395, 550, 397, 76, -163, -271, -292, -208, -100, -137, -271, -242, 55, 502, 976, 1378, 1584, },
|
||||
/* LAT: 20 */ { 1406, 1556, 1620, 1716, 1806, 1791, 1643, 1346, 804, -52, -1096, -2054, -2663, -2788, -2473, -1878, -1168, -515, -48, 265, 526, 677, 592, 349, 148, 30, -57, -117, -193, -379, -612, -670, -440, 1, 537, 1051, 1406, },
|
||||
/* LAT: 30 */ { 1114, 1481, 1743, 1968, 2130, 2144, 1962, 1544, 818, -212, -1334, -2222, -2650, -2600, -2209, -1633, -979, -358, 110, 420, 654, 804, 789, 641, 490, 367, 215, 10, -267, -638, -1006, -1167, -1011, -590, -16, 592, 1114, },
|
||||
/* LAT: 40 */ { 766, 1353, 1847, 2240, 2489, 2534, 2321, 1791, 880, -351, -1599, -2479, -2812, -2669, -2227, -1636, -983, -351, 163, 532, 806, 1009, 1108, 1099, 1023, 876, 614, 212, -320, -924, -1447, -1695, -1583, -1169, -570, 104, 766, },
|
||||
/* LAT: 50 */ { 487, 1236, 1916, 2471, 2836, 2942, 2712, 2058, 913, -594, -2031, -2959, -3263, -3076, -2587, -1942, -1231, -531, 89, 599, 1021, 1381, 1666, 1841, 1863, 1680, 1244, 547, -340, -1242, -1926, -2219, -2099, -1658, -1019, -282, 487, },
|
||||
/* LAT: 60 */ { 307, 1163, 1969, 2661, 3162, 3370, 3151, 2332, 803, -1178, -2915, -3905, -4161, -3900, -3326, -2578, -1749, -905, -93, 662, 1358, 1993, 2540, 2942, 3108, 2932, 2307, 1206, -200, -1523, -2402, -2720, -2557, -2059, -1359, -549, 307, },
|
||||
/* LAT: 70 */ { 103, 1044, 1943, 2741, 3352, 3639, 3373, 2210, -83, -2849, -4817, -5636, -5633, -5139, -4360, -3418, -2388, -1316, -237, 827, 1856, 2826, 3698, 4411, 4867, 4912, 4322, 2876, 703, -1405, -2714, -3165, -3006, -2469, -1711, -832, 103, },
|
||||
/* LAT: 80 */ { -502, 425, 1282, 1976, 2358, 2153, 879, -1903, -5264, -7393, -8098, -7925, -7265, -6325, -5217, -4005, -2729, -1416, -85, 1248, 2565, 3850, 5079, 6219, 7215, 7977, 8325, 7901, 6046, 2410, -1125, -2863, -3255, -2943, -2274, -1426, -502, },
|
||||
/* LAT: 90 */ { -30216,-28470,-26725,-24979,-23234,-21489,-19743,-17998,-16253,-14507,-12762,-11017, -9272, -7526, -5781, -4036, -2291, -546, 1199, 2945, 4690, 6435, 8180, 9926, 11671, 13416, 15162, 16907, 18652, 20398, 22143, 23889, 25634, 27380, 29125, 30871,-30216, },
|
||||
};
|
||||
|
||||
// Magnetic inclination data in radians * 10^-4
|
||||
// Model: WMM-2020,
|
||||
// Version: 0.5.1.11,
|
||||
// Date: 2021.2356,
|
||||
// Date: 2021.5425,
|
||||
static constexpr const int16_t inclination_table[19][37] {
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12579, -12579, -12579, -12579, -12579, -12579, -12579, -12579, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, -12580, },
|
||||
/* LAT: -80 */ { -13667, -13533, -13373, -13192, -12998, -12796, -12592, -12391, -12199, -12022, -11865, -11731, -11620, -11534, -11470, -11429, -11409, -11412, -11440, -11494, -11577, -11691, -11835, -12008, -12206, -12422, -12651, -12884, -13112, -13325, -13512, -13663, -13768, -13820, -13818, -13765, -13667, },
|
||||
/* LAT: -70 */ { -14117, -13798, -13479, -13156, -12823, -12479, -12123, -11764, -11420, -11109, -10855, -10670, -10556, -10503, -10490, -10495, -10504, -10516, -10540, -10597, -10704, -10877, -11121, -11433, -11804, -12220, -12667, -13131, -13597, -14050, -14469, -14817, -15010, -14960, -14730, -14433, -14117, },
|
||||
/* LAT: -60 */ { -13525, -13173, -12835, -12503, -12159, -11787, -11371, -10916, -10446, -10013, -9679, -9499, -9492, -9626, -9831, -10028, -10160, -10211, -10203, -10191, -10237, -10391, -10675, -11078, -11572, -12126, -12711, -13307, -13895, -14456, -14953, -15244, -15075, -14693, -14289, -13897, -13525, },
|
||||
/* LAT: -50 */ { -12498, -12158, -11829, -11507, -11184, -10837, -10438, -9965, -9434, -8909, -8513, -8378, -8570, -9026, -9591, -10109, -10479, -10655, -10637, -10493, -10350, -10349, -10559, -10966, -11502, -12092, -12679, -13220, -13668, -13968, -14078, -14006, -13803, -13520, -13193, -12847, -12498, },
|
||||
/* LAT: -40 */ { -11240, -10895, -10550, -10206, -9866, -9527, -9165, -8738, -8215, -7647, -7212, -7155, -7600, -8416, -9339, -10175, -10844, -11293, -11451, -11301, -10965, -10687, -10665, -10934, -11389, -11893, -12342, -12670, -12833, -12840, -12749, -12610, -12430, -12197, -11911, -11584, -11240, },
|
||||
/* LAT: -30 */ { -9601, -9228, -8853, -8464, -8071, -7694, -7335, -6941, -6426, -5812, -5349, -5410, -6156, -7347, -8600, -9704, -10627, -11351, -11771, -11784, -11428, -10921, -10575, -10562, -10806, -11127, -11388, -11508, -11450, -11274, -11097, -10958, -10809, -10600, -10319, -9975, -9601, },
|
||||
/* LAT: -20 */ { -7369, -6938, -6528, -6103, -5658, -5226, -4831, -4412, -3842, -3153, -2691, -2922, -4002, -5600, -7232, -8616, -9697, -10489, -10948, -11003, -10657, -10051, -9488, -9233, -9274, -9435, -9580, -9604, -9435, -9162, -8963, -8869, -8757, -8546, -8229, -7820, -7369, },
|
||||
/* LAT: -10 */ { -4411, -3889, -3445, -3013, -2556, -2104, -1685, -1221, -587, 124, 503, 108, -1188, -3088, -5069, -6700, -7820, -8475, -8757, -8710, -8317, -7645, -6980, -6625, -6580, -6673, -6793, -6821, -6636, -6338, -6177, -6174, -6122, -5900, -5517, -4994, -4411, },
|
||||
/* LAT: 0 */ { -901, -294, 160, 557, 974, 1392, 1787, 2242, 2838, 3426, 3645, 3177, 1911, 20, -2028, -3703, -4741, -5192, -5265, -5106, -4680, -3977, -3272, -2893, -2830, -2902, -3030, -3105, -2977, -2739, -2676, -2804, -2850, -2657, -2233, -1610, -901, },
|
||||
/* LAT: 10 */ { 2566, 3178, 3602, 3938, 4291, 4659, 5016, 5414, 5878, 6258, 6308, 5840, 4780, 3230, 1538, 143, -687, -956, -877, -649, -249, 379, 1012, 1354, 1416, 1366, 1263, 1171, 1215, 1322, 1255, 1004, 828, 908, 1259, 1854, 2566, },
|
||||
/* LAT: 20 */ { 5419, 5937, 6310, 6601, 6914, 7258, 7605, 7961, 8305, 8514, 8437, 7988, 7166, 6078, 4951, 4030, 3484, 3350, 3489, 3727, 4051, 4509, 4968, 5225, 5280, 5257, 5205, 5149, 5140, 5127, 4960, 4640, 4353, 4269, 4440, 4858, 5419, },
|
||||
/* LAT: 30 */ { 7569, 7938, 8252, 8533, 8841, 9190, 9551, 9898, 10182, 10302, 10165, 9752, 9130, 8420, 7756, 7238, 6937, 6885, 7020, 7227, 7469, 7764, 8051, 8225, 8280, 8289, 8288, 8279, 8260, 8182, 7966, 7621, 7272, 7055, 7038, 7230, 7569, },
|
||||
/* LAT: 40 */ { 9266, 9485, 9740, 10025, 10352, 10715, 11086, 11429, 11686, 11774, 11629, 11273, 10801, 10327, 9928, 9640, 9485, 9475, 9580, 9738, 9910, 10091, 10262, 10387, 10463, 10521, 10573, 10606, 10592, 10486, 10249, 9903, 9539, 9256, 9113, 9124, 9266, },
|
||||
/* LAT: 50 */ { 10801, 10923, 11125, 11396, 11720, 12076, 12433, 12753, 12978, 13041, 12904, 12607, 12241, 11894, 11616, 11426, 11329, 11321, 11384, 11484, 11595, 11709, 11824, 11939, 12056, 12177, 12288, 12361, 12355, 12235, 11992, 11667, 11328, 11044, 10854, 10774, 10801, },
|
||||
/* LAT: 60 */ { 12318, 12393, 12545, 12766, 13038, 13341, 13645, 13913, 14091, 14119, 13983, 13732, 13442, 13169, 12946, 12787, 12694, 12660, 12673, 12719, 12785, 12868, 12973, 13103, 13261, 13435, 13600, 13711, 13720, 13604, 13382, 13103, 12824, 12587, 12416, 12325, 12318, },
|
||||
/* LAT: 70 */ { 13759, 13804, 13902, 14046, 14228, 14434, 14645, 14827, 14931, 14909, 14768, 14564, 14344, 14139, 13964, 13828, 13733, 13677, 13657, 13668, 13709, 13779, 13881, 14016, 14181, 14368, 14552, 14694, 14743, 14674, 14515, 14317, 14122, 13957, 13837, 13770, 13759, },
|
||||
/* LAT: 80 */ { 15003, 15017, 15057, 15118, 15197, 15285, 15365, 15410, 15387, 15303, 15187, 15060, 14936, 14821, 14721, 14638, 14576, 14534, 14515, 14518, 14544, 14593, 14664, 14755, 14866, 14992, 15127, 15258, 15365, 15411, 15376, 15293, 15200, 15117, 15053, 15015, 15003, },
|
||||
/* LAT: 90 */ { 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, 15391, },
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { -12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578,-12578, },
|
||||
/* LAT: -80 */ { -13664,-13531,-13370,-13190,-12996,-12794,-12589,-12389,-12197,-12021,-11863,-11729,-11618,-11532,-11469,-11427,-11408,-11411,-11438,-11492,-11575,-11689,-11834,-12007,-12204,-12421,-12650,-12883,-13111,-13324,-13511,-13662,-13766,-13818,-13816,-13762,-13664, },
|
||||
/* LAT: -70 */ { -14114,-13796,-13476,-13153,-12821,-12476,-12120,-11762,-11418,-11108,-10854,-10669,-10556,-10503,-10489,-10494,-10503,-10514,-10538,-10595,-10702,-10875,-11120,-11433,-11804,-12220,-12668,-13131,-13597,-14050,-14469,-14816,-15008,-14957,-14727,-14430,-14114, },
|
||||
/* LAT: -60 */ { -13523,-13171,-12833,-12501,-12157,-11785,-11369,-10914,-10445,-10012, -9679, -9500, -9494, -9629, -9834,-10029,-10160,-10209,-10200,-10187,-10233,-10389,-10674,-11078,-11573,-12127,-12713,-13308,-13897,-14458,-14955,-15246,-15075,-14693,-14288,-13896,-13523, },
|
||||
/* LAT: -50 */ { -12498,-12157,-11827,-11506,-11183,-10836,-10436, -9964, -9433, -8909, -8514, -8382, -8575, -9032, -9597,-10114,-10482,-10654,-10634,-10487,-10345,-10345,-10558,-10967,-11504,-12095,-12682,-13222,-13670,-13970,-14079,-14006,-13804,-13521,-13193,-12846,-12498, },
|
||||
/* LAT: -40 */ { -11240,-10894,-10549,-10204, -9865, -9526, -9164, -8737, -8215, -7647, -7214, -7161, -7609, -8427, -9349,-10184,-10851,-11296,-11450,-11296,-10959,-10682,-10664,-10935,-11392,-11896,-12345,-12671,-12833,-12839,-12749,-12611,-12430,-12198,-11912,-11585,-11240, },
|
||||
/* LAT: -30 */ { -9601, -9227, -8851, -8462, -8069, -7692, -7334, -6940, -6426, -5813, -5353, -5418, -6170, -7363, -8616, -9717,-10639,-11359,-11774,-11782,-11422,-10915,-10572,-10562,-10808,-11129,-11389,-11508,-11448,-11273,-11096,-10958,-10810,-10601,-10320, -9976, -9601, },
|
||||
/* LAT: -20 */ { -7369, -6936, -6525, -6099, -5654, -5223, -4829, -4411, -3842, -3154, -2695, -2933, -4020, -5622, -7253, -8633, -9711,-10499,-10953,-11003,-10653,-10045, -9483, -9231, -9274, -9435, -9579, -9601, -9432, -9159, -8961, -8869, -8759, -8549, -8232, -7823, -7369, },
|
||||
/* LAT: -10 */ { -4412, -3887, -3441, -3007, -2550, -2099, -1681, -1220, -587, 122, 497, 94, -1210, -3114, -5094, -6719, -7834, -8483, -8761, -8710, -8313, -7638, -6973, -6621, -6577, -6670, -6789, -6816, -6631, -6333, -6174, -6174, -6125, -5904, -5521, -4997, -4412, },
|
||||
/* LAT: 0 */ { -903, -292, 165, 563, 980, 1398, 1792, 2244, 2837, 3423, 3638, 3163, 1890, -6, -2053, -3722, -4752, -5198, -5267, -5105, -4676, -3970, -3265, -2888, -2825, -2896, -3024, -3099, -2970, -2733, -2672, -2804, -2855, -2663, -2239, -1614, -903, },
|
||||
/* LAT: 10 */ { 2565, 3180, 3606, 3943, 4297, 4665, 5020, 5416, 5876, 6255, 6301, 5828, 4762, 3209, 1517, 127, -697, -960, -878, -648, -245, 386, 1018, 1359, 1421, 1373, 1270, 1179, 1222, 1328, 1259, 1004, 824, 902, 1253, 1850, 2565, },
|
||||
/* LAT: 20 */ { 5418, 5939, 6313, 6605, 6918, 7262, 7608, 7962, 8303, 8510, 8430, 7978, 7153, 6063, 4936, 4019, 3477, 3347, 3489, 3728, 4054, 4514, 4973, 5230, 5284, 5263, 5212, 5156, 5146, 5131, 4963, 4639, 4350, 4265, 4436, 4855, 5418, },
|
||||
/* LAT: 30 */ { 7569, 7938, 8253, 8534, 8843, 9191, 9552, 9897, 10179, 10299, 10160, 9744, 9120, 8411, 7748, 7231, 6933, 6883, 7020, 7228, 7471, 7768, 8055, 8229, 8284, 8294, 8294, 8285, 8265, 8186, 7968, 7621, 7271, 7053, 7036, 7229, 7569, },
|
||||
/* LAT: 40 */ { 9266, 9485, 9741, 10026, 10353, 10715, 11085, 11427, 11683, 11770, 11624, 11267, 10795, 10320, 9922, 9636, 9482, 9474, 9580, 9739, 9911, 10094, 10265, 10389, 10466, 10524, 10577, 10610, 10596, 10489, 10251, 9904, 9539, 9256, 9112, 9124, 9266, },
|
||||
/* LAT: 50 */ { 10801, 10923, 11125, 11395, 11719, 12075, 12432, 12750, 12975, 13037, 12899, 12602, 12237, 11890, 11613, 11424, 11328, 11321, 11384, 11485, 11597, 11711, 11827, 11942, 12059, 12180, 12292, 12365, 12358, 12237, 11993, 11667, 11329, 11044, 10854, 10774, 10801, },
|
||||
/* LAT: 60 */ { 12318, 12393, 12545, 12765, 13036, 13338, 13642, 13910, 14087, 14115, 13979, 13729, 13439, 13166, 12944, 12786, 12693, 12660, 12674, 12720, 12786, 12870, 12975, 13106, 13264, 13439, 13603, 13713, 13722, 13605, 13382, 13104, 12825, 12587, 12417, 12326, 12318, },
|
||||
/* LAT: 70 */ { 13759, 13803, 13900, 14044, 14226, 14431, 14641, 14823, 14927, 14906, 14766, 14562, 14343, 14138, 13964, 13828, 13733, 13677, 13657, 13669, 13710, 13781, 13883, 14018, 14184, 14370, 14555, 14696, 14745, 14675, 14515, 14317, 14122, 13957, 13837, 13770, 13759, },
|
||||
/* LAT: 80 */ { 15001, 15015, 15055, 15116, 15194, 15281, 15361, 15406, 15384, 15301, 15186, 15060, 14936, 14822, 14721, 14639, 14577, 14535, 14516, 14520, 14546, 14594, 14665, 14757, 14869, 14995, 15129, 15261, 15368, 15414, 15378, 15294, 15200, 15116, 15053, 15014, 15001, },
|
||||
/* LAT: 90 */ { 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, 15392, },
|
||||
};
|
||||
|
||||
// Magnetic strength data in milli-Gauss * 10
|
||||
// Model: WMM-2020,
|
||||
// Version: 0.5.1.11,
|
||||
// Date: 2021.2356,
|
||||
// Date: 2021.5425,
|
||||
static constexpr const int16_t strength_table[19][37] {
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, 5459, },
|
||||
/* LAT: -80 */ { 6065, 6003, 5924, 5833, 5731, 5619, 5502, 5380, 5258, 5138, 5024, 4918, 4824, 4744, 4681, 4635, 4610, 4608, 4629, 4674, 4744, 4837, 4951, 5082, 5225, 5375, 5524, 5667, 5798, 5912, 6005, 6075, 6119, 6139, 6136, 6111, 6065, },
|
||||
/* LAT: -70 */ { 6310, 6178, 6029, 5866, 5688, 5496, 5292, 5077, 4857, 4642, 4439, 4256, 4097, 3966, 3861, 3784, 3736, 3723, 3751, 3825, 3952, 4130, 4357, 4624, 4918, 5225, 5528, 5812, 6062, 6267, 6419, 6515, 6557, 6551, 6503, 6420, 6310, },
|
||||
/* LAT: -60 */ { 6194, 6004, 5804, 5597, 5379, 5145, 4889, 4611, 4318, 4028, 3760, 3531, 3351, 3215, 3116, 3042, 2992, 2971, 2996, 3085, 3251, 3500, 3824, 4208, 4629, 5063, 5484, 5869, 6194, 6444, 6609, 6689, 6692, 6630, 6518, 6369, 6194, },
|
||||
/* LAT: -50 */ { 5850, 5622, 5391, 5162, 4931, 4687, 4417, 4114, 3785, 3453, 3149, 2908, 2745, 2652, 2603, 2570, 2538, 2512, 2517, 2587, 2757, 3042, 3434, 3903, 4408, 4914, 5390, 5810, 6150, 6393, 6533, 6575, 6534, 6425, 6265, 6068, 5850, },
|
||||
/* LAT: -40 */ { 5398, 5153, 4910, 4672, 4438, 4202, 3948, 3664, 3350, 3024, 2724, 2500, 2380, 2353, 2372, 2395, 2402, 2392, 2381, 2408, 2533, 2801, 3213, 3723, 4269, 4794, 5263, 5654, 5947, 6136, 6226, 6230, 6161, 6032, 5852, 5635, 5398, },
|
||||
/* LAT: -30 */ { 4881, 4642, 4405, 4171, 3946, 3728, 3509, 3278, 3023, 2748, 2489, 2305, 2232, 2255, 2322, 2394, 2461, 2514, 2539, 2552, 2615, 2806, 3159, 3642, 4172, 4671, 5094, 5414, 5619, 5720, 5747, 5721, 5642, 5511, 5332, 5117, 4881, },
|
||||
/* LAT: -20 */ { 4323, 4112, 3905, 3701, 3505, 3323, 3155, 2992, 2815, 2618, 2427, 2291, 2247, 2287, 2375, 2485, 2614, 2745, 2838, 2877, 2900, 2990, 3221, 3599, 4047, 4475, 4827, 5066, 5174, 5183, 5153, 5106, 5023, 4896, 4730, 4534, 4323, },
|
||||
/* LAT: -10 */ { 3791, 3632, 3480, 3335, 3199, 3079, 2977, 2886, 2790, 2677, 2556, 2455, 2406, 2425, 2508, 2636, 2792, 2953, 3080, 3146, 3162, 3185, 3302, 3548, 3871, 4193, 4460, 4627, 4665, 4614, 4546, 4482, 4393, 4268, 4120, 3957, 3791, },
|
||||
/* LAT: 0 */ { 3412, 3321, 3238, 3166, 3111, 3073, 3049, 3032, 3010, 2963, 2885, 2789, 2706, 2670, 2707, 2808, 2940, 3077, 3194, 3271, 3304, 3325, 3396, 3549, 3755, 3968, 4149, 4257, 4266, 4200, 4112, 4019, 3907, 3775, 3642, 3519, 3412, },
|
||||
/* LAT: 10 */ { 3283, 3253, 3234, 3231, 3257, 3305, 3362, 3418, 3455, 3447, 3378, 3263, 3134, 3036, 3005, 3042, 3122, 3220, 3321, 3407, 3471, 3532, 3618, 3734, 3867, 4004, 4124, 4196, 4200, 4140, 4031, 3889, 3727, 3568, 3433, 3338, 3283, },
|
||||
/* LAT: 20 */ { 3400, 3404, 3432, 3488, 3581, 3703, 3834, 3953, 4036, 4049, 3976, 3834, 3665, 3522, 3442, 3426, 3459, 3530, 3625, 3722, 3812, 3909, 4019, 4130, 4237, 4347, 4448, 4515, 4527, 4471, 4335, 4135, 3908, 3699, 3537, 3437, 3400, },
|
||||
/* LAT: 30 */ { 3723, 3732, 3789, 3891, 4036, 4208, 4385, 4543, 4653, 4680, 4607, 4451, 4259, 4091, 3982, 3933, 3934, 3982, 4067, 4164, 4260, 4365, 4480, 4598, 4717, 4842, 4961, 5048, 5076, 5021, 4866, 4628, 4355, 4101, 3903, 3776, 3723, },
|
||||
/* LAT: 40 */ { 4223, 4224, 4292, 4418, 4587, 4776, 4961, 5118, 5223, 5249, 5180, 5030, 4840, 4663, 4532, 4453, 4425, 4444, 4503, 4580, 4665, 4761, 4876, 5009, 5160, 5320, 5471, 5581, 5623, 5571, 5418, 5181, 4907, 4648, 4437, 4294, 4223, },
|
||||
/* LAT: 50 */ { 4831, 4828, 4888, 5001, 5149, 5310, 5460, 5580, 5653, 5662, 5597, 5468, 5304, 5137, 4998, 4898, 4841, 4827, 4850, 4899, 4967, 5056, 5175, 5324, 5499, 5683, 5850, 5969, 6016, 5975, 5845, 5649, 5424, 5207, 5027, 4899, 4831, },
|
||||
/* LAT: 60 */ { 5392, 5383, 5415, 5481, 5569, 5664, 5750, 5815, 5847, 5836, 5781, 5685, 5562, 5432, 5312, 5214, 5146, 5111, 5108, 5134, 5190, 5275, 5392, 5539, 5705, 5874, 6022, 6128, 6174, 6154, 6071, 5945, 5797, 5653, 5531, 5442, 5392, },
|
||||
/* LAT: 70 */ { 5726, 5709, 5709, 5723, 5746, 5773, 5796, 5809, 5807, 5787, 5746, 5687, 5615, 5538, 5463, 5398, 5349, 5321, 5315, 5334, 5378, 5447, 5538, 5647, 5764, 5879, 5979, 6053, 6093, 6097, 6068, 6015, 5947, 5877, 5812, 5761, 5726, },
|
||||
/* LAT: 80 */ { 5789, 5772, 5759, 5748, 5738, 5729, 5719, 5707, 5691, 5672, 5649, 5623, 5595, 5567, 5542, 5521, 5506, 5501, 5505, 5520, 5545, 5580, 5623, 5671, 5721, 5769, 5812, 5847, 5871, 5885, 5887, 5880, 5867, 5848, 5828, 5808, 5789, },
|
||||
// LONGITUDE: -180, -170, -160, -150, -140, -130, -120, -110, -100, -90, -80, -70, -60, -50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
|
||||
/* LAT: -90 */ { 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, 5457, },
|
||||
/* LAT: -80 */ { 6064, 6001, 5922, 5831, 5728, 5617, 5499, 5378, 5255, 5135, 5021, 4916, 4822, 4742, 4678, 4633, 4608, 4606, 4627, 4672, 4742, 4836, 4950, 5081, 5224, 5374, 5523, 5667, 5798, 5911, 6004, 6074, 6118, 6138, 6135, 6109, 6064, },
|
||||
/* LAT: -70 */ { 6308, 6176, 6027, 5863, 5685, 5493, 5288, 5074, 4854, 4639, 4436, 4253, 4095, 3963, 3859, 3782, 3734, 3721, 3749, 3824, 3951, 4130, 4357, 4624, 4918, 5225, 5529, 5812, 6062, 6267, 6419, 6515, 6557, 6550, 6502, 6419, 6308, },
|
||||
/* LAT: -60 */ { 6193, 6002, 5802, 5594, 5376, 5142, 4886, 4608, 4315, 4025, 3757, 3529, 3348, 3213, 3114, 3040, 2990, 2970, 2995, 3084, 3250, 3500, 3825, 4209, 4631, 5064, 5485, 5870, 6195, 6445, 6609, 6689, 6692, 6630, 6517, 6368, 6193, },
|
||||
/* LAT: -50 */ { 5849, 5620, 5389, 5160, 4928, 4684, 4414, 4111, 3782, 3450, 3147, 2906, 2743, 2651, 2602, 2568, 2536, 2510, 2515, 2585, 2756, 3043, 3435, 3904, 4410, 4916, 5392, 5812, 6152, 6394, 6534, 6576, 6534, 6425, 6264, 6067, 5849, },
|
||||
/* LAT: -40 */ { 5397, 5152, 4908, 4670, 4436, 4199, 3945, 3662, 3348, 3021, 2722, 2498, 2379, 2352, 2371, 2394, 2400, 2390, 2378, 2406, 2532, 2802, 3214, 3726, 4272, 4797, 5265, 5655, 5949, 6137, 6226, 6230, 6162, 6032, 5852, 5634, 5397, },
|
||||
/* LAT: -30 */ { 4881, 4641, 4403, 4170, 3944, 3726, 3507, 3276, 3021, 2746, 2487, 2303, 2231, 2254, 2321, 2393, 2460, 2512, 2536, 2549, 2613, 2806, 3161, 3645, 4176, 4674, 5096, 5415, 5620, 5720, 5747, 5721, 5642, 5511, 5332, 5116, 4881, },
|
||||
/* LAT: -20 */ { 4322, 4111, 3904, 3700, 3504, 3321, 3153, 2990, 2813, 2616, 2425, 2290, 2246, 2286, 2375, 2485, 2614, 2744, 2836, 2875, 2898, 2989, 3223, 3602, 4050, 4478, 4829, 5067, 5175, 5183, 5153, 5106, 5024, 4897, 4731, 4534, 4322, },
|
||||
/* LAT: -10 */ { 3791, 3631, 3480, 3334, 3198, 3078, 2976, 2884, 2789, 2675, 2554, 2453, 2404, 2425, 2509, 2637, 2793, 2953, 3080, 3145, 3160, 3184, 3303, 3550, 3874, 4196, 4462, 4628, 4666, 4614, 4547, 4482, 4393, 4269, 4120, 3957, 3791, },
|
||||
/* LAT: 0 */ { 3412, 3321, 3238, 3165, 3110, 3072, 3047, 3030, 3007, 2961, 2882, 2787, 2704, 2670, 2708, 2808, 2941, 3077, 3194, 3271, 3303, 3324, 3396, 3550, 3757, 3970, 4150, 4259, 4267, 4200, 4112, 4019, 3907, 3776, 3642, 3519, 3412, },
|
||||
/* LAT: 10 */ { 3283, 3253, 3233, 3230, 3256, 3304, 3360, 3416, 3452, 3444, 3375, 3260, 3132, 3034, 3004, 3043, 3122, 3221, 3321, 3407, 3471, 3533, 3619, 3736, 3869, 4006, 4126, 4198, 4201, 4141, 4032, 3889, 3728, 3569, 3434, 3338, 3283, },
|
||||
/* LAT: 20 */ { 3400, 3404, 3431, 3487, 3580, 3702, 3832, 3951, 4033, 4046, 3973, 3831, 3662, 3520, 3441, 3426, 3459, 3530, 3626, 3723, 3813, 3911, 4021, 4132, 4239, 4349, 4451, 4517, 4529, 4472, 4337, 4136, 3909, 3700, 3538, 3438, 3400, },
|
||||
/* LAT: 30 */ { 3723, 3732, 3788, 3889, 4034, 4206, 4383, 4540, 4649, 4676, 4604, 4448, 4257, 4089, 3981, 3932, 3934, 3983, 4068, 4165, 4262, 4367, 4482, 4600, 4719, 4844, 4964, 5050, 5078, 5023, 4868, 4629, 4356, 4102, 3903, 3776, 3723, },
|
||||
/* LAT: 40 */ { 4223, 4223, 4291, 4416, 4585, 4773, 4958, 5115, 5220, 5246, 5177, 5027, 4838, 4662, 4531, 4453, 4425, 4445, 4504, 4582, 4667, 4764, 4878, 5011, 5162, 5323, 5474, 5584, 5625, 5573, 5419, 5182, 4908, 4649, 4438, 4294, 4223, },
|
||||
/* LAT: 50 */ { 4831, 4827, 4886, 4998, 5146, 5307, 5457, 5577, 5651, 5659, 5595, 5466, 5302, 5136, 4997, 4898, 4842, 4828, 4851, 4900, 4969, 5059, 5177, 5327, 5502, 5686, 5852, 5972, 6018, 5976, 5846, 5650, 5424, 5208, 5028, 4900, 4831, },
|
||||
/* LAT: 60 */ { 5392, 5383, 5414, 5479, 5566, 5661, 5747, 5813, 5845, 5835, 5779, 5684, 5562, 5432, 5312, 5215, 5147, 5112, 5109, 5136, 5191, 5277, 5394, 5541, 5707, 5876, 6024, 6130, 6175, 6154, 6072, 5945, 5798, 5655, 5532, 5443, 5392, },
|
||||
/* LAT: 70 */ { 5726, 5708, 5707, 5721, 5744, 5771, 5794, 5808, 5806, 5786, 5745, 5687, 5615, 5538, 5464, 5399, 5350, 5322, 5316, 5336, 5380, 5449, 5540, 5649, 5766, 5881, 5981, 6054, 6094, 6098, 6069, 6016, 5948, 5878, 5813, 5761, 5726, },
|
||||
/* LAT: 80 */ { 5789, 5772, 5758, 5747, 5737, 5728, 5718, 5706, 5691, 5672, 5649, 5623, 5595, 5568, 5542, 5522, 5507, 5502, 5506, 5521, 5547, 5582, 5624, 5672, 5722, 5770, 5813, 5848, 5872, 5886, 5888, 5881, 5868, 5849, 5828, 5808, 5789, },
|
||||
/* LAT: 90 */ { 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, 5679, },
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user