Closed pramsey closed 8 years ago
Unless I misunderstand the protobufs, changing id to required will break things: new programs won't be able to use data written by older programs.
This might be the right time for a breaking change. On the other hand, since a protocol for combining clipped features can't be described in protobufs anyway, we could leave it optional and write up proper guidance (SHOULD use id) elsewhere.
Requiring an ID is something that the vector tile creator could guarantee but nothing that the specification should prescribe. Also note that there is no guarantee that IDs have to be unique per tile or in a global dataset.
https://github.com/mapbox/vector-tile-spec/commit/cdb7b23ae9f3e4340d8bf947ab026c126232365f#diff-9ddbaee0ff4dd86379e37c568367ea05R63 was added in the new v2 pull request in order to clarify unique ids. If there is not any objections around this and the wording of it I will eventually close this ticket.
It feels weird that unique ID is optional, not mandatory, since features across tiles are going to have to be acted on together occasionally for visual coherence. I suppose a good spec finds a balance between optionality and mandatories, but a unique ID per feature seem not unreasonable, so I can know that various areas and boundaries stretching over several tiles are the same feature.