## Calculate a distance matrix between points `routing.matrix(RoutingMatrixParams**kwargs) -> MatrixResult` **post** `/api/v1/matrix` Calculate a distance matrix between points ### Parameters - `destinations: GeoJsonGeometryParam` Destination points (GeoJSON MultiPoint geometry) - `coordinates: Union[List[float], List[List[float]], List[List[List[float]]], List[List[List[List[float]]]]]` GeoJSON coordinates array (nesting depth varies by geometry type) - `List[float]` - `List[List[float]]` - `List[List[List[float]]]` - `List[List[List[List[float]]]]` - `type: Literal["Point", "LineString", "Polygon", 3 more]` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"` - `origins: GeoJsonGeometryParam` Origin points (GeoJSON MultiPoint geometry) - `mode: Optional[Literal["auto", "foot", "bicycle"]]` Travel mode - `"auto"` - `"foot"` - `"bicycle"` ### Returns - `class MatrixResult: …` - `distances: List[List[Optional[float]]]` Distance matrix (meters), origins x destinations - `durations: List[List[Optional[float]]]` Duration matrix (seconds), origins x destinations ### Example ```python import os from plaza import Plaza client = Plaza( api_key=os.environ.get("PLAZA_API_KEY"), # This is the default and can be omitted ) matrix_result = client.routing.matrix( destinations={ "coordinates": [0], "type": "Point", }, origins={ "coordinates": [0], "type": "Point", }, ) print(matrix_result.distances) ``` #### Response ```json { "distances": [ [ 0 ] ], "durations": [ [ 0 ] ] } ```