Version 2.0
This protocol has been deprecated in favor of TVRP.
This is a simple protocol for serving TopoVista tiles in a manner that allows manipulation by a smart router.
All messages are sent via UDP. For now, we will assume that this is reliable; there is no provision for retransmission.
The server listens on a known port, normally 4742. For each request, it returns a sequence of one or more messages terminating in an EOF message. A failed request receives only the EOF response.
A request message is the string GET hhhhhhhh comment
encased in a UDP datagram.
The hhhhhhhh
field is an 8-digit hexadecimal encoding
(using 0123456789ABCDEF
) of a tile ID as specified below.
The comment is ignored but is conventionally the human-readable
xxxUyyyk
form of the tile ID.
Each reply message begins with an 14-byte header:
bytes 0-3 "TVTP" magic characters allowing router recognition byte 4 2 indicating the protocol version number byte 5 sequence number of preceding message, or zero if this is first byte 6 sequence number of this message, 1 - 62, or 63 for EOF byte 7 sequence number of next message, or zero if this is EOF bytes 8-11 32-bit tile ID bytes 12-13 tile version number
The tile ID is a big-endian integer containing these fields, beginning with the most significant bit:
3 bits tile order (k), less 6; allows 64×64 through 8192×8192 tiles 5 bits UTM zone, 1 through 26 10 bits X coordinate 14 bits Y coordinate
The reply header is followed by either a TopoVista record or by a bitmap in the case of an EOF message. The EOF bitmap is an 8-byte big-endian integer indicating the contents of the sequence. The most significant bit corresponds to message zero, and is always unset because there is no zeroth message. The least significant bit corresponds to message 63, the EOF message, and is always set because the EOF message is never omitted.