id|description|valid v1|valid v2
---|---|---|---
001|A vector tile without any layers, which essentially results in a completely empty buffer. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L75)|:white_check_mark:|:white_check_mark:
002|A single layer with a single point feature that has no id field. According to the specification, "A feature MAY contain an id field. If a feature has an id field, the value of the id SHOULD be unique among the features of the parent layer." - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#42-features)|:white_check_mark:|:white_check_mark:
003|A single point feature with a missing geometry type. From the spec, "A feature MUST contain a type field as described in the Geometry Types section." Proto2 decoders will interpret this missing tag as a default UNKNOWN. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L41) - recommended error handling `recoverable`|:x:|:x:
004|[feature:geometry] A single point feature without a geometry field. The spec says, "A feature MUST contain a geometry field." - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L46) - recommended error handling `recoverable`|:x:|:x:
005|[feature:tags] the tags array has only a single tag, where multiples of two are required. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L38) - recommended error handling `recoverable`|:x:|:x:
006|[feature:geometry] A single point feature with an invalid GeomType enum in the "type" field. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L8-L13) - recommended error handling `recoverable`|:x:|:x:
007|Layer version as string instead of int - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md) - recommended error handling `fatal`|:x:|:x:
008|[layer:extent] the layer extent field is encoded as a string instead of a uint32 - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L70) - recommended error handling `fatal`|:x:|:x:
009|[layer:extent] the layer extent field is missing from the protocol buffer. The spec says, "A layer MUST contain an extent that describes the width and height of the tile in integer coordinates." so this could be interpreted as invalid, but since proto2 parsers should assign the default, this can be considered valid. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L70)|:white_check_mark:|:white_check_mark:
010|A Layer value property is listed as "string" but encoded as std::int64_t - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md) - recommended error handling `fatal`|:x:|:x:
011|Has a value type not described in the spec. Should be easy for decoders to skip - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md) - recommended error handling `fatal`|:x:|:x:
012|The layer version is invalid and does not match any current versions of the specification - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L55) - recommended error handling `fatal`|:x:|:x:
013|Has a key property incorrectly encoded as a type std::uint32_t. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L63) - recommended error handling `fatal`|:x:|:x:
014|A layer without a name field. "A layer MUST contain a name field." - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L57) - recommended error handling `fatal`|:x:|:x:
015|Includes two layers with the same name value, which is invalid according to the specification. "A layer MUST contain a name field. A Vector Tile MUST NOT contain two or more layers whose name values are byte-for-byte identical." Decoders can decide to dedupe or fail. - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#41-layers) - recommended error handling `recoverable`|:x:|:x:
016|Single geometry with UNKNOWN type. This is considered "valid" in the lens of the specification. Encoders/decoders can choose to use or throw on this geometry type. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L41)|:white_check_mark:|:white_check_mark:
017|valid point geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4351-example-point)|:white_check_mark:|:white_check_mark:
018|valid linestring geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4353-example-linestring)|:white_check_mark:|:white_check_mark:
019|valid polygon geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4355-example-polygon)|:white_check_mark:|:white_check_mark:
020|valid multi-point geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4352-example-multi-point)|:white_check_mark:|:white_check_mark:
021|valid multi-linestring geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4354-example-multi-linestring)|:white_check_mark:|:white_check_mark:
022|valid multi-polygon geometry - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#4356-example-multi-polygon)|:white_check_mark:|:white_check_mark:
023|No Layer Name - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#41-layers) - recommended error handling `fatal`|:x:|:x:
024|Missing layer version property. Proto2 parsers will default to 1, assuming they are using a .proto file. Proto3 will default to zero (since this is an int), which is invalid. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#41-layers) - recommended error handling `fatal`|:x:|:x:
025|Layer has no features, encoders should not create this, but decoders should read this still - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#41-layers)|:white_check_mark:|:white_check_mark:
026|Adds an extra Value type called "my_value" which is invalid. In the future there might be backwards compatible Values and they should be ignored by decoders, but for version 2.x this should be a fatal error. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#41-layers) - recommended error handling `fatal`|:x:|:x:
027|Single Value with bool type and a single Point feature. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md)|:white_check_mark:|:white_check_mark:
030|Contains two geometry fields when there should only be one - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L46) - recommended error handling `recoverable`|:x:|:x:
032|Single Value with string type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L19)|:white_check_mark:|:white_check_mark:
033|Single Value with float type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L20)|:white_check_mark:|:white_check_mark:
034|Single Value with double type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L21)|:white_check_mark:|:white_check_mark:
035|Single Value with integer type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L22)|:white_check_mark:|:white_check_mark:
036|Single Value with uint64 type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L23)|:white_check_mark:|:white_check_mark:
037|Single Value with sint64 type and a single Point feature - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L24)|:white_check_mark:|:white_check_mark:
038|A fixure with all possible property value types - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L19-L25)|:white_check_mark:|:white_check_mark:
039|All tags with a user-defined custom default are actually encoded, even if the value of the tag is the default (this is how proto3 would handle this situation). Fields include "version", "id", "type - GeomType", and "extent". - [spec source](https://github.com/mapbox/mvt-fixtures/pull/48)|:white_check_mark:|:white_check_mark:
040|Feature has tags that point to non-existent Key in the layer. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L38) - recommended error handling `fatal`|:x:|:x:
041|Tile message has an unknown tag value, tags are encoded as floats instead of integers. Not that this is not detectable from the protobuf encoding alone. A decoder will interpret these floats as varints (which succeeds in this case) and only notice later that they point to non-existing indexes. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L38) - recommended error handling `fatal`|:x:|:x:
042|Feature has tags that point to non-existent Value in the layer. - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L38) - recommended error handling `fatal`|:x:|:x:
043|A layer with six points that all share the same key but each has a unique value (type string). - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/vector_tile.proto#L66)|:white_check_mark:|:white_check_mark:
044|Geometry field begins with a ClosePath command, which is invalid - [spec source](https://github.com/mapbox/mapbox-gl-js/issues/1019) - recommended error handling `fatal`|:x:|:x:
045|Invalid point geometry that includes a MoveTo command and only half of the xy coordinates - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `undefined`|:x:|:x:
046|Invalid linestring geometry that includes two points in the same position, which is not OGC valid - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `recoverable`|:x:|:x:
047|Invalid polygon with wrong ClosePath count 2 (must be count 1) - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `fatal`|:x:|:x:
048|Invalid polygon with wrong ClosePath count 0 (must be count 1) - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `fatal`|:x:|:x:
049|linestring with int32 overflow in x coordinate. This should not happen in real tiles since the coordinates should be between 0 and the extent. These are helpful for allowing decoders to figure out what to do in these cases. - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
050|linestring with int32 overflow in y coordinate. This should not happen in real tiles since the coordinates should be between 0 and the extent. These are helpful for allowing decoders to figure out what to do in these cases. - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
051|multipoint with a huge count value, useful for ensuring no over-allocation errors. Example error message "count too large" - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `fatal`|:x:|:x:
052|multipoint with not enough points - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `fatal`|:x:|:x:
053|clipped square (exact extent): a polygon that covers the entire tile to the exact boundary - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
054|clipped square (one unit buffer): a polygon that covers the entire tile plus a one unit buffer - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
055|clipped square (minus one unit buffer): a polygon that almost covers the entire tile minus one unit buffer - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
056|clipped square (large buffer): a polygon that covers the entire tile plus a 200 unit buffer - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
057|A point fixture with a gigantic MoveTo command. Can be used to test decoders for memory overallocation situations - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding)|:white_check_mark:|:white_check_mark:
058|A linestring fixture with a gigantic LineTo command that does not have the equal number of commands after. This can be used to test decoders for memory overallocation situations - [spec source](https://github.com/mapbox/vector-tile-spec/tree/master/2.1#43-geometry-encoding) - recommended error handling `fatal`|:x:|:x:
059|A layer named "water" with a single feature and unique properties (used as a layer compositing test with fixture 060) - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md)|:white_check_mark:|:white_check_mark:
060|A layer named "water" with a single feature and unique properties (used as a layer compositing test with fixture 059) - [spec source](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md)|:white_check_mark:|:white_check_mark:
