Судя по множеству позитивных отзывов в Telegram, многим очень понравилось мое прошлое исследование порталов Москвы. С тех пор прошло много времени, я обзавелся несколькими полезными контактами в Штабе Сопротивления и в мои руки попала база данных порталов всего мира. А это конечно повод провести еще одно исследование!
1. О сборе и обработке информации (можно пропустить)
Данные о порталах попали мне в виде SQL-дампа базы данных PostgreSQL объемом 1.97 ГБ. Судя по меткам в столбце timestamp данные о порталах в этой базе накапливались с марта 2016 до марта 2017. Условно можно считать, что данные были актуальны на март 2017.
Кое-как переконвертировав дамп в БД MariaDB, с которой я намного лучше знаком и которая работает на моем домашнем хостинге, я получил таблицу размером 10.3 ГБ (вероятно не совсем оптимально подобраны типы полей), а после выкидывания всех столбцов кроме id, координат и названия получилась таблица размером 1.7 ГБ.
Дальнейшая работа во многом свелась к написанию хранимых процедур на языке SQL. При этом выполнение многих таких процедур занимало 8-10 часов. Я пробовал запускать базу данных на ram-диске в оперативной памяти, скорость не изменилась вообще никак. Я пробовал нагрузить базу несколькими параллельными запросами по числу ядер процессора, но затея не удалась, база вешалась, я ругался. В итоге большинство исследований запускались на ночь, а результаты получал утром.
На все исследования вместе потрачено по ощущениям дня 3-4 чистого времени. Я научился чуть получше работать с большими базами данных, прочитал много информации про географические проекции, изучил ряд формул, написал пару хранимых процедур на SQL, пару вспомогательных программ на Qt и даже освоил на начальном уровне язык OpenCL для вычислений на графическом процессоре!
2. Сколько всего порталов в мире
Ну что же. В какой-то момент марта 2017 в мире было чуть больше 5.5 млн. порталов! Оценить масштаб бедствия вполне можно по картинке ниже:
Ну или в виде тепловой карты (при клике доступна в чуть большем размере):
Далее я предпринял попытку оценить количество порталов на разных континентах. Мне понравилась модель, в которой на Земле выделяют 7 континтов (в разных странах число континентов выбирают от 4 до 7). Прямо в Photoshop'е залил каждый континент на картинке выше определенным цветом и для каждого портала проверял, в область какого цвета он попадает. Точность по идее вполне нормальная, плюс-минус какие-то порталы на границе континентов, но на самом деле и границ-то этих до сих пор точно не установили! Итог ниже:
Вообще-то я интуитивно предполагал, что порталов больше всего в Северной Америке (кремниевая долина и все дела) или же в Азии (Япония, Китай...), но нет. Наша Европа впереди планеты всей. С остальными континентами по идее все понятно. Во всей Африке, которая по площади почти вдвое больше России, порталов меньше, чем в Москве... За Антарктиду я принял всю порталы южнее 60° ю.ш., таких набралось 21 штука.
3. Горки? Площадки? На этот раз ни то ни другое!
В мире есть порталы, название которых встречается чаще, чем "Детская площадка"! И это более чем с двукратным отрывом "US Post Office"!!! Наши любимые площадки как ни странно вторые. Также у нас больше тысячи "Фонтанов", "Церквей", "Водонапорных башен" (вот уж последних не ожидал). Первая сотня хит-парада как обычно ниже, постарался перевести на русский и что-то даже прокомментировать:
название портала | количество | перевод (комментарий) |
---|---|---|
US Post Office | 8900 | почта США |
Детская Площадка | 3825 | детская площадка |
First Baptist Church | 2839 | Первая баптистская церковь |
Water Tower | 2405 | водонапорная башня |
Fountain | 2385 | фонтан |
Church of Christ | 1956 | Церковь Христа |
Playground | 1803 | игровая площадка |
Фонтан | 1716 | фонтан |
Church | 1704 | церковь |
Monument Aux Morts | 1616 | французский: памятник погибшим |
Kingdom Hall Of Jehovahs Witnesses | 1527 | зал царства свидетелей Иеговы |
Statue | 1405 | статуя |
Monumento Ai Caduti | 1392 | итальянский: военный мемориал |
Церковь | 1327 | церковь |
First Presbyterian Church | 1319 | Первая пресвитерианская церковь |
Водонапорная башня | 1276 | водонапорная башня |
Mural | 1274 | граффити |
First United Methodist Church | 1273 | Первая объединенная методистская церковь |
Brunnen | 1233 | немецкий: фонтан |
Graffiti | 1141 | граффити |
Kapliczka | 1086 | польский: часовня |
United Methodist Church | 1050 | объединенная методистская церковь |
Kriegerdenkmal | 1026 | немецкий: военный мемориал |
Kapelle | 994 | немецкий: часовня |
Clock Tower | 990 | часовая башня |
Veterans Memorial | 979 | мемориал ветеранам |
祠 | 969 | китайский: храм |
War Memorial | 940 | военный мемориал |
Wall Art | 927 | настенная живопись |
お地蔵様 | 926 | японский: божество, охраняющее детей |
Gazebo | 909 | беседка |
Spielplatz | 905 | немецкий: детская площадка |
石碑 | 895 | китайский: камни в виде стелл |
Sculpture | 863 | скульптура |
Gedenkstein | 841 | немецкий: памятный камень |
First Christian Church | 836 | первая Христианская церковь |
Temple | 829 | храм |
Water Tank | 816 | емкость для воды |
Kirche | 812 | немецкий: церковь |
Street Art | 811 | уличная живопись |
Post Office | 801 | почтовое отделение |
八幡神社 | 787 | китайский: святилище в честь Хатимана (бог войны) |
Беседка | 779 | беседка |
地蔵 | 778 | японский: Дзидзо (один из четырёх наиболее почитаемых бодхисаттв в дальневосточном буддизме) |
Горка | 774 | горка |
Monument | 769 | монумент |
Plac Zabaw | 760 | польский: детская площадка |
Calvary Baptist Church | 753 | Баптистская церковь на Голгофе |
Seventh Day Adventist Church | 750 | Церковь адвентистов седьмого дня |
稲荷神社 | 734 | японский: Инари (синтоистское божество изобилия, риса и злаковых культур вообще, лис, промышленности, житейского успеха, одно из основных божеств синтоизма) |
Крест | 715 | крест |
Kreuz | 702 | немецкий: крест |
LDS Church | 702 | церковь Святых последних дней (относится к наиболее крупной ветви мормонизма) |
Mosque | 701 | мечеть |
Sonnenuhr | 689 | немецкий: солнечные часы |
Детский Городок | 684 | детский городок |
Jesus Statue | 682 | статуя святого |
Krzyż | 681 | польский: крест |
INRI | 679 | аббревиатура латинской фразы Iesvs Nazarenvs Rex Ivdæorvm, то есть «Иисус Назарянин, Царь Иудейский» |
Water Fountain | 674 | фонтан |
Граффити | 674 | граффити |
Lion Statue | 659 | статуя льва |
Shrine | 655 | английский: усыпальница |
Trinity Lutheran Church | 648 | Троицкая лютеранская церковь |
東屋 | 645 | японский: беседка |
お地蔵さん | 641 | японский: Дзидзо (один из четырёх наиболее почитаемых бодхисаттв в дальневосточном буддизме, на этот раз в другом написании) |
Buddha Statue | 633 | статуя Будды |
Cross | 633 | крест |
道祖神 | 620 | японский: божество, охраняющее путешественников |
Wegkreuz | 619 | немецкий: крест, видимо длинное написание Kreuz |
變電箱 | 618 | китайский: трансформаторная будка |
Памятник | 606 | памятник |
Jesus | 604 | святой |
Memorial | 594 | мемориал |
Skate Park | 592 | скейт-парк |
Часовня | 585 | часовня |
Jesus Am Kreuz | 578 | немецкий: Иисус на кресте |
The Church of Jesus Christ of Latter Day Saints | 572 | Церковь Иисуса Христа Святых последних дней |
Fontaine | 571 | французский: фонтан |
熊野神社 | 563 | китайский: храм в честь трех священных гор Кумано |
鳥居 | 562 | японский: тории (ритуальные врата, устанавливаемые перед святилищами японской религии синто) |
亭子 | 556 | китайский: беседка |
Ленин | 555 | Ленин |
Croix | 553 | французский: крест |
Masjid | 552 | малайский: мечеть |
Kingdom Hall | 541 | Зал царства |
Church of the Nazarene | 536 | Церковь Назарянина |
Neuapostolische Kirche | 532 | немецкий: Новоапостольская церковь |
Ave Maria | 530 | латынь: Ave Maria — «Радуйся, Мария» |
Памятник Ленину | 522 | памятник Ленину |
Bell Tower | 518 | Колокольня |
Храм | 517 | храм |
Почта России | 516 | почта России |
Grace Baptist Church | 515 | Баптистская церковь Грейс |
Madonnina | 510 | итальянский: Мадонна |
Evangelische Kirche | 501 | немецкий: Евангелическая церковь |
地蔵尊 | 498 | китайский: Кшитигарбха (один из четырёх наиболее почитаемых бодхисаттв в дальневосточном буддизме, воплощает собой силу обета спасения живых существ) |
Мельница | 497 | мельница |
Skulptur | 496 | немецкий: скульптура |
忠魂碑 | 495 | китайский: обелиск |
После прочтения списка создается впечатление, что Ingress целиком про религию. Храмы, церкви, мечети, часовни, статуи святых, кресты и божества - основные порталы для совершенно разных стран в разных концах Земли.
4. Самая крутая ферма мира
Способ, которым я искал самую крутую ферму не изменился: взять каждый портал и посчитать число его соседей в радиусе 40 метров. Да, это не идеальный способ, но очевидно самый простой и быстрый. Считаем: 5.5 млн. порталов, для каждого из них нужно вычислить расстояние ко всем оставшимся 5.5 млн. Это означает, что нужно прикинуть более 30 ТРИЛЛИОНОВ расстояний. Кто не знает, вычисление расстояния между точками по географическим координатам требует как минимум 5 тригонометрических операций, 2 возведения в квадрат, 1 вычисление квадратного корня и еще по мелочи (умножения, вычитания, сложение). Все это 30 триллионов раз. Приехали.
Самые первые попытки сделать эти вычисления в рамках базы данных показали, что вычисления должны будут занять БОЛЕЕ 11 ЛЕТ. Осмысление этого факта заняло какое-то время и я даже было подумал, что затея вообще нереализуема. Раньше в таких сложных случаях я забирал данные из БД и производил вычисления в рамках специально написанной программы для ПК. В этом случае вычисления заняли бы месяцы, что намного лучше, но ведь результат хотелось максимум за день. Вот тут и пришлось открыть для себя совершенно новую область - программирование вычислений для графического процессора. В моем случае я на базовом уровне освоил язык OpenCL (не путать с OpenGL), загнал весь массив координат порталов в оперативку видеокарты GeForce GTX 1060 и запустил вычисления сразу на всех ее 1280 ядрах, причем каждое ядро считало на частоте 1.5 ... 1.7 ГГц внутри своего кусочка данных. И чудо случилось! Через 3 часа и 8 минут я получил список из примерно 60 потенциальных мегаферм мира, самая плохонькая из которых имеет хотя бы 12 порталов в радиусе.
Встречайте, первая область карты в номинации самая крутая ферма в мире находится возле портала Vitrall практически в самом центре Барселоны в Испании! Всего в радиусе я насчитал 19 (!) порталов, каждый их которых так или иначе относится в единственной достопримечательности - храму Sagrada Família (храму Святого Семейства):
Еще одна локация, где получилось насчитать 19 порталов (посчитайте также портал чуть левее) это Rabbit, расположенный в Гонконге:
На втором месте область карты в районе портала Krenz Memorial Dedication, что в каком-то совершенно небольшом городке McFarland (дальняя земля блин!) в штате Висконсин, США, где одни люди натыкали как минимум 17 мемориальных скамеек чуть ли одну на другую, а другие люди приняли их все за самые настоящие порталы:
И уже после завершения исследования мне прислали ссылку на область карты, в которой находится сразу 24 портала в радиусе!!! Моя программа не смогла найти эту область, потому что многие из порталов - новоделы. Есть серьезные сомнения, что все эти порталы останутся в будущем, но тем не менее, встречайте портал Котляр Иван Фёдорович, Краснодарский край, Россия:
5. Самые дальние е#еня мира
Ну и напоследок то самое исследование, с которого вообще все началось. Собственно, мне захотелось узнать, а есть ли в мире такие е#еня, где даже возможно не ловит сотовая связь, но при этом кто-то все равно умудрился поставить портал. И оказалось что да, есть такие! Причем некоторые из этих порталов ставились очевидно с подменой координат.
Для исследования была выкачана база данных базовых станций сотовой связи (далее по тексту - БС). Для каждого портала находились расстояния до ближайших вышек БС, после чего я выкинул из рассмотрения все порталы ближе ~20 км к любой их них.
В некоторых случаях возможна ошибка, база данных БС конечно же не идеальная. Так, например, согласно базе в поселке Тикси нет сотовой связи, но судя по форумам в интернете, связь там все-таки есть. Еще один пример - поселок Варзуга по базе БС тоже должен быть без связи, но некоторые наши операторы показывают, что у них там все хорошо.
Ниже некоторые интересные случаи с комментариями.
Самые простые находки - порталы посереди морей/океанов. Например, портал-призрак Iglesia Santa Inés нашелся в Индийском океане, удаление от БС - 910 км!
Благодаря исследованию удалось вычислить два портала в 550 км от Норильска при полном отсутствии какой-либо цивилизации. В радиусе сотен км - тундра Ямало-Ненецкого автономного округа. Порталы можно увидеть тут. Фото для одного из них взято из Покрова, фото другого - из Благовещенска (до каждого - много тысяч км). Расстояние до ближайшей вышки сотовой связи как ни странно всего 46 км. Не очень понятно, что это за вышка, может быть какие-то объекты нефтянки.
Самое же замечательное с этими 2 порталами это то, что они оба проставлены агентом 1 уровня, у которого больше нет ну вообще никаких игровых действий, но зато есть оникс Guardian. Любуйтесь и пингуйте @moreshapers:
Ну и наконец самые дальние от цивилизации порталы мира расположены небольшой группкой в антарктическом населенном пункте McMurdo. Ссылка вот, а расстояние до ближайшей вышки ~3400 км. Всего 16 порталов, 13 пока ничейные, налетай:
Ну а те, кто прочитал все исследование до конца получают бонус: карта порталов, удаленных от цивилизации с визуальным выделением по расстоянию от базовых станций сотовой связи. После клика на картинку карта откроется в новом окне. При выборе любого портала увидите его наименование, координаты, вычисленное расстояние от ближайшей БС и 3 ссылки (на Google, Yandex и IITC):
Не с этого сервиса случаем дамп ingress-guard.tk? Полгода назад был доступ к их БД расшарен.