Skip to content
GuidesBlogPlaygroundDashboard

Calculate an isochrone from a point

routing().isochrone(RoutingIsochroneParamsparams, RequestOptionsrequestOptions = RequestOptions.none()) : RoutingIsochroneResponse
GET/api/v1/isochrone

Calculate an isochrone from a point

ParametersExpand Collapse
params: RoutingIsochroneParams
lat: Double

Latitude

lng: Double

Longitude

time: Double

Travel time in seconds (1-7200)

format: Optional<String>

Response format: json (default), geojson, csv, ndjson

mode: Optional<String>

Travel mode (auto, foot, bicycle)

outputFields: Optional<String>

Comma-separated property fields to include

outputGeometry: Optional<Boolean>

Include geometry (default true)

outputInclude: Optional<String>

Extra computed fields: bbox, center

outputPrecision: Optional<Long>

Coordinate decimal precision (1-15, default 7)

outputSimplify: Optional<Double>

Simplify geometry tolerance in meters

ReturnsExpand Collapse
class RoutingIsochroneResponse:

GeoJSON Feature or FeatureCollection representing isochrone polygons — areas reachable within the specified travel time(s). Single time value returns a Feature; comma-separated times return a FeatureCollection with one polygon per contour.

features: Optional<List<GeoJsonFeature>>

Array of isochrone polygon Features (multi-contour only)

geometry: GeoJsonGeometry

GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints.

coordinates: Coordinates

Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc.

One of the following:
List<Double>
List<List<Double>>
List<List<List<Double>>>
List<List<List<List<Double>>>>
type: Type

Geometry type

One of the following:
POINT("Point")
LINE_STRING("LineString")
POLYGON("Polygon")
MULTI_POINT("MultiPoint")
MULTI_LINE_STRING("MultiLineString")
MULTI_POLYGON("MultiPolygon")
properties: Properties

OSM tags flattened as key-value pairs, plus @type (node/way/relation) and @id (OSM ID) metadata fields. May include distance_m for proximity queries.

type: Type

Always Feature

id: Optional<String>

Compound identifier in type/osm_id format

geometry: Optional<GeoJsonGeometry>

GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints.

coordinates: Coordinates

Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc.

One of the following:
List<Double>
List<List<Double>>
List<List<List<Double>>>
List<List<List<List<Double>>>>
type: Type

Geometry type

One of the following:
POINT("Point")
LINE_STRING("LineString")
POLYGON("Polygon")
MULTI_POINT("MultiPoint")
MULTI_LINE_STRING("MultiLineString")
MULTI_POLYGON("MultiPolygon")
properties: Optional<Properties>

Isochrone metadata

areaM2: Optional<Double>

Area of the isochrone polygon in square meters (multi-contour features only)

maxCostS: Optional<Double>

Maximum actual travel cost in seconds to the isochrone boundary (single contour only)

mode: Optional<Mode>

Travel mode used for the isochrone calculation

One of the following:
AUTO("auto")
FOOT("foot")
BICYCLE("bicycle")
timeSeconds: Optional<Double>

Travel time budget in seconds

verticesReached: Optional<Long>

Number of road network vertices within the isochrone

type: Optional<Type>

Feature for single contour, FeatureCollection for multiple contours

One of the following:
FEATURE("Feature")
FEATURE_COLLECTION("FeatureCollection")

Calculate an isochrone from a point

package com.plazafyi.example

import com.plazafyi.client.PlazaClient
import com.plazafyi.client.okhttp.PlazaOkHttpClient
import com.plazafyi.models.routing.RoutingIsochroneParams
import com.plazafyi.models.routing.RoutingIsochroneResponse

fun main() {
    val client: PlazaClient = PlazaOkHttpClient.fromEnv()

    val params: RoutingIsochroneParams = RoutingIsochroneParams.builder()
        .lat(0.0)
        .lng(0.0)
        .time(0.0)
        .build()
    val response: RoutingIsochroneResponse = client.routing().isochrone(params)
}
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "geometry": {
    "coordinates": [
      2.3522,
      48.8566
    ],
    "type": "Point"
  },
  "properties": {
    "area_m2": 0,
    "max_cost_s": 0,
    "mode": "auto",
    "time_seconds": 0,
    "vertices_reached": 0
  },
  "type": "Feature"
}
Returns Examples
{
  "features": [
    {
      "geometry": {
        "coordinates": [
          2.3522,
          48.8566
        ],
        "type": "Point"
      },
      "properties": {
        "@id": "bar",
        "@type": "bar",
        "amenity": "bar",
        "cuisine": "bar",
        "name": "bar"
      },
      "type": "Feature",
      "id": "node/21154906"
    }
  ],
  "geometry": {
    "coordinates": [
      2.3522,
      48.8566
    ],
    "type": "Point"
  },
  "properties": {
    "area_m2": 0,
    "max_cost_s": 0,
    "mode": "auto",
    "time_seconds": 0,
    "vertices_reached": 0
  },
  "type": "Feature"
}