Heatmap
指定したエリアの投稿数を集計してヒートマップデータを提供するサービスです。エリアの雰囲気(Vibes)の可視化に使用されます。
エンドポイント
サービス: bazbii.feed.v1.Heatmap
パッケージ: bazbii.feed.v1
定義ファイル: packages/proto/bazbii/feed/v1/heatmap.proto
gRPCサービス定義
service Heatmap {
rpc GetHeatmap(GetHeatmapRequest) returns (GetHeatmapResponse);
}
Methods
GetHeatmap
指定したエリアの投稿数を集計してヒートマップデータを取得します。
リクエスト
message GetHeatmapRequest {
uint32 h3_res = 1; // H3解像度(resolution)
oneof selector {
H3Cells cells = 2; // 任意のH3セル集合
CenterKRing ckring = 3; // 中心セルとkリング
}
oneof time {
WindowPreset preset = 10; // 相対時間ウィンドウ(推奨)
TimeRange range = 11; // 絶対時間範囲
}
}
message CenterKRing {
string center = 1; // 中心セル(H3 Hex)
uint32 k = 2; // リングの半径
}
message H3Cells {
repeated string cells = 1; // セル集合(H3 Hex)
}
enum WindowPreset {
WINDOW_PRESET_UNSPECIFIED = 0;
MINUTES_15 = 1; // 直近15分
HOUR_1 = 2; // 直近1時間
HOURS_6 = 3; // 直近6時間
HOURS_24 = 4; // 直近24時間
DAYS_7 = 5; // 直近7日
DAYS_30 = 6; // 直近30日
}
message TimeRange {
google.protobuf.Timestamp start = 1; // 開始時刻(含む)
google.protobuf.Timestamp end = 2; // 終了時刻(含まない)
}
レスポンス
message GetHeatmapResponse {
repeated HeatmapCell cells = 1;
}
message HeatmapCell {
string h3_hex = 1; // H3セルID(16進数文字列)
int64 post_count = 2; // 投稿数
}