> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wherobots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ST_Isochrone

<Note>
  **`ST_Isochrone` and `ST_Isochrones` functions are limited to Paid Organizations.**<br />

  Only Professional and Enterprise Edition Organizations have access to `ST_Isochrone` and `ST_Isochrones`.<br />

  For more information on Paid Organizations, see [Wherobots Pricing](https://wherobots.com/pricing).<br />

  If you have already decided on using a Paid Organization, see [Create a new Organization](/get-started/wherobots-cloud/create-account/#create-a-new-organization)
  or [Upgrade Organization](/get-started/upgrade-organization/).
</Note>

Returns a Multipolygon or Polygon representing the isochrone of the input geometry for the provided `time_limit` (in minutes).

An isochrone is a polygon that represents the area that can be reached within a given time from the input geometry.

## Signatures

```sql theme={"system"}
ST_Isochrone(geometry: Geometry, time_limit: Double, mobility_type: String, inbound: Boolean)
```

## Parameters

<ParamField body="geometry" type="Geometry" required>
  The input geometry.
</ParamField>

<ParamField body="time_limit" type="Double" required>
  The time\_limit value.
</ParamField>

<ParamField body="mobility_type" type="String" required>
  The mobility\_type value.
</ParamField>

<ParamField body="inbound" type="Boolean" required>
  The inbound value.
</ParamField>

## Return type

<ResponseField type="Geometry">
  A Polygon or MultiPolygon representing the isochrone area reachable within the given time limit.
</ResponseField>

## Examples

```sql theme={"system"}
ST_Isochrone(geometry, 1, 'car', false)
```

* `geometry`: The input geometry for the isochrone calculation. If the input is not a point, the centroid of the geometry will be used.
* `time_limit`: Specifies the maximum travel time, in minutes, for the generated isochrone.
* `mobility_type`: Specifies which method of travel is used in the calculation.

<Note>
  "Currently, `car` is the only supported `mobility_type`."
  Currently, `ST_Isochrone` and `ST_Isochrones` only support generating isochrones for car travel.
</Note>

* `inbound`: Determines how the isochrone is calculated:
  * If `true`, the input geometry represents a destination.
  * If `false`, the input geometry represents an origin.

```sql theme={"system"}
MULTIPOLYGON (((-122.02094635 47.54456145, -122.020948 47.544483799999995, -122.0209437 47.544415900000004, -122.0209447 47.54436885, -122.02095019999999 47.54413635, -122.02110644999999 47.543862649999994, -122.0210717 47.54333215, -122.02054085 47.54287205, -122.02038295 47.54300415, -122.0202897 47.54300395, -122.0202336 47.54300375, -122.0199928 47.54315525, -122.01999190000001 47.54320165, -122.0198403 47.543302600000004, -122.01972169999999 47.54320115, -122.01963305000001 47.543096750000004, -122.01963395 47.54305035, -122.01963645000001 47.5429188, -122.01923500000001 47.5427546, -122.0189525 47.5428578, -122.01888005 47.5433023, -122.018879 47.5433487, -122.0188754 47.54357215, -122.01866415 47.5435717, -122.01852275 47.543848350000005, -122.0182725 47.54439405, -122.0183107 47.54462595, -122.01879455 47.54451245, -122.01885105 47.54451265, -122.01893104999999 47.544512850000004, -122.01917355 47.544513550000005, -122.01942650000001 47.544553449999995, -122.0198258 47.544629099999995, -122.01982415 47.54470675, -122.01999945 47.54509165, -122.02019945 47.54502375, -122.02094635 47.54456145)))
```

<Note>
  **Best Practices for Wherobots Travel Isochrones**<br />

  * **Multiple Times from Same Origin? Use `ST_Isochrones`** For calculating isochrones for
    several time limits (e.g., 10, 20, 30 mins) from the *same starting point(s)*,
    use `ST_Isochrones(geometry, array(10, 20, 30), ...)` for significantly better performance.
  * **Avoid Repeated `ST_Isochrone` Calls for the same point** Don't call `ST_Isochrone` multiple
    times for the same point with different times; this is very inefficient.
  * **Performance Varies** Runtimes depend on road network density and origin point clustering. Dense/complex areas take longer.
  * **Choose Function**
    * `ST_Isochrone`: Best for a **single** time limit per origin.
    * `ST_Isochrones`: Best for **multiple** time limits per origin.

  <Tabs>
    <Tab title="Use this pattern">
      ```sql theme={"system"}
      -- Recommended: Efficiently generates multiple isochrones
      SELECT
      ST_Isochrones(geometry, array(10, 20, 30), 'car', false) AS multi_isos
      FROM your_table;
      ```
    </Tab>

    <Tab title="Avoid this pattern">
      ```sql theme={"system"}
      -- Inefficient: Leads to repeated computations
      SELECT
      ST_Isochrone(geometry, 10, 'car', false) AS iso_10min,
      ST_Isochrone(geometry, 20, 'car', false) AS iso_20min,
      ST_Isochrone(geometry, 30, 'car', false) AS iso_30min
      FROM your_table;
      ```
    </Tab>
  </Tabs>
</Note>
