Portal DB
Niantic Ingress Intel マップ向けの IITC ローカルポータルデータベースプラグインです。
Portal DB は Intel マップを閲覧中にポータル記録を受動的に収集し、IndexedDB に保存し、移動ポータルを検知し、他の IITC プラグインに信頼できる座標・陣営データを提供します。
GitHub でこのプラグインのディレクトリを見る | すべての IITC プラグインを見る
どんなユーザー向けか
Portal DB は、現在画面に表示されていないポータル情報も参照したいエージェントやプラグイン開発者に特に役立ちます。ポータル履歴、移動検知、あるいは安定したローカルデータ層に依存する計画・分析ワークフローに向いています。
主な機能
- 永続的なローカル保存: IndexedDB にポータル GUID、座標、陣営、最終確認時刻を保存し、ブラウザセッションをまたいで利用できます。
- 受動的なデータ収集: Ingress Intel マップを閲覧するだけでポータルデータベースを構築できます。
- 移動ポータル検知: ポータルが 3 メートル 以上移動した場合に旧位置と新位置を記録し、戦術的な地図変化の把握に役立ちます。
- 視覚アラート: 新しい移動ポータルが見つかると、ツールボックスの Portal DB 項目を強調表示します。
- 更新統計: データが書き込まれた理由やスキップ理由を記録し、デバッグや性能確認に使えます。
仕組み
このプラグインは Intel マップ上の生エンティティデータを取り込み、それをローカルのポータル記録セットへ変換します。その結果、他のプラグインは現在の表示範囲外にあるポータルでも、永続化されたデータ層をポータル検索サービスとして利用できます。
そのため Portal DB は、IITC エコシステム内で単なる表示系ツールではなく、バックエンド寄りの基盤プラグインとして機能します。
API リファレンス
Portal DB は window.plugin.portalDB を通じて機能を公開します。すべてのアクセスメソッドは非同期で、Promise を返します。
getPortal(guid)
GUID を指定して単一のポータル記録を取得します。
// 例: ポータルが存在するか確認し、座標を出力する
window.plugin.portalDB.getPortal('your-portal-guid')
.then(portal => {
if (portal) {
console.log(`発見: ${portal.latE6}, ${portal.lngE6}`);
} else {
console.log('ローカル DB にポータルが見つかりません');
}
});
getPortalsInBounds(bounds)
指定したマップ範囲内の保存済みポータルを取得します。
// 例: 現在の表示範囲内にある保存済みポータルを検索する
const bounds = map.getBounds(); // Leaflet LatLngBounds
window.plugin.portalDB.getPortalsInBounds(bounds)
.then(results => {
console.log(`このエリアで ${results.length} 個のポータルを発見しました。`);
results.forEach(p => console.log(p.guid, p.team));
});
戻り値の構造
各メソッドは以下の形式のポータルオブジェクトを返します。
{
"guid": "...",
"latE6": 35689500,
"lngE6": 139691700,
"team": "E",
"lastSeen": 1707000000
}
使い方
- いつも通り Intel マップを閲覧し、プラグインにバックグラウンドでポータルデータを収集させます。
- 移動ポータルや保存済み記録を確認したいときは、ツールボックスの Portal DB を開きます。
- Export と Import を使ってローカルデータベースをバックアップまたは移行します。
- 別の IITC プラグインを開発している場合は、公開 API を使って表示範囲外のポータルも参照できます。
開発者向けメモ: 「この GUID のポータルはどこにあるか?」という問いに、現在描画されていない状態でも答えたいなら、Portal DB が最も適したローカルデータソースです。
よくある質問
- Portal DB は現在表示中のポータルしか扱えませんか? いいえ。閲覧中にデータを蓄積してローカル保存するため、表示範囲から外れた後も記録を利用できます。
- なぜ移動ポータル検知が重要なのですか? ポータル移動はリンク、ブロックリンク、作戦上の前提に影響します。変化を早く把握できると地図情報の正確さを保てます。
- このプラグインは一般ユーザー向けですか、それとも開発者向けですか? 両方です。エージェントは UI で移動ポータルを確認でき、開発者は API を永続的なポータルデータ層として利用できます。
関連プラグイン
変更履歴
バージョン 0.3.0
- 3 メートル以上の移動を対象とした移動ポータル検知を追加。
- 新規移動ポータルを知らせるツールボックス視覚アラートを追加。
- 履歴確認とジャンプ機能を備えた移動ポータルパネルを追加。
バージョン 0.2.0
- 時間別データ更新統計を追加。
- localStorage による統計永続化を追加。
- リアルタイム統計ダッシュボードを追加。
バージョン 0.1.2
- 不要な書き込みを減らす更新しきい値機構を追加。