;-)

Рассказывает Василий Дубовой.

13 июля

Площадь суши: простите, что запорол тираж.

Тестируя страницу сравнения, я все не мог понять, почему же Аляска больше Монголии. На спроецированных картах пикселей в Аляске меньше, чем в Монголии. Обратить на это внимание раньше не удавалось, так как на плакате они с самого начала процесса стояли по разные стороны, и в таблице Аляска с самого начала и всегда после всех перерасчетов оставалась больше Монголии.

В массив данных вбиты абсолютно все 17 179 869 184 пикселя, и, если в какой-либо строке есть хоть один лишний или недостающий пиксель, это сразу заметно, поэтому там в строках не может быть лишних или недостающих пикселей. Я долго ломал голову, проецировал эти карты снова несколько раз, но результат не изменился. В итоге я пришел к выводу, что это как-то связано с антиалиасингом, и уже было успокоился, но все-таки нашел сдвинутую ячейку Аляски в массиве данных. На этой же строке находилось 7 ячеек с данными Канады, а таблица устроена таким образом, что «Эксель» посчитал площадь всех этих пикселей в строке в Аляску.

Перед тем как начать финальную верстку, мы с Мариной несколько десятков раз проверяли таблицу, чтобы не было ничего такого, и я был абсолютно уверен, что все данные вбиты точно и правильно.

Далее, уже имея примерное представление, как и что искать, я нашел еще 4 ячейки, сдвинутых таким же образом, но вообще перестал понимать, что куда считается, сколько таких ячеек может быть еще и сколько ошибок порождают такие ячейки в общем.

Поиск таких багов в 36 тыс. ячеек — ужасное, бесчеловечное занятие. Вдобавок таблица организована неудобно для вылавливания таких ошибок логическими формулами. Прям как старинная перфокарта. Ко всему этому привела моя неопытность в работе с данными на старте проекта.

В итоге стало ясно, что нужно пересчитать все с нуля, но с условиями, что данные ни в коем случае нельзя трогать руками, данные не должны пересекаться и из сбора и чтения данных нужно принципиально исключить человеческий фактор. Я отсканировал все строки на наличие пикселей с чистого листа и собрал данные в один список, ничего не трогая руками. Теперь «Эксель» сам распознает все строки в списке пикселей, определяет их площадь и собирает данные в площади стран только логическими формулами, то есть без меня, и это может проверить каждый — прямо хоть в научном издании публикуй.

Единственное, что там пока рассчитывается руками, — в листе INPUT «площади строк рассчитаны в „Автокаде“». Как вычислять это формулами, я еще не въехал, но если объяснить «Экселю», как это считать, то можно будет вбивать данные любого стандарта, и это будет мегабомба.

В итоге из того, что получилось, видно, что в старой таблице есть 10 сдвинутых ячеек, из которых выползло 29 ошибок. Еще добавились мелочи, о трех из которых вам уже известно из прошлого письма.

Я все исправил, но спасти напечатанный тираж не получается ;-(

Тут все ошибки.


Напечатано Должно быть
Россия 16 523 291 16 523 293
Антарктида 10 255 933 12 447 692
Китай 9 279 961 9 279 960
Канада 8 851 148 8 951 513
Бразилия 8 357 194 8 402 706
Гренландия 2 108 634 2 148 362
Саудовская Аравия 1 940 611 1 933 260
Аляска (штат США) 1 585 264 1 445 171
Боливия 1 122 444 1 076 932
Мадагаскар 591 278 590 710
Франция 539 416 545 040
Вьетнам 316 653 324 000
Польша 312 722 307 097
Эквадор Нет общей площади
Гвинея 245 957 245 958
Восточная Малайзия (Малайзия) 197 072 197 022
Непал 123 246 147 126
Иордания 112 966 89 086
Португалия Нет общей площади
Латвия Карта растянута
Дания Нет общей площади
Новая Каледония (Франция) 18 466 18 532
Вануату 11 514 12 083
Южная Джорджия и Южные Сандвичевы острова (Британия) Карта растянута
Маврикий 2 057 1 991
Парасельские острова (Вьетнам, Китай, Тайвань) Отсутствуют на плакате
Атолл Клиппертон (Франция) 2 3
Европа 22 298 366 22 298 369
Африка 29 679 701 29 679 067
Азия 30 866 977 30 866 922
Океания 433 731 8 434 366
Северная Америка 22 904 475 22 904 476
Антарктика 10 267 732 12 459 496
Вода 369 222 374 367 030 660
Суша 141 985 520 144 177 233

14 июля

Все! Я рассчитал вообще все формулами, без «Автокада». Если на мой «Эксель» сядет комар, он тут же порежет жопу, крылья, лапы, хобот — вообще весь искромсается :-)

Осталось дописать «Процесс» по геометрии, обновить данные на странице сравнения — и можно будет анонсироваться.


31 июля

Площадь суши: окей, гугл! Добавим малый радиус.

Еще одна глава в «Процессе», которая немного запоздала.

Решение получилось не математическое, но, если мерить физически, — все точно. Получается, что в этой части «Процесса» описан факт, но без доказательств. Практической пользы для геодезистов и программистов в таком подходе нет, в отличие от предыдущей части.


3 августа

Мне все же удалось решить вопрос с площадью суши радикально. Теперь это полноценное исследование (со всеми формулами, методами и множеством примеров решения с разных точек зрения).