SimTX API/Packets/CoverageMapResponse: Difference between revisions
Clanker moved page SimTX API/Packets/CoverageMapResponse to SimTX API v24/Packets/CoverageMapResponse: Archive the v24 protocol reference Tag: New redirect |
Protocol v25 reference: CoverageMapResponse Tag: Removed redirect |
||
| Line 1: | Line 1: | ||
# | {{SimTX API navigation}} | ||
{{SimTX packet | |||
| name = CoverageMapResponse | |||
| frame = ServerFrame | |||
| field = 35 | |||
| member = coverage_map | |||
| direction = s2c | |||
| session = [[SimTX API/Control session|Control]] | |||
| roles = <code>ROLE_CONTROL</code>. | |||
| permission = None | |||
| answers = [[SimTX API/Packets/CoverageMapRequest|CoverageMapRequest]] | |||
| group = control | |||
| file = control.proto | |||
}} | |||
'''CoverageMapResponse''' returns the predicted received power of a [[SimTX API/Packets/CoverageMapRequest|CoverageMapRequest]] as a global raster. Failures arrive as [[SimTX API/Packets/Error|Error]] with the request's <code>request_id</code>; the v24 <code>available</code> and <code>message</code> fields are gone. | |||
== Definition == | |||
<syntaxhighlight lang="protobuf"> | |||
message CoverageMapResponse { | |||
reserved 2, 3; | |||
reserved "available", "message"; | |||
int64 request_id = 1; | |||
int64 sim_time_ms = 4; | |||
int32 width = 5; | |||
int32 height = 6; | |||
repeated float received_power_dbm = 7; | |||
} | |||
</syntaxhighlight> | |||
== Fields == | |||
{| class="wikitable" | |||
! # !! Field !! Type !! Description | |||
|- | |||
| 1 || <code>request_id</code> || <code>int64</code> || The request this answers. | |||
|- | |||
| 4 || <code>sim_time_ms</code> || <code>int64</code> || Simulated time the prediction is for, Unix ms. | |||
|- | |||
| 5 || <code>width</code> || <code>int32</code> || Raster columns. | |||
|- | |||
| 6 || <code>height</code> || <code>int32</code> || Raster rows. | |||
|- | |||
| 7 || <code>received_power_dbm</code> || <code>repeated float</code> || <code>width × height</code> values of predicted received power in dBm, row-major from the north-west corner. Always finite; −200 dBm means no path. | |||
|} | |||
Reserved, never reused: field numbers 2, 3 and the names <code>available</code>, <code>message</code>. | |||
== Raster layout == | |||
The raster covers the whole globe. Values are row-major (<code>index = row × width + column</code>). Row 0 is the northernmost; columns run west to east from 180° W. Each value is taken at the centre of its cell: | |||
<syntaxhighlight lang="text"> | |||
latitude = 90 − (row + 0.5) × 180 / height | |||
longitude = −180 + (column + 0.5) × 360 / width | |||
</syntaxhighlight> | |||
== What the values mean == | |||
Each value is the power a reference receiver in that cell would see from the requested transmitter at <code>sim_time_ms</code>. The reference receiver is a resonant half-wave dipole 10 m above ground, broadside to the transmitter (orientation rounded to 15°), without feed line loss. Values come from an analytic skywave model (E and F2 modes) plus ground wave and tropospheric paths, corrected towards ray-traced anchor points where a skywave was traced. Cells without a usable path are −200 dBm. Every value is finite. | |||
== See also == | |||
* [[SimTX API/Packets/CoverageMapRequest|CoverageMapRequest]] | |||
{{SimTX API navbox}} | |||
[[Category:SimTX API]] | |||
Revision as of 16:44, 24 October 2026
| Frame | ServerFrame, field 35
|
|---|---|
| Member | coverage_map
|
| Direction | Server → client |
| Session | Control |
| Roles | ROLE_CONTROL.
|
| Permission | None |
| Answers | CoverageMapRequest |
| Defined in | control.proto
|
CoverageMapResponse returns the predicted received power of a CoverageMapRequest as a global raster. Failures arrive as Error with the request's request_id; the v24 available and message fields are gone.
Definition
message CoverageMapResponse {
reserved 2, 3;
reserved "available", "message";
int64 request_id = 1;
int64 sim_time_ms = 4;
int32 width = 5;
int32 height = 6;
repeated float received_power_dbm = 7;
}
Fields
| # | Field | Type | Description |
|---|---|---|---|
| 1 | request_id |
int64 |
The request this answers. |
| 4 | sim_time_ms |
int64 |
Simulated time the prediction is for, Unix ms. |
| 5 | width |
int32 |
Raster columns. |
| 6 | height |
int32 |
Raster rows. |
| 7 | received_power_dbm |
repeated float |
width × height values of predicted received power in dBm, row-major from the north-west corner. Always finite; −200 dBm means no path.
|
Reserved, never reused: field numbers 2, 3 and the names available, message.
Raster layout
The raster covers the whole globe. Values are row-major (index = row × width + column). Row 0 is the northernmost; columns run west to east from 180° W. Each value is taken at the centre of its cell:
latitude = 90 − (row + 0.5) × 180 / height
longitude = −180 + (column + 0.5) × 360 / width
What the values mean
Each value is the power a reference receiver in that cell would see from the requested transmitter at sim_time_ms. The reference receiver is a resonant half-wave dipole 10 m above ground, broadside to the transmitter (orientation rounded to 15°), without feed line loss. Values come from an analytic skywave model (E and F2 modes) plus ground wave and tropospheric paths, corrected towards ray-traced anchor points where a skywave was traced. Cells without a usable path are −200 dBm. Every value is finite.