Skip to content

hu-ja-ja/BitCraftMap_With_Empire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BitCraftMap_With_Empire

for BitCraftMap

本リポジトリは BitJita から Empire/Tower のデータを取得し、GeoJSON に変換するツール群を含みます。

閲覧方法

リポジトリは生成された GeoJSON を自動的に Gist にアップロードする GitHub Actions を実行しており、出力は BitCraftMap 上で閲覧できます。

前提

このリポジトリは uvを使用して依存を再現する前提での利用を想定しています。

公式ドキュメント

注意: uv sync を実行する前にご自身の環境が要件を満たすか確認してください。満たさない場合は uv python install <version> で適切な Python を用意してください。

すばやく始める

  1. uv をインストールしてください(OS に応じて公式ドキュメントに従ってください)。

  2. プロジェクトルートで依存を同期します(uv.lockpyproject.toml を参照して再現可能な環境が作られます):

# プロジェクトルートで
uv sync
  1. コマンドラインのエントリは generate コンソールスクリプトとしてパッケージに登録されています。uv 経由で実行してください(uv が仮想環境を管理します):
# 直接実行(エイリアス `generate` を使用)
uv run generate

# ヘルプや引数付き実行
uv run generate --help
uv run generate --limit-empires 100 --verbose --out Resource/my.geojson

スクリプトの使い方

パッケージに登録された CLI エントリ generateuv run で呼び出してください。デフォルトでは Resource/generated.geojson に出力します。

基本実行例 (uv 経由):

uv run generate

主要な引数(抜粋):

  • --out : 出力先パス(デフォルト: Resource/generated.geojson)
  • --user-agent : BitJita API に送る User-Agent ヘッダ(デフォルトはリポジトリ内定義)
  • --throttle-ms : 各 API 呼び出し間の最小待ち時間(ミリ秒、デフォルト 120)
  • --limit-empires : 処理するエンパイア数を制限(テスト用)
  • --max-features : 出力する Feature の最大数(0 = 制限なし)
  • --max-towers-per-empire : 各エンパイアで処理する塔の上限(0 = 制限なし)
  • --rate-per-min : レートリミッタの設定(分あたりの許可リクエスト数)
  • --workers : 並列ワーカ数(デフォルト 8)
  • --verbose : 進捗ログを詳細に出力
  • --color-store : エンティティID -> 色マップを格納する YAML ファイルのパス(デフォルト: Resource/color_map.yaml)

引数を指定した実行例 (uv 経由):

uv run generate --limit-empires 100 --verbose --out Resource/my.geojson

色変換ツール

地図上の色コードを変換するための補助ツールです。

uv run color

実行すると対話モードになり、Hexコードを入力すると変換後の値を表示し、クリップボードにコピーします。

出力について

  • 出力は GeoJSON の FeatureCollection です。BitCraftMap のフォーマット と互換性を保つプロパティを付与しています。

注意点

  • BitJita API にはレート制限があります。デフォルト設定でも過度な同時実行は避けてください。
  • uv.lock / pyproject.toml に記載された Python バージョン要件を確認してください。必要なら uv python install <version> を使って適切な Python を用意してください。
  • マッピングルールや座標変換の詳細は 要件.md を参照してください。

追加ヘルプ

より詳しいオプションはスクリプトの --help をご利用ください:

uv run generate --help