OpenStreetMapのデータを使い、選んだ都市の全道路をブラウザー上で地図風に一括描画します。
originalankur/maptoposter
OpenStreetMapのデータから、テーマカラーを選んで任意の都市のミニマルな印刷向け地図ポスターを生成するPython製CLIツール。
- スター
- 14,223
- フォーク
- 1,256
- 未解決の Issue
- 61
- 最終コミット
- 3 か月前
これは何?
City Map Poster Generatorは、都市名と国名を受け取り、ジオコーディングで場所を特定してから、OSMnx経由でOpenStreetMapの道路・水域・公園のデータを取得します。matplotlibでPNGポスターとして描画し、都市名と国名、座標、選択したカラーテーマを表示します。
JSONファイルで定義された17種類のテーマが組み込まれており、背景、水域、公園、道路の種類ごとの色を指定したJSONファイルを作成すれば、独自のテーマも追加できます。地図の半径、出力サイズ(インチ)、中心座標はすべてコマンドラインから設定できます。ラテン文字以外の都市名や国名はGoogle Fontsを使って表示でき、フォントはダウンロードされてローカルにキャッシュされます。
コードから装飾用の都市プリントや壁紙を作りたい人を対象としており、描画処理を拡張したい人向けに、描画パイプラインを説明する簡潔なコントリビューターガイドも用意されています。
主な機能
- 01都市名を指定するか、緯度と経度を明示して、任意の都市のポスターを生成できます。
- 0217種類のカラーテーマが組み込まれており、JSONファイルで独自のテーマも追加できます。
- 03地図の半径、ポスターの幅と高さ(インチ)、出力解像度を調整できます。
- 04Google Fontsを使って、日本語、韓国語、アラビア語、タイ語を含む各言語の都市名と国名を表示できます。
- 051回の実行で、1つの都市についてすべてのテーマを描画できます。
ユースケース
- 故郷や旅行先の装飾用プリントを作る。
- 都市地図からスマートフォンやデスクトップの壁紙、Instagram用の画像を作成する。
- 壁に飾ったり贈ったりするための、A4サイズまたは大判の地図アートを制作する。
- テーマやレイヤーのコードを変更し、matplotlibとOSMnxを使った描画を試す。
クイックスタート
- 1
uv(推奨)をインストールしてからスクリプトを実行します。依存関係は自動でインストールされます
uv run ./create_map_poster.py --city "Paris" --country "France" - 2
または、pipと仮想環境を使ってインストールします
pip install -r requirements.txt - 3
pipとvenvを使ってポスターを生成します
python create_map_poster.py --city "Paris" --country "France"
使う前に知っておきたいこと
- ジオコーディング、OpenStreetMapのデータ、Google Fontsのダウンロードにはインターネット接続が必要です。
- 距離が長い場合や印刷サイズが大きい場合、生成に時間がかかり、負荷も大きくなることがあります。
トピック
よくある質問
- maptoposter とは?
- OpenStreetMapのデータから、テーマカラーを選んで任意の都市のミニマルな印刷向け地図ポスターを生成するPython製CLIツール。 City Map Poster Generatorは、都市名と国名を受け取り、ジオコーディングで場所を特定してから、OSMnx経由でOpenStreetMapの道路・水域・公園のデータを取得します。matplotlibでPNGポスターとして描画し、都市名と国名、座標、選択したカラーテーマを表示します。
- maptoposter は無料で使えますか?ライセンスは?
- maptoposter は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- maptoposter は今もメンテナンスされていますか?
- 半年以内に更新あり。maptoposter の最終コミットは 2026年8月6日 です。
- 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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Apache Supersetは、データ探索やチャート・ダッシュボードの作成、各種データベースへのSQL実行に使えるセルフサービス型BI Webアプリです。
AIエージェント、`.deepnote` YAML形式、Python・R・SQL向けのブロックエディターを備えた、Jupyterの置き換えとして使えるノートブック環境。
数値テキストからASCIIグラフやスパークラインなどを生成するCLI。
AKShareのデータを使い、A株の基本情報と出来高付きローソク足チャートを表示するターミナルツール。
CLI、Pythonライブラリ、HTTPサーバー、Dockerで使える画像背景除去ツール。