Repolode
originalankur

originalankur/maptoposter

Консольная утилита на Python для создания минималистичных постеров с картами городов на основе данных OpenStreetMap и настраиваемыми цветовыми темами.

Звёзды
14,223
Форки
1,256
Открытые issues
61
Последний коммит
2 месяца назад

Что это?

City Map Poster Generator принимает название города и страны, определяет координаты и загружает данные об улицах, водоёмах и парках из OpenStreetMap с помощью OSMnx. Затем утилита визуализирует карту в matplotlib и сохраняет её в виде постера PNG с названием города и страны, координатами и выбранной цветовой темой.

В комплект входят 17 готовых тем, заданных в JSON-файлах. Можно добавлять собственные темы, создав JSON-файл с цветами фона, водоёмов, парков и типов дорог. Радиус карты, размеры изображения в дюймах и координаты центра задаются через командную строку. Названия городов и стран на языках с нелатинской письменностью можно отображать с помощью Google Fonts: шрифты скачиваются и сохраняются в локальном кеше.

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

Ключевые возможности

  • 01Создаёт постеры для любого города по названию или по заданным широте и долготе.
  • 02В комплект входят 17 цветовых тем; также можно добавлять собственные темы через JSON-файлы.
  • 03Позволяет настраивать радиус карты, ширину и высоту постера в дюймах, а также разрешение изображения.
  • 04Отображает названия городов и стран на разных языках с помощью Google Fonts, в том числе на японском, корейском, арабском и тайском.
  • 05За один запуск может создать изображения одного города во всех темах.

Сценарии использования

  • Создание декоративного принта с изображением родного города или места путешествия.
  • Подготовка обоев для телефона или компьютера и графики для Instagram на основе карт городов.
  • Создание картин с картами формата A4 или крупнее для интерьера или в подарок.
  • Эксперименты с визуализацией в matplotlib и OSMnx: можно менять темы или код слоёв карты.

Быстрый старт

  1. 1

    Установите uv (рекомендуется), затем запустите скрипт — зависимости установятся автоматически

    uv run ./create_map_poster.py --city "Paris" --country "France"
  2. 2

    Или установите с помощью pip и виртуального окружения

    pip install -r requirements.txt
  3. 3

    Создайте постер с помощью pip и venv

    python create_map_poster.py --city "Paris" --country "France"

Что важно знать

  • Для геокодирования, получения данных OpenStreetMap и загрузки Google Fonts требуется подключение к интернету.
  • При больших расстояниях или крупных размерах печати генерация может быть медленной и ресурсоёмкой.

Темы

Частые вопросы

Что такое maptoposter?
Консольная утилита на Python для создания минималистичных постеров с картами городов на основе данных OpenStreetMap и настраиваемыми цветовыми темами. City Map Poster Generator принимает название города и страны, определяет координаты и загружает данные об улицах, водоёмах и парках из OpenStreetMap с помощью OSMnx. Затем утилита визуализирует карту в matplotlib и сохраняет её в виде постера PNG с названием города и страны, координатами и выбранной цветовой темой.
maptoposter можно использовать бесплатно? Какая у него лицензия?
maptoposter распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
maptoposter всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в maptoposter — 6 авг. 2026 г..
Для чего можно использовать maptoposter?
Создание декоративного принта с изображением родного города или места путешествия. Подготовка обоев для телефона или компьютера и графики для Instagram на основе карт городов. Создание картин с картами формата A4 или крупнее для интерьера или в подарок. Эксперименты с визуализацией в matplotlib и OSMnx: можно менять темы или код слоёв карты.
Как установить maptoposter?
Установите uv (рекомендуется), затем запустите скрипт — зависимости установятся автоматически: uv run ./create_map_poster.py --city "Paris" --country "France" Или установите с помощью pip и виртуального окружения: pip install -r requirements.txt Создайте постер с помощью pip и venv: python create_map_poster.py --city "Paris" --country "France"
Где скачать maptoposter?
Исходный код и инструкции по установке — на GitHub: https://github.com/originalankur/maptoposter

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты