Skip to content

Exploration profil OpenRouteService

Rémy edited this page Jan 15, 2020 · 1 revision

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/

Création de nouveaux profils personnalisé (Sécurisé, court, rapide)

APIEnums.java

Localisation

openrouteservice/src/main/java/heigit/ors/api/requests/common/APIEnums.java

Description

Cette classe liste tous les enums présent dans le programme.

Code

  • Ligne 209 : Dans RoutePreference
    NON_PROFIL("nom_profil");

ORSWeightingFactory.java

Localisation

openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/ORSWeightingFactory.java

Description

Chaque route à un poids de sécurité et cette classe permet d'associer les routes possibles au profil sélectionné.

Code

  • Ligne 50 : Dans createWeighting
    else  if ("nom_profil".equalsIgnoreCase(strWeighting))
	{
	result = new NOM_PROFILWeighting(encoder, hintsMap);
	} 

NOM_PROFILWeighting.java

Localisation

openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/weighting/NOM_PROFILWeighting.java

Description

Cette classe permet de définir le poids minimum que le profil pourra emprunter.

Code

Suivre l'exemple de OptimizedPriorityWeighting.java qui défini le poids minimum pour le profil "RECOMMENDED"

FlagEncoderName.java

Localisation

openrouteservice-master/openrouteservice/src/main/java/heigit/ors/routing/graphhopper/extensions/flagencoders/FlagEncoderName.java

Description

fichier servant à encoder le nom des flags.

Code

public static final String BIKE_TEST_ORS = “bike-test-ors”;
public static final String GH_BIKE_TEST = “bike-test”;

Création d'un nouveau vélo

APIEnums.java

Localisation

openrouteservice-master/openrouteservice/src/main/java/heigit/ors/api/requests/common/APIEnums.java

Description

Classe décrivant les enums de l'API.

Code

  • ligne 236 : dans l’énumération Profile
CYLCING_TEST(“cycling-test”),

RoutingProfileType.java

Localisation

openrouteservice-master/openrouteservice/src/main/java/heigit/ors/routing/RoutingProfileType.java

Description

Classe décrivant chaque profil de vélo créé.

Code

  • 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:
    returncycling-test”;
case GH_BIKE_TEST
returngh-bike-test
  • Ligne 169 : dans la fonction getFromString
case cycling-test:
    returnCYCLING_TEST”;
case gh-bike-test
returnGH_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;