;-)

Окей, гугл! Добавим малый радиус

Как известно, разработчики «Веб-меркатора» значительно упростили всем жизнь, выкинув малый радиус. Это логично, ведь, по сути, не важно, какой формы или размера объект, на его карте координаты все равно задаются в градусах. Благодаря этому свойству, одни и те же географические координаты одинаково применимы к совершенно разным объектам.

Во всемирной геодезической системе WGS 84 наша с вами сфера, а точнее референц-эллипсоид, имеет полярное сжатие (inverse flattening) 298,257 223 563, то есть большой радиус 6 378 137 м и малый 6 356 752,314 245 18 м. Получается, что на карте «Веб-меркатора» все координаты на месте, но сфера должна быть сплющена на 42,769 371 509 641 1 км.

Сравниваем референц-эллипсоид со сферой.

На глаз разница не заметна, но если с площадью сферы все было просто 4πR2 = 511 207 893,395 811, то площадь сплюснутого эллипсоида вращения (a > b) гораздо кучерявее:

По идее, нужно разбить эллипсоид на сегменты так же, как сферу, только площади поверхности сегментов вращения между параллелями придется считать c использованием интегралов.

Чтобы не вызывать на дом репетитора по математическому анализу, используем «способ для художников»: рисуем эллипс в «Автокаде» и замеряем площади поверхностей вращения от одной параллели до другой. Координаты параллелей нам уже известны из предыдущей части «Процесса», и, как мы знаем, они будут неизменны всегда, даже если Земля примет форму куба.

Такой подход очень нагляден, но все же «Автокад» возвращает немножко не ту площадь эллипсоида — 510 065 621,655 637 км2. Формула площади эллипсоида, представленная выше, говорит о том, что «Автокад» потерял 0,0‪68 451 04 км2.

Отправляемся на поиски пропавших метров.

Между вершинами дуги t1 и t2 находится сегмент эллипса, образующий поверхность вращения, площадь которой далее рассматривается более подробно.

Для расчетов используем «Маткад».

Большой радиус (a) = 6 378,137 км
Полярное сжатие = 298,257 223 563
Малый радиус (b) = aa / Полярное сжатие = 6 356,752 414 245 179 км

Параметрическое уравнение эллипса x = a cos(t), y = b sin(t).

Например, чтобы измерить периметр эллипса, интегрируем sqrt(x'2 + y'2) = sqrt((a sin(t))2 + (b cos(t))2).

Сверяем точность с формулой периметра эллипса Рамануджана.

