Field | Type | Label | Description |
points | bytes |
|
|
holes | CompressedPolygon | repeated |
|
CompressedTimezonesItem designed for binary file as small as possible.
Field | Type | Label | Description |
data | CompressedPolygon | repeated |
|
name | string |
|
Field | Type | Label | Description |
method | CompressMethod |
|
|
timezones | CompressedTimezone | repeated |
|
version | string |
|
Basic Point data define.
Field | Type | Label | Description |
lng | float |
|
|
lat | float |
|
Define a polygon, mostly based on GeoJSON's Polygon define.
Excerpt from RFC-9476 section 'Polygon'
- A linear ring is a closed LineString with four or more positions.
- The first and last positions are equivalent, and they MUST contain
identical values; their representation SHOULD also be identical.
- A linear ring is the boundary of a surface or the boundary of a
hole in a surface.
- A linear ring MUST follow the right-hand rule with respect to the
area it bounds, i.e., exterior rings are counterclockwise, and
holes are clockwise.
Note: the [GJ2008] specification did not discuss linear ring winding
order. For backwards compatibility, parsers SHOULD NOT reject
Polygons that do not follow the right-hand rule.
Though a linear ring is not explicitly represented as a GeoJSON
geometry type, it leads to a canonical formulation of the Polygon
geometry type definition as follows:
- For type "Polygon", the "coordinates" member MUST be an array of
linear ring coordinate arrays.
- For Polygons with more than one of these rings, the first MUST be
the exterior ring, and any others MUST be interior rings. The
exterior ring bounds the surface, and the interior rings (if
present) bound holes within the surface.
[GJ2008]: https://geojson.org/geojson-spec
Field | Type | Label | Description |
points | Point | repeated | define the "exterior ring" |
holes | Polygon | repeated | define the "interior rings" as holes |
PreindexTimezone tile item.
The X/Y/Z are OSM style like map tile index values.
Field | Type | Label | Description |
name | string |
|
|
x | int32 |
|
|
y | int32 |
|
|
z | int32 |
|
PreindexTimezones is all preindex timezone's dumps.
Field | Type | Label | Description |
idxZoom | int32 | which zoom value the tiles generated |
|
aggZoom | int32 | which zoom value the tiles merge up with. |
|
keys | PreindexTimezone | repeated |
|
version | string |
|
Timezone is a timezone's all data.
Field | Type | Label | Description |
polygons | Polygon | repeated |
|
name | string |
|
Field | Type | Label | Description |
timezones | Timezone | repeated |
|
reduced | bool | Reduced data will toggle neighbor search as plan b |
|
version | string |
|
Name | Number | Description |
Unknown | 0 | |
Polyline | 1 | https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |