-
Notifications
You must be signed in to change notification settings - Fork 0
Exploration profil OpenRouteService
L'ajout de nouveaux profils personnalisés n'a pas été pris en compte de façon simple et assisté. L'ajout se fait en modifiant le code source d'OpenRouteService.
La documentation technique d'OpenRouteService pet être trouvée à ce lien : https://openrouteservice-py.readthedocs.io/en/latest/
openrouteservice/src/main/java/heigit/ors/api/requests/common/APIEnums.java
Cette classe liste tous les enums présent dans le programme.
- Ligne 209 : Dans RoutePreference
NON_PROFIL("nom_profil");
openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/ORSWeightingFactory.java
Chaque route à un poids de sécurité et cette classe permet d'associer les routes possibles au profil sélectionné.
- Ligne 50 : Dans createWeighting
else if ("nom_profil".equalsIgnoreCase(strWeighting))
{
result = new NOM_PROFILWeighting(encoder, hintsMap);
}
openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/weighting/NOM_PROFILWeighting.java
Cette classe permet de définir le poids minimum que le profil pourra emprunter.
Suivre l'exemple de OptimizedPriorityWeighting.java qui défini le poids minimum pour le profil "RECOMMENDED"
openrouteservice-master/openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/flagencoders/FlagEncoderName.java
fichier servant à encoder le nom des flags.
public static final String BIKE_TEST_ORS = “bike-test-ors”;
public static final String GH_BIKE_TEST = “bike-test”;
openrouteservice-master/openrouteservice/src/main/java/heigit/ors/api/requests/common/APIEnums.java
Classe décrivant les enums de l'API.
- ligne 236 : dans l’énumération Profile
CYLCING_TEST(“cycling-test”),
openrouteservice-master/openrouteservice/src/main/java/heigit/ors/routing/RoutingProfileType.java
Classe décrivant chaque profil de vélo créé.
- Ligne 31 : CYCLING STUFF
public static final int CYCLING_TEST = 18;
- Ligne 45 : dans la GH default FlagEncoders
public static final int GH_BIKE_TEST = 48;
- Ligne 93 : dans la fonction isCycling
|| routePref == GH_BIKE_TEST
- Ligne 112 : dans la fonction getName
case CYCLING_TEST:
return “cycling-test”;
case GH_BIKE_TEST
return “gh-bike-test”
- Ligne 169 : dans la fonction getFromString
case cycling-test:
return “CYCLING_TEST”;
case gh-bike-test
return “GH_BIKE_TEST”
- Ligne 226 : dans la fonction getEncoderName
case RoutingProfileType.CYCLING_TEST:
return FlagEncoderName.BIKE_TEST_ORS;
case RoutingProfileType.GH_BIKE_TEST:
return FlagEncoderName.GH_BIKE_TEST;
- Ligne 306 : dans la fonction getFromEncoder
case FlagEncoderName.BIKE_TEST_ORS:
return RoutingProfileType.CYCLING_TEST;
case FlagEncoderName.GH_BIKE_TEST:
return RoutingProfileType.GH_BIKE_TEST;