
2026/05/18 7:47
ご提示いただいた文書は、指示に則って体裁を整えられたものです。 **「貴国の電力網」をテーマにしたポスターのデザイン**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
元の要約は高レベルの概要としては良いが、キーポイントで挙げられている実践的な「やり方」と機能の詳細さが不足している。以下の改善版では、欠けている具体的な詳細を統合しつつ明瞭さを維持したものである:
Improved Summary: Grid2Poster プロジェクトは、GeoPandas、OSMnx、Matplotlib といった Python ライブラリを活用して、OpenStreetMap のオープンデータから高品質で印刷可能な電気網地図を直接生成できるようにする。データの完全性は地域ごとの OSM カバレッジによって異なるが、MapYourGrid などのコミュニティ主導の取り組みを通じて送電線や変電所のマッピングを行い、強化することができる。ユーザーは仮想環境内で
pip install -r requirements.txt を実行してツールを使用でき、PNG または SVG フォーマット(例:python create_grid_poster.py --country Portugal)でのポスター作成が可能であり、多様な座標基準系(デフォルトは EPSG:3857)に対応する。
特定のニーズに合わせて、マイナーな配電網(
--include-minor-lines)や地下ケーブル(--include-cables)を含める、ローカルの GeoJSON ファイルを使って境界をカスタマイズし、テーマや用紙サイズを調整することが可能である。大陸規模のクエリ、例えばアフリカやアジアのレンダリングの場合、API のレート制限とクエリの効率性のバランスを取るために --tile-size-km パラメータを削減すると効果的である。プロジェクトは主要地域(例:欧州大陸、イベリア半島、MENA)および大陸に対して定義済みの境界をサポートし、該当する場合は Natural Earth データセットを利用している。中国、インド、ドイツ、イタリアなどの国、ならびに南アメリカやラテンアメリカを含む地域のサンプル出力ギャラリーが用意されている。今後の改良では、大規模なレンダリングをより効率的に処理するために API への相互作用の最適化に焦点を当てる予定である。本文
Grid2Poster ドキュメンテーション
OpenStreetMap データから、電力グリッド(送配電網)インフラストラクチャーに対応した印刷可能なポスターを生成します。国の規模あるいは大陸の規模で運用するこのツールは、GeoPandas、OSMnx、および Matplotlib を用いて変電線データをダウンロードし、レンダリング処理を実行します。本プロジェクトは、
maptoposter のデザインコンセプトやスタイルを大きく参考に・再利用しています。
データについて
Grid2Poster は国、州、省、大陸、および事前定義された地域領域をサポートしています。OpenStreetMap で以下のタグ付けがされたフィーチャー(地物)を対象とします:
power=line
(有効化時)power=minor_line
(有効化時)power=cable
フィーチャの完全性は、選択した国または地域の OpenStreetMap のカバレッジ状況に依存します。
データへの貢献
あなたの国のカバレッジと品質を向上させるには、電力送配電インフラストラクチャーについて直接 OpenStreetMap にマッピングする活動をサポートしてください。「MapYourGrid」というコミュニティ主導のイニシアチブがこの業務を調整しており、画像データから変電線、発電所、変電所を追跡するためのチュートリアル、国別の完全性・品質統計情報、およびマッピングツールを提供しています。
インストール
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
使用方法
デフォルト設定では、実行ごとに PNG と SVG の両方が生成されます:
python create_grid_poster.py --country Portugal
広大な国の場合には、Overpass クエリのタイルサイズを小さく設定します:
python create_grid_poster.py --country Vietnam --tile-size-km 150
配電網(低圧側)も必要であれば含むことができます。ただし、そのカバレッジは地球規模で大きく異なります:
python create_grid_poster.py --country Germany --include-minor-lines
利用可能なテーマの一覧を表示します。「themes」ディレクトリ内の新しいテーマ JSON ファイルを作成することで、独自のスタイルを見つけてください:
python create_grid_poster.py --list-themes
地磁気座標系ではなくローカルの GeoJSON ファイルを境界として指定します(カスタム領域や国以下の地域に便利です)。ファイル内のすべての多角形フィーチャは単一の境界形状に溶解されます。
--country の値は、ポスターのタイトルと出力ファイル名の設定に引き続き使用されます。--landscape オプションを使用すると、横長(ランドスケープ)方向で描画します:
python create_grid_poster.py --country "Middle East and North Africa" --boundary-geojson ./regions/mena.geojson --landscape --theme neon_cyberpunk
大陸全体を描画します。Nominatim が大陸名を解決しないため、大陸の境界は Natural Earth の admin-0 データセットから取得されます(初回使用時にダウンロード・キャッシュされる)。受け入れ可能な値は Africa、Antarctica、Asia、Europe、North America、Oceania、South America です。「Global」という集計名称については、すべての有人居住大陸が含まれます:
python create_grid_poster.py --country Africa --tile-size-km 500
大陸規模の処理では Overpass API に何百回もクエリを送信するため、数時間かかる場合があります。
--tile-size-km の値を大きくすることでクエリ数を削減できますが、Overpass の単一クエリサイズ制限内であることを確認して適切な値を選択してください。
オプション一覧
| オプション | デフォルト | 説明 |
|---|---|---|
| | Nominatim で解決可能な国または地域名、大陸名(Africa, Antarctica, Asia, Europe, North America, Oceania, South America)、または集計名称「Global」を指定します。 |
| | 多角形で構成された境界フィーチャを持つローカル GeoJSON ファイルへのパス。Nominatim/Natural Earth の検索を上書きします。カスタム領域、国以下エリア、またはオフライン環境でのワークフローに便利です。 |
| の値 | ポスターに表示するテキスト。ジオコーダーによる名称と希望されるタイトルが異なる場合に便利です。 |
| ELECTRICAL TRANSMISSION GRID( を指定時は ELECTRICAL GRID) | 国名または地域名の下に表示されるサブタイトルの設定を上書きします。 |
| | 境界のバウンディングボックス周囲のパディング比率。値を小さくするとズームイン(0 で厳密にフィット、-0.05 で境界内にわずかに切り欠く)、大きくするとビューアウトになります。 |
| paper_grid | themes/ ディレクトリ内のテーマ ID です。 |
| | 利用可能なテーマを一覧表示して終了します。 |
| off | フィーチャーも取得します。 |
| on | 地中線または海底ケーブル()を取得します。デフォルトではオンです。スキップするには を指定してください。 |
| off | 領土や本土から遠く離れた多角形(海外領土など)を含めます。デフォルトでは、ジオコーディされた境界は本土と近隣島嶼にフィルタリングされ、オランダやフランスなどの国のポスターにはアルバ、キュラソー、仏ギアナなどが含まれないように設定されています。 |
| | 名目 preset(縦長)を指定します。 を上書きします。選択肢:a5, a4, a3, a2, a1, a0, letter, legal, tabloid。 と組み合わせて使用すると方向を逆転させることができます。 |
| 297.0 | ポスターの幅(ミリメートル)。デフォルト:A3 の短辺。 |
| 420.0 | ポスターの高さ(ミリメートル)。デフォルト:A3 の長辺。 |
| off | 横長(ランドスケープ)方向で描画します。幅が高さよりも小さい場合、幅と高さを反転させます。 |
| 300 | ラスタ出力の DPI(PNG 出力に適用されます)。 |
| auto | タイトルのフォントサイズ(ポイント単位)。デフォルトではポスターサイズに応じて自動調整されます。この値を指定すると上書きします。 |
| 200 | Overpass クエリのタイルサイズ(キロメートル単位)。非常に大きな国や負荷の高いサーバーの場合には小さな値を使用してください。 |
| png svg | 出力形式:png, svg, pdf のいずれかの組み合わせが可能です。単一の実行で複数の形式を生成できます。 |
| posters/ ディレクトリ内での自動生成 | 出力ファイルのパスを指定します。指定した場合は単一のファイルのみが書き込まれ、拡張子から形式が推測されます。 |
| EPSG:3857 | 描画に使用する投影方式。EPSG:3857(擬似メルカトル)は国別ポスターに適しています。 |
| off | ポスター上にセグメント数を表示しないようにします。 |
| off | すべての変電線を単一の GeoJSON として WGS84 (EPSG:4326) で保存します。デフォルト位置をオーバーライドするパスを指定することも可能です( 内のデフォルト地点へ)。 |
| off | OSMnx のリクエストログを表示します。 |
出力先
生成されたポスターはデフォルトでは
posters/ ディレクトリに書き込まれます。中間の OSM レスポンスと処理されたジオメトリデータは、cache/ ディレクトリにキャッシュされ、繰り返しダウンロードを防ぐ仕組みになっています。
ギャラリー
| ポスター | 国・地域 | テーマ |
|---|---|---|
| China | paper_grid | |
| South America | japanese_ink | |
| India | japanese_ink | |
| Pakistan | electric_midnight | |
| Vietnam | midnight_blue | |
| California | warm_beige | |
| Mexico | forest | |
| Italy | autumn | |
| Zambia | sunset | |
| Morocco | autumn | |
| Latin America | emerald |
事前定義地域
regions/ ディレクトリには、一般的な電力システムグループ化に対応する多国境のデータが含まれています。これら中的任意一方を --boundary-geojson で渡すことで使用でき、ポスターに表示したいタイトルとして --country を設定してください:
python create_grid_poster.py --country "Continental Europe" --boundary-geojson ./regions/continental_europe.geojson --tile-size-km 300
| ファイル | カバレッジ範囲 |
|---|---|
| ユーロパ大陸同期化地域(31 カ国):アルバニア、オーストリア、ベルギー、ボスニア・ヘルツェゴビナ、ブルガリア、クロアチア、チェコ、エストニア、フランス、ドイツ、ギリシャ、ハンガリー、イタリア、 Kosovo、ラトビア、リトアニア、ルクセンブルク、モルドバ、モンテネグロ、オランダ、北マケドニア、ポーランド、ポルトガル、ルーマニア、セルビア、スロバキア、スロベニア、スペイン、スイス、トルコ、ウクライナ。2022 年 3 月に CE と同期化されたモルドバとウクライナ、ならびに 2025 年 2 月に同期化されたバルト三国(エストニア、ラトビア、リトアニア)を含む。北欧地域、イギリス連邦、アイルランド、キプロスの同期化エリアは除外されています。 |
| スペインとポルトガル。 |
| ラテンアメリカ・カリブ海地域:メキシコからアルゼンチン、チリにかけての 48 件のエントリーに加え、カリブ海の島嶼および海外領地(例:プエルトリコ、仏ギアナ、グアドループ)。 |
| 地中海を接する 22 カ国:アルバニア、アルジェリア、ボスニア・ヘルツェゴビナ、クロアチア、キプロス、エジプト、フランス、ギリシャ、イスラエル、イタリア、レバノン、リビア、マルタ、モナコ、モンテネグロ、モロッコ、パレスチナ、スロベニア、スペイン、シリア、チュニジア、トルコ。 |
| 中東・北アフリカ地域(MENA):18 カ国。アルジェリア、バーレーン、エジプト、イラク、イスラエル、ヨルダン、クウェート、レバノン、リビア、モロッコ、オマーン、パレスチナ、カタール、サウジアラビア、シリア、チュニジア、アラブ首長国連邦、イエメン。 |
| ブラズン、カンボジア、インドネシア、ラオス、マレーシア、ミャンマー、フィリピン、シンガポール、タイ、東ティモール、ベトナム。 |
| イギリス(シェトランド諸島を切り落としてよりタイトな画枠に設定)。 |
| ヨーロッパ大陸型米国の本土およびカナダの 60°N 以南の本土:アラスカ、カナダの北極地方、ハワイ、離島は除外されています。 |
| 西アフリカ電力プールの加盟国:ベナン、ブルキナファソ、コートジボワール、ガンビア、ガーナ、ギニア、ギニアビサウ、リベリア、マリ、 Niger(ニジェール)、ナイジェリア、セネガル、シエラレオネ、トーゴ。 |
アド・ホックなエリア(単一の州、メトロポリタン地域、カスタム多角形など)の場合には、
--boundary-geojson を通じて独自の GeoJSON を供給してください。ファイル内のすべての多角形フィーチャは 1 つの境界形状に溶解されます。
##クレジット マップデータ © OpenStreetMap 寄稿者