Skip to content
GuidesBlogPlaygroundDashboard

Calculate an isochrone from a point

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

Calculate an isochrone from a point

ParametersExpand Collapse
RoutingIsochroneParams params
double lat

Latitude

double lng

Longitude

double time

Travel time in seconds (1-7200)

Optional<String> format

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

Optional<String> mode

Travel mode (auto, foot, bicycle)

Optional<String> outputFields

Comma-separated property fields to include

Optional<Boolean> outputGeometry

Include geometry (default true)

Optional<String> outputInclude

Extra computed fields: bbox, center

Optional<Long> outputPrecision

Coordinate decimal precision (1-15, default 7)

Optional<Double> outputSimplify

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.

Optional<List<GeoJsonFeature>> features

Array of isochrone polygon Features (multi-contour only)

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

Optional<String> id

Compound identifier in type/osm_id format

Optional<GeoJsonGeometry> geometry

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")
Optional<Properties> properties

Isochrone metadata

Optional<Double> areaM2

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

Optional<Double> maxCostS

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

Optional<Mode> mode

Travel mode used for the isochrone calculation

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

Travel time budget in seconds

Optional<Long> verticesReached

Number of road network vertices within the isochrone

Optional<Type> 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;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        PlazaClient client = PlazaOkHttpClient.fromEnv();

        RoutingIsochroneParams params = RoutingIsochroneParams.builder()
            .lat(0.0)
            .lng(0.0)
            .time(0.0)
            .build();
        RoutingIsochroneResponse response = 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"
}