π (3 (a + b) – sqrt((3 a + b) (a + 3 b)) = 40 007,862 917 250 88

Относительная погрешность формулы Рамануджана для периметра эллипса с эксцентриситетом земного меридиана составляет что-то около 4,38×10-20. Для эллипса с земным меридианом это немыслимая точность, типа 1,75 пикометров или одной шестидесятой диаметра атома водорода (который в два раза меньше атома бора).

Джерард Микон (Gérard P. Michon) Perimeter of an Ellipse, 2000 год

Аналогично интегрируем a cos(t) sqrt((a sin(t))2 + (b cos(t))2), чтобы найти площадь эллипсоида.

Таким же образом считаем площадь полярного сегмента от t1 до полярной вершины t2.

В данном случае t1 = atan(a / b · tan(θ)), t2 = ½ π.

Угол полярной параллели = 85,051 128 78° · π / 180 = 1,484 422 229 748 708 rad
t1 = atan(a / b · tan(Угол полярной параллели)) = 1,484 710 394 721 241 4 rad

Делим градиент масштабов от экватора до полярной параллели на 256 частей.

Sub = Полярная параллель / 256 = 0,012 271 846 303 24

Используя модуль Sub, считаем площадь сегментов эллипсоида от экватора до полярной параллели.

i — счетчик; y — номер строки; θ — угол параллели; t1 — угол радиус-вектора вершины дуги; S — площадь сегмента, км2.

Делов-то на 7 строчек.

Сравниваем площади территорий на сфере и эллипсоиде в квадратных километрах.

Рейтинг Территория Сфера «Веб-меркатора»   Референц-эллипсоид WGS 84 Разница Разница, %
1Россия16 523 293>16 440 626 82 6670,500
2Антарктида12 982 769>12 901 200 81 5690,628
3Китай9 279 960>9 258 246 21 7140,234
4Канада8 951 513>8 908 366 43 1470,482
5Бразилия8 402 706>8 399 858 2 8480,034
6Соединенные Штаты Америки7 675 122>7 654 643 20 4790,267
7Австралия7 602 329>7 592 594 9 7350,128
8Индия3 107 011>3 103 770 3 2410,104
9Аргентина2 718 051>2 712 060 5 9910,220
10Казахстан2 663 315>2 653 464 9 8510,370
11Алжир2 311 284>2 307 828 3 4560,150
12Демократическая Республика Конго2 298 093>2 297 964 1290,006
13Гренландия2 148 362>2 135 337 13 0250,606
14Мексика1 945 932>1 943 749 2 1830,112
15Саудовская Аравия1 933 260>1 931 076 2 1840,113
16Индонезия1 884 107>1 884 046 610,003
17Судан1 848 010>1 847 033 9770,053
18Ливия1 619 483>1 617 231 2 2520,139
19Иран1 614 889>1 611 758 3 1310,194
20Монголия1 544 445>1 538 959 5 4860,355
21Аляска (штат США)1 445 171>1 437 415 7 7560,537
22Перу1 283 667>1 283 402 2650,021
23Чад1 261 656>1 261 030 6260,050
24Мали1 253 642>1 252 873 7690,061
25Ангола1 253 229>1 252 826 4030,032
26Южно-Африканская Республика1 207 747>1 205 842 1 9050,158
27Нигер1 181 112>1 180 389 7230,061
28Колумбия1 126 802>1 126 743 590,005
29Эфиопия1 125 202>1 125 017 1850,016
30Боливия1 076 932>1 076 320 6120,057
31Мавритания1 041 661>1 040 813 8480,081
32Египет 995 966> 994 631 1 3350,134
33Венесуэла 904 531> 904 426 1050,012
34Нигерия 904 112> 903 935 1770,020
35Танзания 886 158> 886 072 860,010
36Пакистан 846 859> 845 440 1 4190,168
37Намибия 819 591> 818 802 7890,096
Показать все
38Мозамбик 777 243> 776 766 4770,061
39Турция 766 879> 764 837 2 0420,266
40Чили 743 189> 741 401 1 7880,241
41Замбия 740 579> 740 302 2770,037
42Мьянма 663 594> 663 006 5880,089
43Южный Судан 645 839> 645 764 750,012
44Афганистан 638 342> 637 016 1 3260,208
45Сомали 637 081> 637 018 630,010
46Центрально-Африканская Республика 623 043> 622 985 580,009
47Мадагаскар 590 710> 590 266 4440,075
48Кения 577 330> 577 324 60,001
49Ботсвана 561 420> 560 877 5430,097
50Украина 558 031> 555 891 2 1400,383
51Франция 545 040> 543 119 1 9210,353
52Таиланд 510 625> 510 383 2420,047
53Испания 495 397> 494 005 1 3920,281
54Камерун 464 083> 464 047 360,008
55Туркмения 463 674> 462 439 1 2350,266
56Папуа-Новая Гвинея 461 724> 461 681 430,009
57Йемен 454 707> 454 476 2310,051
58Узбекистан 435 604> 434 311 1 2930,297
59Ирак 429 297> 428 441 8560,199
60Марокко 412 458> 411 687 7710,187
61Швеция 412 314> 410 151 2 1630,525
62Парагвай 397 335> 396 919 4160,105
63Зимбабве 388 113> 387 835 2780,072
64Япония 368 605> 367 693 9120,248
65Германия 352 555> 351 127 1 4280,405
66Конго 342 139> 342 134 50,001
67Вьетнам 324 000> 323 811 1890,058
68Кот-д'Ивуар 320 564> 320 525 390,012
69Оман 309 362> 309 104 2580,084
70Польша 307 097> 305 817 1 2800,417
71Норвегия 305 211> 303 569 1 6420,538
72Финляндия 302 498> 300 856 1 6420,543
73Италия 297 320> 296 404 9160,308
74Филиппины 293 519> 293 431 880,030
75Буркина-Фасо 273 799> 273 715 840,031
76Западная Сахара 270 371> 270 055 3160,117
77Новая Зеландия 264 276> 263 493 7830,296
78Габон 261 946> 261 945 10,000
79Эквадор 247 882> 247 880 20,001
80Гвинея 245 958> 245 903 550,022
81Великобритания 241 571> 240 512 1 0590,438
82Румыния 234 966> 234 155 8110,345
83Гана 233 184> 233 153 310,014
84Лаос 228 584> 228 428 1560,068
85Гайана 210 929> 210 918 110,005
86Беларусь 204 905> 204 018 8870,433
87Уганда 204 166> 204 164 20,001
88Восточная Малайзия (Малайзия) 197 022> 197 016 60,003
89Сенегал 196 113> 196 032 810,041
90Киргизия 190 095> 189 537 5580,294
91Сирия 185 250> 184 841 4090,221
92Камбоджа 177 905> 177 847 580,033
93Уругвай 174 208> 173 865 3430,197
94Тунис 148 430> 148 117 3130,211
95Непал 147 126> 146 905 2210,151
96Суринам 144 772> 144 767 50,004
97Таджикистан 139 171> 138 809 3620,260
98Бангладеш 134 038> 133 891 1470,110
99Западная Малайзия (Малайзия) 130 553> 130 548 50,004
100Греция 130 398> 130 051 3470,266
101Эритрея 121 106> 121 049 570,047
102КНДР 120 588> 120 252 3360,279
103Никарагуа 119 227> 119 187 400,034
104Бенин 115 716> 115 693 230,019
105Гондурас 111 724> 111 675 490,044
106Куба 110 261> 110 160 1010,091
107Болгария 110 122> 109 781 3410,309
108Гватемала 108 315> 108 262 530,049
109Исландия 100 555> 100 002 5530,550
110Южная Корея 99 147> 98 913 2340,236
111Либерия 96 081> 96 073 80,009
112Малави 94 115> 94 080 350,037
113Венгрия 91 506> 91 176 3300,360
114Иордания 89 086> 88 925 1610,181
115Португалия 87 941> 87 700 2410,273
116Азербайджан 84 423> 84 186 2370,280
117Французская Гвиана (Франция) 83 680> 83 677 30,003
118Австрия 83 118> 82 815 3030,365
119Чешская Республика 78 219> 77 914 3050,390
120Сербия 76 724> 76 474 2500,326
121Панама 74 528> 74 517 110,015
122Сьерра-Леоне 72 229> 72 218 110,015
123Объединенные Арабские Эмираты 71 477> 71 398 790,110
124Ирландия 68 490> 68 196 2940,429
125Шри-Ланка 64 708> 64 701 70,012
126Литва 63 577> 63 289 2880,453
127Латвия 63 207> 62 910 2970,470
128Шпицберген и Ян Майен (Норвегия) 61 745> 61 347 3980,644
129Грузия 56 782> 56 611 1710,300
130Того 56 600> 56 592 80,015
131Хорватия 55 814> 55 626 1880,336
132Коста-Рика 51 138> 51 128 100,020
133Босния и Герцеговина 50 916> 50 750 1660,325
134Словакия 48 622> 48 438 1840,378
135Доминиканская Республика 47 802> 47 768 340,070
136Эстония 43 107> 42 896 2110,489
137Дания 42 384> 42 189 1950,460
138Бутан 39 996> 39 939 570,142
139Швейцария 39 778> 39 636 1420,356
140Тайвань 35 560> 35 521 390,109
141Нидерланды 34 130> 33 987 1430,419
142Гвинея-Бисау 33 431> 33 422 90,029
143Лесото 30 598> 30 548 500,164
144Бельгия 30 411> 30 289 1220,401
145Молдова 30 244> 30 135 1090,361
146Армения 28 394> 28 315 790,280
147Соломоновы острова 28 307> 28 303 40,016
148Албания 28 027> 27 946 810,290
149Экваториальная Гвинея 26 968= 26 968 0,001
150Гаити 26 829> 26 810 190,071
151Бурунди 25 043= 25 043 0,002
152Республика Македония 24 891> 24 818 730,296
153Руанда 23 922= 23 922 0,001
154Белиз 21 820> 21 807 130,059
155Израиль 21 562> 21 522 400,182
156Джибути 21 520> 21 514 60,028
157Сальвадор 20 406> 20 399 70,038
158Словения 20 184> 20 114 700,348
159Фиджи 18 734> 18 723 110,060
160Новая Каледония (Франция) 18 532> 18 516 160,089
161Кувейт 17 380> 17 352 280,161
162Свазиленд 17 349> 17 326 230,134
163Гавайи (штат США) 16 680> 16 667 130,081
164Тимор-Лесте 14 698> 14 696 20,016
165Черногория 13 596> 13 554 420,309
166Калининградская область (Россия) 13 326> 13 267 590,446
167Багамы 12 286> 12 272 140,113
168Вануату 12 083> 12 076 70,053
169Фолклендские острова (Британия) 11 834> 11 785 490,413
170Катар 11 606> 11 591 150,123
171Ямайка 10 978> 10 971 70,065
172Республика Косово 10 880> 10 846 340,307
173Гамбия 10 450> 10 446 40,037
174Ливан 10 239> 10 217 220,209
175Пуэрто-Рико (США) 8 886> 8 881 50,066
176Абхазия 8 665> 8 638 270,313
177Галапагосы (Эквадор) 8 019= 8 019 0,000
178Канарские острова (Испания) 7 414> 7 403 110,151
179Архипелаг Кергелен (Франция) 7 005> 6 978 270,385
180Палестина 6 036> 6 025 110,188
181Бруней-Даруссалам 5 863= 5 863 0,004
182Республика Кипр 5 511> 5 499 120,220
183Тринидад и Тобаго 5 137> 5 135 20,022
184Кабо-Верде 4 031> 4 028 30,051
185Южная Осетия 3 860> 3 848 120,304
186Южная Джорджия и Южные Сандвичевы острова (Британия) 3 644> 3 628 160,446
187Французская Полинезия (Франция) 3 518> 3 516 20,051
188Турецкая Республика Северного Кипра 3 461> 3 453 80,223
189Приднестровье 3 209> 3 198 110,363
190Самоа 2 835> 2 834 10,038
191Люксембург 2 586> 2 576 100,391
192Реюньон (Франция) 2 499> 2 497 20,087
193Азорские острова (Португалия) 2 293> 2 287 60,259
194Маврикий 1 991> 1 990 10,080
195Коморы 1 657= 1 657 0,028
196Гваделупа (Франция) 1 626> 1 625 10,053
197Фарерские острова (Дания) 1 378> 1 370 80,523
198Мартиника (Франция) 1 111> 1 110 10,043
199Гонконг 1 067> 1 066 10,096
200Сан-Томе и Принсипи 998= 998 0,000
201Острова Теркс и Кайкос (Британия) 886> 885 10,091
202Мадейра (Португалия) 790> 789 10,197
203Бахрейн 758> 757 10,130
204Доминика 748= 748 0,048
205Сингапур 678= 678 0,000
206Тонга 659= 659 0,078
207Федеративные Штаты Микронезии 655> 654 10,010
208Сент-Люсия 603= 603 0,039
209Остров Мэн 568> 566 20,442
210Гуам (США) 539= 539 0,037
211Острова Лайн (Кирибати) 489= 489 0,001
212Андорра 465> 464 10,307
213Северные Марианские острова (США) 462= 462 0,051
214Палау 442= 442 0,011
215Сейшелы 440= 440 0,010
216Барбадос 434= 434 0,034
217Антигуа и Барбуда 422> 421 10,059
218Кюрасао (Нидерланды) 419> 418 10,030
219Сент-Винсент и Гренадины 382= 382 0,035
220Майотта (Франция) 382= 382 0,033
221Гренада 352= 352 0,030
222Остров Херд и острова Макдональд (Австралия) 345> 344 10,429
223Острова Крозе (Франция) 339> 338 10,350
224Виргинские острова (США) 336> 335 10,063
225Острова Принс-Эдуард (ЮАР) 330> 329 10,356
226Мальта 309> 308 10,230
227Острова Гилберта (Кирибати) 284= 284 0,000
228Острова Кука (Новая Зеландия) 284= 284 0,070
229Бонэйр (Нидерланды) 269> 268 10,030
230Ниуэ (Новая Зеландия) 261= 261 0,071
231Острова Кайман (Британия) 259> 258 10,074
232Сент-Китс и Невис 258= 258 0,060
233Акротири и Декелия (Британия) 248= 248 0,220
234Сен-Пьер и Микелон (Франция) 218> 217 10,358
235Маршалловы острова 210= 210 0,016
236Американское Самоа (США) 197= 197 0,041
237Остров Пасхи (Чили) 183> 182 10,142
238Острова Тристан-да-Кунья (Британия) 176= 176 0,256
239Аруба (Нидерланды) 175= 175 0,031
240Лихтенштейн 158> 157 10,362
241Британские Виргинские острова (Британия) 139= 139 0,068
242Уоллис и Футуна (Франция) 139= 139 0,039
243Остров Рождества (Австралия) 133= 133 0,022
244Остров Святой Елены (Британия) 122= 122 0,051
245Остров Маккуори (Австралия) 122> 121 10,446
246Джерси 120> 119 10,384
247Монтсеррат (Британия) 100= 100 0,057
248Остров Вознесения (Британия) 96= 96 0,013
249Мальдивы 87= 87 0,004
250Гернси (Британия) 78> 77 10,389
251Ангилья (Британия) 77= 77 0,066
252Остров Буве (Норвегия) 73= 73 0,443
253Сан-Марино 61= 61 0,322
254Остров Амстердам (Франция) 54> 53 10,254
255Бермуды (Британия) 50= 50 0,191
256Острова Питкэрн (Британия) 49= 49 0,114
257Сен-Мартен (Франция) 46= 46 0,066
258Сан-Андрес и Провиденсия (Колумбия) 46= 46 0,034
259Британская территория в Индийском океане (Британия) 45= 45 0,010
260Токелау (Новая Зеландия) 41= 41 0,018
261Остров Норфолк (Австралия) 36= 36 0,160
262Острова Феникс (Кирибати) 33= 33 0,003
263Синт-Мартен (Нидерланды) 31= 31 0,066
264Макао 30= 30 0,096
265Науру 21= 21 0,000
266Остров Европа (Франция) 21= 21 0,096
267Синт-Эстатиус (Нидерланды) 20= 20 0,062
268Сеута (Испания) 20= 20 0,229
269Тувалу 20= 20 0,009
270Сен-Бартелеми (Франция) 18= 18 0,062
271Остров Саба (Нидерланды) 12= 12 0,062
272Кокосовые острова (Австралия) 12= 12 0,030
273Мелилья (Испания) 12= 12 0,223
274Остров Сен-Поль (Франция) 10= 10 0,260
275Остров Уэйк (США) 9= 9 0,071
276Гибралтар (Британия) 6= 6 0,235
277Спратли (Бруней, Вьетнам, Китай, Малайзия, Тайвань, Филиппины) 6= 6 0,019
278Остров Банаба (Кирибати) 6= 6 0,000
279Атолл Мидуэй (США) 5= 5 0,148
280Жуан-ди-Нова (Франция) 5= 5 0,057
281Остров Джарвис (США) 4= 4 0,000
282Парасельские острова (Вьетнам, Китай, Тайвань) 4= 4 0,053
285Глорьез (Франция) 4= 4 0,027
283Остров Навасса (США) 4= 4 0,066
284Атолл Клиппертон (Франция) 3= 3 0,021
286Атолл Пальмира (США) 3= 3 0,007
287Монако 2= 2 0,322
288Остров Хауленд (США) 2= 2 0,000
289Остров Бейкер (США) 1= 1 0,000
290Атолл Джонстон (США) 1= 1 0,057
291Остров Тромлен (Франция) 1= 1 0,049
292Атолл Куре (США)0,9=0,9 0,154
293Ватикан0,5=0,5 0,298
294Риф Кингмен (США)0,002=0,002  
295Силенд0,001=0,001  
       
 Вода366 495 583>365 729 482 766 1020,209
 Суша144 712 310>144 336 140 376 1700,260
 Всего511 207 893>510 065 6221 142 2720,223

Рейтинг территорий почти не изменился, однако Сомали, Уганда и Тувалу переехали на ступеньку выше. Если присмотреться к цифрам, видно, что эллиптическое сжатие уменьшает площадь территорий градиентно: чем ближе к полюсу, тем больше сжатие. Площадь самой полярной строки эллипсоид сжимает сфера разжимает на 0,664 411 282 512 56%. Для маленьких территорий (до 1000 км2) разница в километрах почти незаметна, но для больших она весьма внушительна.

В итоге, если сопоставить площадь Йемена, которая получилась у домохозяйки, — 454 716 км2, с площадью на сфере — 454 707 км2 и эллипсоиде — 454 476 км2, будет уместно заметить, что, воспользовавшись сервисом для измерения площади на платформе «Веб-меркатор», домохозяйка измерила площадь Йемена на сфере. Получается, что остальные современные домохозяйки тоже измеряют всё на сфере, однако прежде чем показывать пальцем на геодезические сервисы, использующие «Веб-меркатор», спросите любого продавца глобусов, имеет ли полярное сжатие (inverse flattening) глобус, который он вам продает.

Часть V