syntax = "proto2";

package vector_tile;

message Tile {

    enum GeomType {

        UNKNOWN = 0;
        POINT = 1;
        LINESTRING = 2;
        POLYGON = 3;
    }

    message Value {

        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;
    }

    message Feature {

        optional uint64 id = 1 [ default = 0 ];
        repeated uint32 tags = 2 [ packed = true ];
        optional GeomType type = 3 [ default = UNKNOWN ];
        repeated uint32 geometry = 4 [ packed = true ];
    }

    message Layer {

        required uint32 version = 15 [ default = 1 ];
        required string name = 1;
        repeated Feature features = 2;
        repeated string keys = 3;
        repeated Value values = 4;
        optional uint32 extent = 5 [ default = 4096 ];
        extensions 16 to max;
    }

    repeated Layer layers = 3;

    extensions 16 to 8191;
}
