Skip to main content
Guide

Visualize vehicle range

An isoline shows the area an EV can reach from a given point with the energy it has on board. It answers a simple question, how far can this vehicle go from here, and draws the answer as shapes you can place on a map.

Typical uses are a range map around a city, a “can I make it there without charging?” check, or a filter that only shows stations a vehicle can actually reach.

An isoline uses the real road network as its reference. The calculation finds the furthest points the vehicle can reach by road, and the outline connects those points to each other. The result is a filled area, not a line that follows roads, so the stretches between roads, such as forests or fields, can fall inside it. Rivers, mountains, one-way systems and gaps in the network still shape the outline, because they decide how far the roads let the vehicle get.

How it works

Like routes, isolines are calculated asynchronously, following the same async pattern used across the API. Creating and retrieving an isoline happen in separate steps.

  1. Create an isolineCall the createIsoline mutation with at least a vehicle_id and an origin. The mutation returns an isoline id right away, which you’ll use in the next step. Optional input such as battery level or weather is covered in customize your isoline.
  2. Open a subscriptionSubscribe to the isoline subscription using the id from the previous step. While the isoline is being calculated, the status is pending. Use it to drive a loading state in your UI.
  3. Render the resultWhen the status resolves to done or error, render the matching UI. A done isoline contains the polygons to draw on the map.
  4. Re-fetch on demandA finished isoline is stored with its complete details. To display it again later, use the isoline query with the same id instead of opening a new subscription.

Polygons

The result is a list of polygons. Together they describe the reachable area in steps, from close to the origin out to the furthest point the vehicle can drive.

Use polygon_count to choose how many polygons you get, up to a maximum of 20.

  • Fewer polygons give you a simple, coarse picture of the vehicle’s reach. They are quicker to draw and easier to read at a glance.
  • More polygons give you finer steps between the origin and the maximum range, which is useful for a gradient or a more detailed range map.

Each polygon has an index in its properties to tell them apart, and maximum_distance gives the distance from the origin to the furthest reachable point.

Create your first isoline

A vehicle_id and origin are enough to create an isoline. This example also sets the battery level, the number of polygons and the weather, so you can see how the main options fit together.

Create an isoline
graphql
mutation CreateIsoline {  createIsoline(    input: {      vehicle_id: "607823b2c246f9001b97b1a2"      origin: {        type: Feature        geometry: { type: Point, coordinates: [4.895168, 52.370216] }      }      state_of_charge: { value: 80, type: percentage }      polygon_count: 5      weather: { type: winter }    }  )}

The mutation returns the isoline id. Pass it to the isoline subscription to follow the calculation and receive the result:

Subscribe to the isoline
graphql
subscription Isoline {  isoline(id: "65f1a2b3c4d5e6f7a8b9c0d1") {    id    status    maximum_distance    polygons {      properties {        index      }      geometry {        type        coordinates      }    }  }}

In this request:

  • state_of_charge starts the vehicle at 80% battery. Without it, the isoline uses the vehicle’s full usable battery capacity.
  • polygon_count returns five polygons, from close to the origin to the maximum range.
  • weather uses the winter preset, which assumes cold conditions and typically gives a smaller reachable area than the default of real-time weather.

Customize your isoline

createIsoline accepts a range of optional input to fine-tune the calculation. More details on each field can be found in the API reference.

FeatureDescription
Battery levelSet the starting battery with state_of_charge, as a percentage, kilowatt hours, kilometers or miles. Defaults to the vehicle’s usable battery capacity.
Minimum final chargeKeep a reserve with final_state_of_charge. The isoline only includes points the vehicle can reach while staying above it. Defaults to 0.
Polygon countChoose the number of polygons, up to 20.
Round tripOnly include points the vehicle can also drive back to the origin from, using round_trip.
QualityTrade precision for speed with quality, set to high or low.
Ferry connectionsInclude ferries with ferry_connections, set to none or single. Ferries increase the calculation time and the number of polygons.
WeatherApply a summer, winter, or actual weather preset, or custom conditions. Defaults to real-time weather data.
SeasonAssume summer, winter, or current conditions, as a simpler alternative to weather.
Vehicle loadSet occupants, total_occupant_weight, and total_cargo_weight to account for the weight the vehicle carries.
Climate controlTurn on climate_control, and describe the heat_pump and cabin setup, to include heating and cooling in the consumption.

Was this content helpful?

Developers

Chargetrip ©

Status unknown

Manage cookies

Effective: 20th March, 2024 · Updated: 1 September, 2026

We use cookies to help improve your experience of developers.chargetrip.com. This cookie policy is part of the privacy policy, and covers the use of cookies between your device and our site. We also provide basic information on third-party services we may use, who may also use cookies as part of their service, though they are not covered by our policy.

If you don’t wish to accept any cookies from us, you should instruct your browser to refuse cookies from developers.chargetrip.com, with the understanding that we may be unable to provide you with some of your desired content and services.

A cookie is a small piece of data that a website stores on your device when you visit, typically containing information about the website itself, a unique identifier that allows the site to recognize your web browser when you return, additional data that serves the purpose of the cookie itself, and the lifespan of the cookie itself.

Cookies are used to enable certain features (e.g. logging in), to track site usage (e.g. analytics), to store your user settings (e.g. timezone, notification preferences), and to personalize your content (e.g. advertising, language).

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Essential cookies

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Performance cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Marketing / advertising cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Third party promise

We review the privacy policies of all our third-party providers before enlisting their services to ensure their practices align with ours. We will never knowingly include third-party services that compromise or violate the privacy of our users.

Cookie
google-cookie-consent
Description
Stores your cookie preferences, meaning which categories you have accepted or declined, so we can respect your choice on every visit and only load the analytics or marketing tools you have allowed.
Lifetime
2 years

How you can control or opt out of cookies

If you do not wish to accept cookies from us, you can instruct your browser to refuse cookies from our website. Most browsers are configured to accept cookies by default, but you can update these settings to either refuse cookies altogether or to notify you when a website is trying to set a cookie.

If you browse websites from multiple devices, you may need to update your settings on each individual device.

Although some cookies can be blocked with little impact on the experience of a website, blocking all cookies may mean you are unable to access certain features and content across the sites you visit.

We may update this Cookie Policy from time to time in order to reflect, for example, changes to the cookies we use or for other operational, legal, or regulatory reasons. Please re-visit this Cookie Policy to stay informed about our use of cookies and related technologies. The date at the top of this Cookie Policy indicates when it was last updated.