# Frequency Q&A

## 1. Which algorithm is used to find the best routes ?

**Answer**: Digime Map has used Bidirectional Dijkstra algorithm to find the best routes

## 2. Why use Bidirectional Dijkstra algorithm ?

**Answer**: Bidirectional Dijkstra is extended from origin Dijkstra algorithm. Finding the best routes progress is speeded by querying from source following forward direction and destination following backward direction

## 3. Does Digime Map have Distance Matrix liking Google ?

**Answer**: Yes, we have. It is `table service` on my side

## 4. How many profiles does Digime Map have ?

**Answer**: Currently, we have four profiles. They are `car`, `motorcycle`, `bicycle` and `foot`. In the future, we will create new profiles for `trunk`, `semi-trailer`, ...

## 5. How does navigation separate each vehicle type ?

**Answer**: Each vehicle type is corresponding with each profile defined in navigation. In each profile, we will define static parameters to apply each vehicle type

### 6. What is Street Attributes?

**Answer**: Street Attributes provides road-regulation information for a GPS location, including the nearest road segment's street name, coordinates, speed limits, traffic signs and vehicle restrictions.

### 7. How does Street Attributes work?

**Answer**: The API receives a latitude and longitude, finds the nearest road segment, and returns its street name, ordered coordinates and attributes.

### 8. What information is returned for each traffic sign?

**Answer**: Each traffic sign may include its name, label, category, subcategory, heading and `rules_payload`. The V2 rules payload keeps lane, lane-change, turn/merge, vehicle, speed, physical-limit and time information together.

### 9. How can I know which vehicles are affected by a traffic sign?

**Answer**: Use `rules_payload[].vehicle_code`. Each item is tied to its `lane_index` and lists the vehicle types affected by that lane rule, such as `auto`, `moto`, `truck` or `bus_local`.

### 10. How are speed and time restrictions represented?

**Answer**: V2 returns lane-specific speed values in `rules_payload[].speed_limit_max` or `rules_payload[].speed_limit_min`. Time restrictions are in the same rule under `access_restrictions.valid_time`; an empty or omitted array means that lane rule applies at all times.

### 11. Does Street Attributes calculate routes?

**Answer**: No. Street Attributes provides road and traffic-sign information. It can be used together with the Routing API to apply road restrictions when calculating routes.