Skip to content

Clarify 'extent` description #135

Description

@artemp

Current comment (which doubles up as a developer documentation) on extent field is lacking clarity and description.
Consider current text evolution from v1.0.0 to v2.1

v1.0.0/1.0.1

// The bounding box in this tile spans from 0..4095 units
optional uint32 extent = 5 [ default = 4096 ];

v.2.0

// The bounding box in this tile spans from 0..4095 units
// 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 ];

v2.1

// 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 ];

Proposed clarification/add-on

// Positive number that denotes the size of a side of a square tile. 
// This in turn, defines unambiguously bounding box (extent) of a Vector Tile.
// Commonly used value is 4096, which is default but can be increased 
// to maintain higher coordinate precision. 
optional uint32 extent = 5 [ default = 4096 ];

Clarification of clarification :)

  • Positive number - number greater than zero.

  • It's optional by definition

  • ...size of side of a square.. - we consider all VTs to be regular quadrilateral which leads to =>

  • This in turn, defines unambiguously bounding box (extent) - explaining connection between size (what this really is) and extent ( used to unambiguously define).

  • and finally ..can be increased to maintain higher coordinate precision indicates usage e.g why it might have a different value in some context (via @springmeyer )

Maybe someone can help to make it more concise 🆘
/cc @springmeyer @kkaefer @flippmoke @ericfischer

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions