Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Integer values for attributes

Open
#76 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
data

Research direction

The issue names no files, tests, or entry points; start by tracing the variable-to-band mapping and current -b <var name> <band no> option handling. Review how output attributes are encoded and compare the two proposed precision approaches. Done criteria are not defined because the issue does not choose an approach or specify expected behavior.

Written by the indexing model from the issue text.

Description

Using integers for most output attributes might reduce vector tile file size in a number of ways. First off, an integer in and of itself is stored more efficiently than other, higher precision formats. Secondly, @yhahn indicated in conversation that if attributes are repeated across features within a vt, that value is effectively only stored once.

I see two ways to handle this:

  1. Always force integers. Downside of this is attributes with actual higher precisions (eg a field that ranges from -1 to 1, as do many pixel indices). Of course, this could be handled by the user scaling these values before encoding, but.
  2. Build into the variable --> band mapping. Right now, to specifically map a band, we pass an option like so:
    -b <var name> <band no>
    We could easily make this into:
    -b <var name> <band no> <precision>

cc @ian29 @MateoV

Dominant language
Python
Stars
91
Forks
18
PR merge metrics
No merged PRs in 30d

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.

More from mapbox/make-surface

All issues in mapbox/make-surface

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.