メインコンテンツまでスキップ

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; // 投稿数
}