mapbox / mapbox/vector-tile-spec

specify maximum buffer

Open
#82 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

3.0 Specification
Dominant language
No language data
Stars
1k
Forks
213
PR merge metrics
No merged PRs in 30d

Description

[This is like https://github.com/mapbox/vector-tile-spec/issues/59, but getting at the actual implementation need in mapbox-gl.]

To ensure that implementations can make reasonable assumptions about the size of integers needed to store coordinate values for vector tiles of a given extent, the specification should place limits on how much buffering is permissible for a given extent.

Proposed change: in [4.1](https://github.com/mapbox/vector-tile-spec/blob/master/2.1/README.md#41-layers) replace

> A layer MUST contain an extent that describes the width and height of the tile in integer coordinates. The geometries within the Vector Tile MAY extend past the bounds of the tile's area as defined by the extent. Geometries that extend past the tile's area as defined by extent are often used as a buffer for rendering features that overlap multiple adjacent tiles.

with

> A layer MUST contain an extent that describes the width and height of the tile in integer coordinates. As a buffer for rendering features that overlap multiple adjacent tiles, the coordinates of geometries within the Vector Tile MAY extend past the bounds of the tile's area as defined by the extent, subject to the following limitations:
> - A geometry MUST NOT have a coordinate value greater than `(extent * 2) - 1`
> - A geometry MUST NOT have a coordinate value less than `-extent`
>
> In other words, no more than one tile's worth of buffer is permitted.

cc @flippmoke @lucaswoj @springmeyer @ericfischer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with section 4.1 of the 2.1 README and review the related vector-tile-spec issue linked in the description. Check how the proposed coordinate limits fit the existing extent and buffering language. Done means the specification clearly states the agreed maximum buffer, including both coordinate bounds.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.