mirror of
https://github.com/tumic0/QtPBFImagePlugin.git
synced 2024-11-30 22:51:17 +01:00
79 lines
2.8 KiB
Protocol Buffer
79 lines
2.8 KiB
Protocol Buffer
|
package vector_tile;
|
||
|
|
||
|
option optimize_for = LITE_RUNTIME;
|
||
|
|
||
|
message Tile {
|
||
|
|
||
|
// GeomType is described in section 4.3.4 of the specification
|
||
|
enum GeomType {
|
||
|
UNKNOWN = 0;
|
||
|
POINT = 1;
|
||
|
LINESTRING = 2;
|
||
|
POLYGON = 3;
|
||
|
}
|
||
|
|
||
|
// Variant type encoding
|
||
|
// The use of values is described in section 4.1 of the specification
|
||
|
message Value {
|
||
|
// Exactly one of these values must be present in a valid message
|
||
|
optional string string_value = 1;
|
||
|
optional float float_value = 2;
|
||
|
optional double double_value = 3;
|
||
|
optional int64 int_value = 4;
|
||
|
optional uint64 uint_value = 5;
|
||
|
optional sint64 sint_value = 6;
|
||
|
optional bool bool_value = 7;
|
||
|
|
||
|
extensions 8 to max;
|
||
|
}
|
||
|
|
||
|
// Features are described in section 4.2 of the specification
|
||
|
message Feature {
|
||
|
optional uint64 id = 1 [ default = 0 ];
|
||
|
|
||
|
// Tags of this feature are encoded as repeated pairs of
|
||
|
// integers.
|
||
|
// A detailed description of tags is located in sections
|
||
|
// 4.2 and 4.4 of the specification
|
||
|
repeated uint32 tags = 2 [ packed = true ];
|
||
|
|
||
|
// The type of geometry stored in this feature.
|
||
|
optional GeomType type = 3 [ default = UNKNOWN ];
|
||
|
|
||
|
// Contains a stream of commands and parameters (vertices).
|
||
|
// A detailed description on geometry encoding is located in
|
||
|
// section 4.3 of the specification.
|
||
|
repeated uint32 geometry = 4 [ packed = true ];
|
||
|
}
|
||
|
|
||
|
// Layers are described in section 4.1 of the specification
|
||
|
message Layer {
|
||
|
// Any compliant implementation must first read the version
|
||
|
// number encoded in this message and choose the correct
|
||
|
// implementation for this version number before proceeding to
|
||
|
// decode other parts of this message.
|
||
|
required uint32 version = 15 [ default = 1 ];
|
||
|
|
||
|
required string name = 1;
|
||
|
|
||
|
// The actual features in this tile.
|
||
|
repeated Feature features = 2;
|
||
|
|
||
|
// Dictionary encoding for keys
|
||
|
repeated string keys = 3;
|
||
|
|
||
|
// Dictionary encoding for values
|
||
|
repeated Value values = 4;
|
||
|
|
||
|
// Although this is an "optional" field it is required by the specification.
|
||
|
// See https://github.com/mapbox/vector-tile-spec/issues/47
|
||
|
optional uint32 extent = 5 [ default = 4096 ];
|
||
|
|
||
|
extensions 16 to max;
|
||
|
}
|
||
|
|
||
|
repeated Layer layers = 3;
|
||
|
|
||
|
extensions 16 to 8191;
|
||
|
}
|