> For the complete documentation index, see [llms.txt](https://developers.felt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.felt.com/felt-style-language/style-definition-blocks/the-config-block.md).

# The config block

The config block contains configuration options for a given visualization.

These are the fields that each config block can contain:

| Field name             | Description                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aggregation`          | Optional, for [H3](/felt-style-language/types-of-visualizations/h3.md) visualizations. How points are aggregated within each cell: `"count"` (default), `"sum"`, `"mean"`, `"min"`, or `"max"`. All values except `"count"` also require `numericAttribute`.                                                                                                     |
| `band`                 | Optional. Used in raster numeric visualizations. The raster band (1-indexed) to read data from — a number, or an array of band numbers for multiband styling.                                                                                                                                                                                                    |
| `baseBinLevel`         | Used in [H3](/felt-style-language/types-of-visualizations/h3.md) visualizations. The [H3 cell resolution](https://h3geo.org/docs/core-library/restable/) (0–15). Country-scale ≈ 3–4, city-scale ≈ 6–7. Sets the cell size when `binMode` is `"fixed"`; in the zoom-adaptive modes it serves as the reference resolution that `steps` values are scaled against. |
| `binMode`              | Used in [H3](/felt-style-language/types-of-visualizations/h3.md) visualizations. `"fixed"` (default; uses `baseBinLevel` at all zooms) or the zoom-adaptive modes `"low"`, `"medium"`/`"auto"`, and `"high"` — low means larger hexagons, high means smaller ones.                                                                                               |
| `categoricalAttribute` | Mandatory for vector categorical visualizations. The attribute that contains the categorical values that will be used. (Raster categorical layers classify raw pixel values instead and omit this field.)                                                                                                                                                        |
| `categories`           | Mandatory for a categorical visualization. Either an explicit array of category values, or a shortcut: `{"type": "top", "count": N}` for the N most common values, `{"type": "bottom", "count": N}` for the N least common, or `{"type": "all"}` (raster) for every unique pixel value.                                                                          |
| `labelAttribute`       | Optional. Defines which dataset attribute or attributes to use for labeling. If multiple values are provided, the first available one will be used.                                                                                                                                                                                                              |
| `method`               | Optional. Used in multiband raster numeric visualizations. Maps a spectral index (NDVI/NDMI/NDWI) to its band assignments. See [Raster visualizations](/felt-style-language/types-of-visualizations/raster.md).                                                                                                                                                  |
| `noData`               | Optional. Used in raster visualizations. A value or array of values that won’t be shown (e.g. `[-9999]` for voids, `[0]` for no-data).                                                                                                                                                                                                                           |
| `numericAttribute`     | Mandatory for a numeric visualization. The attribute that contains the numeric values used.                                                                                                                                                                                                                                                                      |
| `otherOrder`           | Optional. Used in categorical visualizations. It can be set to either "below" or "above" to make features that do not match any of the defined categories render below or above the other ones. The default position is "below".                                                                                                                                 |
| `outOfRangeValues`     | Optional. Used in raster numeric visualizations. `"color"` clamps out-of-range pixels to the nearest class color; `"hide"` makes them transparent.                                                                                                                                                                                                               |
| `rasterResampling`     | Optional. Used in raster numeric (and tinted hillshade) visualizations — not valid for categorical rasters, which always resample nearest. `"nearest"` preserves exact pixel values; `"linear"` smoothly interpolates (use for continuous imagery/elevation). Set it explicitly rather than relying on a default.                                                |
| `showOther`            | Optional. Used in categorical visualizations. If set to true it shows all features that do not match any defined category and adds an extra entry as the last item in the legend.                                                                                                                                                                                |
| `steps`                | Used by numeric, H3, and tinted-hillshade visualizations. Either an explicit array of break points (at least two values), or a [classification](/felt-style-language/classification-methods.md) shortcut such as `{"type": "jenks", "count": 5}` or `{"type": "continuous"}`.                                                                                    |

## Examples

`config` is always an object. The examples below show the config block in isolation.

{% code title="Categorical config — explicit categories" %}

```json
"config": {
  "labelAttribute": ["Wikipedia", "faa"],
  "categoricalAttribute": "faa",
  "categories": ["faa-code-1", "faa-code-2", "faa-code-3"],
  "showOther": true,
  "otherOrder": "above"
}
```

{% endcode %}

{% code title="Categorical config — top-N shortcut" %}

```json
"config": {
  "categoricalAttribute": "surface",
  "categories": {"type": "top", "count": 5},
  "showOther": true
}
```

{% endcode %}

{% code title="Vector numeric config — automatic classification" %}

```json
"config": {
  "numericAttribute": "percentage",
  "steps": {"type": "jenks", "count": 5}
}
```

{% endcode %}

{% code title="Raster numeric config — single band" %}

```json
"config": {
  "band": 1,
  "steps": {"type": "continuous"},
  "noData": [-9999],
  "rasterResampling": "nearest"
}
```

{% endcode %}

{% code title="H3 config — aggregate points into hexes" %}

```json
"config": {
  "aggregation": "sum",
  "numericAttribute": "capacity_mw",
  "baseBinLevel": 4,
  "binMode": "medium",
  "steps": {"type": "quantiles", "count": 5}
}
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.felt.com/felt-style-language/style-definition-blocks/the-config-block.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
