mcpField
C
cartography-geoviz

cartography-geoviz

github.com/muendデザイン・UI3781 回インストール2 週間前に更新
リポジトリ

cartography-geoviz について

地図作成者やデータ分析者向けの地図作成・地理可視化スキルです。地図の設計を根拠の提示が必要な分析判断として扱い、地図形式、分類、色、投影法、検証、出力を案内します。

主な機能

  1. 01データに応じた主題図の選択
  2. 02分類方法と区分値の指針
  3. 03色彩と投影法の助言
  4. 04凡例と欠損データ表現の確認
  5. 05静的・インタラクティブ地図の出力

活用シーン

  1. 01出版用の主題図を作成
  2. 02時期や地域をまたいで地図を比較
  3. 03大規模な点データや移動データを可視化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muend/geoai-skills --skill cartography-geoviz

インストール後、Claude Code で/cartography-geovizを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlreferences/authoritative-sources.md

詳細

地図作成と地理可視化

目的: 誠実に伝える地図。地図作成上の選択(階級区分、ランプ、正規化、投影法)は、パターンを捏造したり隠したりする可能性があります。このスキルは、それらを根拠が明示された分析上の意思決定として扱い、単なるスタイリングとは見なしません。

最初の3つの問い

  1. メッセージは何か? 1つの地図 = 1つのメッセージ。2つの変数が競合する場合は、凡例を12階級にするのではなく、スモールマルチプルや二変量スキームを検討してください。
  2. 正規化されているか? 生の件数のコロプレスは、姿を変えた人口地図です。面積ベースの色分けには率、密度、または人口あたりの値を使用し、生の大きさには比例記号を使用してください。
  3. 静的かインタラクティブか? 印刷/PDF/紙 → matplotlib/QGIS レイアウト。探索/ステークホルダー → Folium/MapLibre。大規模なポイントデータ → Kepler.gl/deck.gl(GPU)。

主題図の種類の選択

データ地図の種類
ポリゴンごとの率/比率コロプレス
地点ごとの件数/大きさ比例記号/階級記号
関連する2つの率二変量コロプレス(最大3×3)
個人レベルの密度ドット密度またはKDEサーフェス(バンド幅を明記)
連続フィールド(ラスター)階級区分またはストレッチ描画 + 陰影起伏のコンテキスト
移動/ODフローマップ(幅∝量)、ヘアボールを避けるため集約
時間変化分析にはスモールマルチプル > アニメーション。アウトリーチにはアニメーション

階級区分 — 誠実さのレバー

  • 自然分類(Jenks): 歪んだデータのデフォルト。階級区分はデータ固有であるため、地図や日付をまたいで比較できません。
  • 分位: 色のバランスが保証されますが、ほぼ同一の値を分割することがあります。
  • 等間隔: 比較可能で直感的ですが、歪みには対応できません。
  • 手動/定義済み: 地図シリーズ(すべての日付/地域で同じ階級区分)と領域しきい値(WHOの基準値、傾斜階級)に対して唯一正しい選択です。
  • 階級は5±2。ワークフローで階級区分を示すヒストグラムを表示し、キャプション/メタデータにスキームを明記してください。2つのスキームを試し、ストーリーが実質的に変わるなら、ストーリーは階級区分そのものであり、読者に伝える必要があります。

色

  • ColorBrewer/cmcrameri/viridis ファミリーのランプ: 連続(順序あり)、発散(意味のある中点 — ゼロ、平均、しきい値)、定性(カテゴリ、≤ 8)。
  • デフォルトで色覚多様性に対応(男性読者の約8%)。CVDシミュレーターで確認せずに赤-緑の発散ランプを使用しないでください。
  • NoData ≠ ゼロ: 独自の凡例エントリを持つ中立グレーで描画し、ランプの低い端には決してしないでください。
  • 主題レイヤーの下には落ち着いたベースマップ(CartoDB Positron)を — ベースマップが決して目立ってはいけません。

表示用の投影法

  • Webタイル = Webメルカトル: 都市スケールには問題ありませんが、メルカトルでの大陸スケールの面積比較は視覚的な嘘です — 広範囲の静的な主題図には等積投影法(Albers、Mollweide、Equal Earth)を使用してください。
  • 国土地図 → その国のグリッド。極域の作業 → 極ステレオ投影。
  • 出版用地図には投影法を明記してください。

必須の付属要素(出版用の静的地図)

タイトル(ファイル名ではなくメッセージ)、凡例(単位!、適切な数値フォーマット)、スケールバー(投影CRSのみ — 度には固定スケールがありません)、方位記号(北が上でない場合、または読者が期待する場合のみ)、データソース + 日付 + 投影法 + 作成者、そして馴染みのない地域には位置図のインセット。

# GeoPandas static map core
ax = gdf.plot(column="rate_per_1k", scheme="naturalbreaks", k=5,
              cmap="YlGnBu", legend=True, edgecolor="white", linewidth=0.3,
              missing_kwds={"color": "#d9d9d9", "label": "No data"})
ax.set_axis_off()

エクスポート: 印刷用には300 dpiのPNG/PDF。編集者が手を加える場合はSVG。GISへの引き渡しにはCOG + スタイル。

インタラクティブ地図

  • Folium/MapLibre: フォーマットされた値のツールチップ、レイヤーコントロール、適切な初期表示範囲(fit_bounds)、凡例を含める(Foliumには手動のHTML/branca凡例が必要 — 凡例なしでリリースしないでください)。
  • パフォーマンス: 約5万を超えるベクタフィーチャ → タイル化する(tippecanoe → PMTiles)か、deck.gl/Keplerに切り替えてください。50万のGeoJSONフィーチャをLeafletに投げ込まないでください。
  • すべてのポップアップの数値をフォーマットする(桁区切り、単位、精度の誠実さに合わせた丸め)。

検証プロトコル

  1. スクイントテスト:サムネイルサイズでもメッセージが伝わるか?
  2. CVD シミュレーションを実施。
  3. 凡例の監査:単位、丸め、階級の境界が重複していないこと。
  4. 3 つのフィーチャの描画値を属性テーブルと照合する (分類のバグは静かに潜む)。
  5. 地図シリーズの場合:パネル間で分類の区切り、ランプ、範囲が同一であること。

落とし穴チェックリスト

  • 生カウントのコロプレス図(人口の偽装)。
  • 2 つの時点で比較された Jenks の区切り。
  • 中間点がラベル付けされていない赤緑の発散ランプ。
  • NoData が最下位クラスとして描画されている。
  • 非投影(度)地図上のスケールバー。
  • Web メルカトル上での大陸規模の比較。
  • 凡例や単位のないインタラクティブ地図。

実行契約

  • ワークフロー: 対象読者、データの意味、縮尺、出力媒体を調査し、投影法、正規化、分類、視覚的階層を選択し、描画し、検証し、エクスポートします。
  • 意思決定ルール: 分析上の問いから地図の種類を選び、露出が異なる場合はカウントを正規化し、比較の際は区切りを固定したままにします。
  • 検証プロトコル: 上記の 5 つのチェックを実行し、描画値、単位、階級の境界、欠損データの扱いをソースと突き合わせます。
  • 失敗モード: 分母、CRS、単位、アクセシビリティ、パネル間の比較可能性が未解決の場合、納品を停止するか条件付きにします。
  • 成果物: 最終地図、凡例と単位、データ/出典の注記、投影法と分類の根拠、アクセシビリティの注記、再現可能なスタイルまたはコード。
  • ソースの鮮度: バージョンに敏感な API を使用する前に権威あるソースレジストリを参照し、確認日を記録します。

コメント