Skip to main content

Compute access and travel times for custom points

By default, a regional analysis in Conveyal calculates accessibility indicators for every point in a grid.

You can override this default behavior to prepare CSV files with accessibility and travel-time results for a limited number of specified origins at exact coordinates. You first need to upload a CSV file and process it as a freeform (non-grid) spatial dataset. Next, in the custom request settings JSON of the analysis panel, add the fields described below to trigger the preparation of CSV result files. Then, create a regional analysis with Origin points set to a freeform spatial dataset. Note that the cutoff value will limit results, so set it to 120 if you want full results for trips up to 2 hours. Once a regional analysis with freeform origins is complete, you will have options to download CSV files of the results. These features are still experimental; contact your support team for more information.


The default "recordAccessibility": true field in the custom analysis request JSON will result in a CSV file with a row for each origin point, destination opportunity layer, travel time percentile, and cutoff.

Example results

1Total Jobs530386105
1Total Jobs560885656
1Total Jobs2530338122
1Total Jobs2560867946
1Total Jobs5030287871
1Total Jobs5060840089
1Total Jobs7530234824
1Total Jobs7560809584
1Total Jobs9530183107
1Total Jobs9560773271
2Total Jobs530142600


Travel time matrix

Adding "recordTimes": true to the custom analysis request JSON will result in a CSV file with a row for each origin point, destination point, and travel time percentile. This setting requires freeform spatial datasets to be selected for both the Origin points and the Destination opportunity layer.

In travel time CSV results, a time of -1 indicates the destination is unreachable within the maximum cutoff specified when the regional analysis was created. The number of destinations is currently limited to 4 million, and the number of origin-destination pairs is limited to 16 million. If you need travel times only for linked pairs of origin-destination coordinates, and a many-to-many analysis would exceed these limits, you can use the oneToOne setting described below.

Once you have prepared the desired results, you may want to remove the custom recordTimes flag from the custom analysis request JSON to avoid confusion in future analyses.

Example results

CambridgeCambridge Family Health59
CambridgeChelsea High School544
CambridgeCambridge Family Health5012
CambridgeChelsea High School5056
CambridgeCambridge Family Health9512
CambridgeChelsea High School95-1
South BostonCambridge Family Health536
South BostonChelsea High School550
South BostonCambridge Family Health5041
South BostonChelsea High School5055
South BostonCambridge Family Health9546
South BostonChelsea High School95-1

Linked origin-destination pairs (oneToOne)

When both origins and destinations are freeform, you can save CSV results for specific matched pairs of origins and destinations, rather than all combinations of origins and destinations.

To enable this feature, add "oneToOne": true to the custom analysis request JSON; then, in the regional analysis creation box, ensure that the origin points and destination layer are from source files with corresponding rows (and therefore have equal numbers of points). This approach can greatly reduce the size of output files, restricting them to only a small set of OD pairs you care about. But it may not reduce compute time (which is primarily affected by the number of origins). If origin coordinates are repeated for different destinations, "oneToOne": false will likely be faster even if you do not need all combinations of origins and destinations.

API access

To prepare travel time surfaces, isochrones, or accessibility results for specific sets of origins using Python scripts, see the notebook in this repository. This notebook is provided as an example only, and Conveyal provides no guarantee of ongoing API compatibility for such external scripts.