<commit_before># Profiles

GraphHopper lets you customize how different kinds of roads shall be prioritized during its route calculations. For
example when travelling long distances with a car you typically want to use the highway to minimize your travelling
time. However, if you are going by bike you certainly do not want to use the highway and rather take some shorter route,
use designated bike lanes and so on. GraphHopper provides built-in vehicle types that cover some standard use cases. They
can be used with a few different weightings like the 'fastest' weighting that chooses the fastest route (minimum
travelling time), or the 'shortest' weighting that chooses the shortest route (minimum travelling distance). The
selection of a vehicle and weighting is called 'profile', and we refer to these built-in choices as 'standard profiles'
here. For more flexibility there is a special kind of weighting, called 'custom' weighting that allows for fine-grained
control over GraphHopper's road prioritization. Such custom profiles still use one of the built-in vehicles, but you can
modify, e.g. the travelling speed for certain road types. Both types of profiles, the standard ones and custom profiles,
are explained in the following.

## Standard Profiles

Standard profiles require little configuration and all you need to choose is a unique name, a 'vehicle', and a
'weighting' type. All profiles are specified in the 'profiles' section of `config.yml` and there has to be at least one
profile. Here is an example:

```yaml
profiles:
  - name: car
    vehicle: car
    weighting: fastest
  - name: some_other_profile
    vehicle: bike
    weighting: shortest
```

The vehicle field must correspond to one of GraphHopper's built-in vehicle types:

- foot
- hike
- wheelchair
- bike
- racingbike
- bike2
- mtb
- car
- motorcycle

By choosing a vehicle GraphHopper determines the accessibility and a default travel speed for the different road types.
If you are interested in the low-level Java API note that the vehicles correspond to implementations of the
`FlagEncoder` interface.

The weighting determines the 'cost function' for the route calculation and must match one of the following built-in
weightings:
<commit_msg>No longer mention FlagEncoder in profiles.md<commit_after># Profiles

GraphHopper lets you customize how different kinds of roads shall be prioritized during its route calculations. For
example when travelling long distances with a car you typically want to use the highway to minimize your travelling
time. However, if you are going by bike you certainly do not want to use the highway and rather take some shorter route,
use designated bike lanes and so on. GraphHopper provides built-in vehicle types that cover some standard use cases. They
can be used with a few different weightings like the 'fastest' weighting that chooses the fastest route (minimum
travelling time), or the 'shortest' weighting that chooses the shortest route (minimum travelling distance). The
selection of a vehicle and weighting is called 'profile', and we refer to these built-in choices as 'standard profiles'
here. For more flexibility there is a special kind of weighting, called 'custom' weighting that allows for fine-grained
control over GraphHopper's road prioritization. Such custom profiles still use one of the built-in vehicles, but you can
modify, e.g. the travelling speed for certain road types. Both types of profiles, the standard ones and custom profiles,
are explained in the following.

## Standard Profiles

Standard profiles require little configuration and all you need to choose is a unique name, a 'vehicle', and a
'weighting' type. All profiles are specified in the 'profiles' section of `config.yml` and there has to be at least one
profile. Here is an example:

```yaml
profiles:
  - name: car
    vehicle: car
    weighting: fastest
  - name: some_other_profile
    vehicle: bike
    weighting: shortest
```

The vehicle field must correspond to one of GraphHopper's built-in vehicle types:

- foot
- hike
- wheelchair
- bike
- racingbike
- bike2
- mtb
- car
- motorcycle

By choosing a vehicle GraphHopper determines the accessibility and a default travel speed for the different road types.

The weighting determines the 'cost function' for the route calculation and must match one of the following built-in
weightings:

{'fraction_non_alphanumeric': 0.04287024300779459, 'fraction_numerical': 0.0004585052728106373, 'mean_word_length': 4.488050314465409, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1640081', 'n_tokens_mistral': 1082, 'n_tokens_neox': 1018, 'n_words': 645}