ForHosting KIT · Developer Utilities

Contour interval from map scale and terrain relief

Choosing a contour interval is a balance between legibility and useful terrain detail.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This calculator applies a transparent cartographic rule of thumb to the map scale denominator and the total elevation range of the mapped area. It returns a practical interval in metres and feet, shows whether scale or relief controlled the result, and estimates how many contour bands span the stated relief. The recommendation is a planning aid for general topographic mapping, not a substitute for a mapping authority's specification or a project-specific accuracy standard.

How scale constrains a readable contour interval

A map scale written as 1:50,000 means that one unit on the map represents 50,000 of the same units on the ground. As that denominator grows, the map covers more ground in the same physical space, so tightly spaced contours become harder to distinguish. This calculator turns that relationship into a scale-based candidate by dividing the denominator by 2,500 and interpreting the result in metres. Thus scale is treated as a practical limit on how much vertical detail the drawing can carry, not as a claim about survey accuracy. The calculation uses the denominator itself, so enter 50,000 rather than a ratio string. The scale candidate is only one side of the recommendation. A very flat area may not need such a large interval, while a mountain area may require a larger interval to avoid a dense mass of lines. The result therefore remains a rule of thumb. Publication size, line weight, labeling frequency, source elevation accuracy, and the intended reader can all justify a different final choice.

How terrain relief changes the recommendation

Relief is the difference between the highest and lowest elevations inside the area being mapped. The calculator divides that difference by 30, aiming for no more than roughly thirty vertical contour bands across the full elevation range. This is a useful screening rule: if a map of steep terrain used an interval chosen from scale alone, slopes could fill with contours that merge visually. The tool compares the relief-based candidate with the scale-based candidate and lets the larger value govern. It then reports which rule controlled the answer, making the recommendation easy to audit. Relief should describe the actual mapping extent, not an entire region when the sheet covers only one valley or neighborhood. Outliers matter as well: a single isolated summit can increase total relief even though most of the sheet is gentle. In that situation, test both the whole-sheet relief and the relief of the main area, then decide whether supplementary contours, spot heights, or a locally different treatment communicate the landform more honestly.

Why the raw value is rounded to a standard interval

Raw calculations often produce awkward values that are difficult to label and use, such as 23.4 metres. Topographic maps normally benefit from a simple repeatable sequence, so this calculator rounds upward to the next value in a 1, 2, 2.5, 5 progression at the appropriate power of ten. A raw requirement just above 20 metres therefore becomes 25 metres, while one just above 25 becomes 50 metres. Rounding upward preserves the readability constraint instead of quietly choosing a denser interval than the rule supports. The output also converts the chosen interval to feet and estimates the number of contour bands across the supplied relief. Treat the feet value as a conversion, not as a separately rounded imperial cartographic standard. Before production, compare the suggestion with the elevation data's vertical accuracy, the required index-contour pattern, and any national or client specification. You may select a nearby conventional interval when it better fits local practice, provided the resulting line density remains readable and the source data can support the implied precision.

Plan a new topographic sheet

Get a defensible starting interval before testing contour density and labels in the final layout.

Compare mapping scales

See how changing the planned scale affects a reasonable vertical interval for the same terrain.

Review a terrain visualization

Check whether an existing contour set is unusually dense or sparse for its scale and total relief.

What scale value should I enter?

Enter only the denominator. For a map at 1:25,000, enter 25000.

How should I measure relief?

Subtract the lowest elevation in the mapped extent from the highest and enter the difference in metres.

Is the suggested interval a mandatory standard?

No. It is a general rule of thumb. Governing specifications, source accuracy, line weight, and the purpose of the map take priority.

Why does the calculator round upward?

Rounding upward to a conventional interval keeps line density at or below the level implied by the scale and relief checks.

What does governing rule mean?

It identifies whether the scale-based candidate or the relief-based candidate was larger and therefore controlled the recommendation.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/geo/contour-interval

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/geo/contour-interval \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scale_denominator":50000,"relief_m":600}'
{
  "scale_denominator": 50000,
  "relief_m": 600
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.contour_interval",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →