Города-призраки

Интерактивная карта 21 795 заброшенных городов, покинутых посёлков, затопленных деревень и древних руин со всего мира. Данные из Wikidata, описания из Википедии, фото из Wikimedia Commons. Причина опустения определяется автоматически по тексту статьи.

Проблема

Информация о заброшенных поселениях разбросана по статьям Википедии, форумам сталкеров и локальным краеведческим сайтам. Нет единого места, где можно увидеть все города-призраки на карте, отфильтровать по причине опустения и быстро получить контекст — когда и почему место перестало существовать.

Решение

Карта, которая агрегирует данные из Wikidata (объекты с типом «город-призрак», «заброшенная деревня», «затопленное поселение», «руины», «древний город»), обогащает их описаниями из Википедии и фотографиями из Wikimedia Commons, а затем классифицирует причину опустения по тексту статьи.

Пользователь видит все 21 795 мест на интерактивной карте, может фильтровать по причине (золотая лихорадка, шахты, катастрофа, затопление, война, экономический спад, древние руины) и по типу поселения, искать по названию и открывать случайный город-призрак.

Ключевые решения

  • Wikidata как единый источник. SPARQL-запросы к Wikidata дают структурированные данные: координаты, дату упразднения, тип поселения, ссылку на статью Википедии. Не нужен ручной сбор — база обновляется автоматически.
  • Автоклассификация причин. В Wikidata причину опустения почти никогда не указывают. Алгоритм анализирует описание и текст статьи Википедии, ищет ключевые маркеры (gold rush, mine, dam, flood, earthquake, war, evacuation, economic decline) и присваивает категорию. На странице места видно, по какой фразе сделан вывод.
  • Мультиязычность. Интерфейс на 7 языках (русский, английский, испанский, немецкий, французский, португальский, итальянский). Описание места подтягивается из статьи Википедии на языке пользователя.
  • Производительность с 21K+ маркерами. Кластеризация точек на карте (OpenFreeMap + OpenMapTiles) для плавной работы даже на мобильных устройствах.

Стек и роль

Стек: Next.js (Turbopack) · React · TypeScript · OpenFreeMap · Wikidata SPARQL · Wikipedia API · Wikimedia Commons · Vercel

Роль: продукт, дизайн, разработка — полный цикл. От идеи и проектирования данных до деплоя и поддержки.

Ссылки