Search Around

Cette page n’est plus maintenue depuis la version 2022 de Geoconcept Web. Pour accéder à la documentation à jour de ce web service, veuillez suivre ce lien.

Principe

Ce web service permet de classer par temps ou par distance une liste de ressources positionnées autour d’un point. Il prend en entrée un point de départ (target) et une liste de ressources avec des positions géographiques et des priorités 1 et 2 (optionnelles). Les ressources sont des enregistrements stockés dans une base de données à la discrétion du client en fonction de ses besoins. La sélection de ces ressources dans la base de données est à la charge du client. Les ressources sont renvoyées triées d’abord par l’attribut priority1, puis par l’attribut priority2, puis par temps ou par distance (suivant le critère choisi). Les priorités sont optionnelles. La valeur par défaut des priorités est 0. Il s’appuie sur le graphe paramétré dont le nom a été spécifié dans l’interface d’administration de Geoconcept Web.

Disponibilité

Ce web service est disponible en permanence avec Geoconcept Web et un graphe.

Changement de version

Les versions précédente du web service sont conservées dans Geoconcept Web pour assurer la compatibilité avec les développements antérieurs. Il est recommandé d’utiliser la version la plus récente.

Changements avec la v4

  • Ajout des paramètres "maxCost", "timeOut" et "computeOptions".
  • Ajout dans la snapMethod "nodes" de l’accrochage aux noeuds les plus proches.

Changements avec la v3

  • Ajout de la notion de noeud, plus rapide, pour s’accrocher aux noeuds du graphe plutôt qu’a des coordonnées géographiques. Ajout des éléments suivants : "locationNode", du paramètre "node" dans les ressources et de "nodes" dans les snapMethod.
  • Ajout des paramètres "graphName", "profileId", "profileName", "avoidArea" et "configName".

Changements avec la v2

  • Ajout du paramètre "snapMethod"
  • Suppression des paramètres "targetX" et "targetY" typés double, remplacé par "location" typé string
  • Suppression du paramètre "searchMethod", remplacé par "method"
  • Suppression du paramètre "rejectFlags", remplacé par "exclusions"
  • Suppression du paramètre "projection", remplacé par "srs"
  • Le paramètre "distance" est renommé "distanceMeters " et son typage passe de int à double
  • Le paramètre "time" est renommé "durationSeconds " et son typage passe de int à double

V4

Paramètres / propriétés

En entrée

paramètre description optionnel défaut

location

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

oui *

locationNode

Noeud de départ (ou d’arrivée). Attention : un noeud physique n’a pas le même ID dans un autre graphe.

oui *

method

Itinéraire le plus court (distance), le plus rapide (time) ou à vol d’oiseau (flying)

oui

time

reverse

si true, la cible est considérée comme arrivée

oui

false

srs

projection (code EPSG comme epsg:4326 ou wgs84)

oui

exclusions

Liste des règles de restrictions à utiliser, séparés par le caractère ; (Exemple : Toll, Tunnel, Bridge)

oui

resources

Liste des ressources, séparés par le caractère ";".
Chaque ressources à la forme "id,x,y,node,priority1,priority2"

oui

startDateTime

Date et heure de départ (format ISO8601 : heure locale) Exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris. Attention le caractère + peut être mal interprété par les navigateurs, dans ce cas, il faut le remplacer par %2B.

oui

snapMethod

Méthode d’accrochage au graphe
- standard : au tronçon connectable le plus proche
- extended : via les tronçons restreints (piétons…)
- nearest : uniquement au tronçon le plus proche
- unrestricted : sans règles de restriction
- nodes : Accrochage direct aux noeuds fournis par le paramètre locationNode ou, s’il n’est pas renseigné, au noeud les plus proche du paramètre location

oui

standard

graphName (déprécié)

Nom du graphe à utiliser
Ce paramètre est omis si le paramètre configName est utilisé.

oui

profileId (déprécié)

Identifiant du véhicule (enregistré dans les profils de véhicule)
Ce paramètre est omis si le paramètre configName est utilisé.

oui

profileName (déprécié)

Profil du véhicule (enregistré dans les profils de véhicule)
Ce paramètre est omis si le paramètre configName est utilisé.

oui

avoidArea

Zone de transit interdit au format WKT (POLYGON ou MULTIPOLYGON) dans la projection (paramètre srs) demandée
Exemple en wgs84 : POLYGON ((-1.556892 47.21689, -1.556892 47.216904, [...] -1.556892 47.21689)) - MULTIPOLYGON (((-1.556892 47.21689, -1.556892 47.216904, [...] -1.556892 47.21689)), ((-1.558639 47.218144, -1.558639 47.218193, [...] -1.558639 47.218144)))
Attention les géométries WKT doivent être fermées.

oui

configName

Nom de la configuration à utiliser (défini dans Geoconcept Web - Administration / Outils / Définitions des graphes)
Il remplace l’usage de graphName, profileId et profileName

oui

computeOptions

Liste des options pour le calcul, séparées par le caractère ;
- trafficPatterns : utilise les statistiques routières (il est nécessaire de renseigner le paramètre startDateTime et d’utiliser un graphe intégrant les informations de traffic patterns)
- speedPattern (M18) : utilise d’une speed pattern tel que définis dans le fichier SmartRoutingVehicles.xml qui se trouve dans le dossier `‘<GEOCONCEPT_WEB_HOME>’'\smartrouting\jee\smartrouting\conf\ . Usage : "speedPattern:slow-speed"
- length (M18) : longueur maximale autorisée en centimètre (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "length:950"
- width (M18) : largeur maximale autorisée en centimètre (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "width:255"
- height (M18) : hauteur maximale autorisée en centimètre (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "height:360"
- weight (M18) : poids maximum autorisé en kilogramme (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "weight:18000"
- axles (M18) : nombre maximum d’axe autorisé (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "axles:2"
- weightPerAxle (M18) : poids maximum autorisé par axe en kilogramme (il est nécessaire d’utiliser un graphe intégrant les attributs poids lourds). Usage : "weightPerAxle:9000"
- snapSpeed : vitesse d’accrochage au graphe en kilomètre par heure. Usage : "snapSpeed:10"

oui

maxCost

Coût maximum à ne pas dépasser dans le calcul
-1 : pas de coût maximum à prendre en compte
0 : prendre la valeur par default défini dans la configuration de SmartRouting Server
sinon : valeur en mètres si method=distance ou en secondes si method=time

oui

timeOut

Time out pour le calcul (en millisecondes)

oui

(*) Au moins l’un des deux paramètres location, et locationNode doit être renseigné.

(M18) Disponible à partir de la version M18 des graphes fournis par GEOCONCEPT SAS.

En sortie

Search Around (searchAroundWebResultsV4)

paramètre type min/max description

location

double

0/1

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

method

string

0/1

Méthode précisée en entrée (time, distance ou flying), time par défaut.

srs

string

0/1

Projection précisée en entrée.

exclusions

string

0/illimité

Liste des règles de restrictions précisées en entrée.

searchAroundResult

searchAroundWebResultV4 (ou array en JSON / JSON-P)

0/illimité

Liste des résultats pour chaque candidat.

Search Around élément (searchAroundWebResultV4)

paramètre type min/max description

id

string

0/1

Identifiant du candidat

distanceMeters

double

1/1

Distance en mètre

durationSeconds

double

1/1

Temps en seconde

SOAP

WSDL

http://<server>/<webapp>/api/ws/searchAroundService?wsdl

Requête

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:searchAroundV4>
         <!--Optional:-->
         <request>
            <location>
               <x>-1.553927</x>
               <y>47.218580</y>
            </location>
            <!--Optional:-->
            <locationNode></locationNode>
            <!--Optional:-->
            <method>time</method>
            <reverse></reverse>
            <!--Optional:-->
            <srs></srs>
            <!--Optional:-->
            <exclusions>
               <!--Zero or more repetitions:-->
               <exclusion></exclusion>
            </exclusions>
            <!--Optional:-->
            <resources>
               <!--Zero or more repetitions:-->
               <resource>
                  <x>-1.593927</x>
                  <y>47.188580</y>
                  <!--Optional:-->
                  <id>1</id>
                  <!--Optional:-->
                  <node></node>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
               <resource>
                  <x>-1.556927</x>
                  <y>47.219580</y>
                  <!--Optional:-->
                  <id>2</id>
                  <!--Optional:-->
                  <node></node>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
            </resources>
            <!--Optional:-->
            <startDateTime></startDateTime>
            <!--Optional:-->
            <snapMethod></snapMethod>
            <!--Optional:-->
            <graphName></graphName>
            <!--Optional:-->
            <profileId></profileId>
            <!--Optional:-->
            <profileName></profileName>
            <!--Optional:-->
            <avoidArea></avoidArea>
            <!--Optional:-->
            <configName></configName>
            <!--Optional:-->
            <computeOptions></computeOptions>
            <!--Optional:-->
            <maxCost></maxCost>
            <!--Optional:-->
            <timeOut></timeOut>
         </request>
      </sch:searchAroundV4>
   </soapenv:Body>
</soapenv:Envelope>

Réponse

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:searchAroundV4Response xmlns:ns2="http://geoconcept.com/gc/schemas">
         <SearchAroundResult>
            <status>OK</status>
            <location>-1.553927,47.21858</location>
            <method>time</method>
            <srs/>
            <exclusions/>
            <searchAroundResult>
               <id>2</id>
               <distanceMeters>424.0</distanceMeters>
               <durationSeconds>100.0</durationSeconds>
            </searchAroundResult>
            <searchAroundResult>
               <id>1</id>
               <distanceMeters>6682.0</distanceMeters>
               <durationSeconds>942.0</durationSeconds>
            </searchAroundResult>
         </SearchAroundResult>
      </ns2:searchAroundV4Response>
   </soap:Body>
</soap:Envelope>
REST

Requête

Requête JSON 

http://<server>/<webapp>/api/lbs/searchAround/v4.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Requête JSON-P 

http://<server>/<webapp>/api/lbs/searchAround/v4.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1&callback=myCallback

Requête XML 

http://<server>/<webapp>/api/lbs/searchAround/v4.xml?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Réponse

La réponse est toujours encodée en UTF-8.

Format JSON 

{
   "message": null,
   "status": "OK",
   "location": "-1.593927,47.21858",
   "locationNode": null,
   "method": "time",
   "srs": null,
   "exclusions": [],
   "searchAroundResult":    [
            {
         "id": "2",
         "distanceMeters": 4474,
         "durationSeconds": 796
      },
            {
         "id": "1",
         "distanceMeters": 10453,
         "durationSeconds": 1114
      }
   ]
}

Format JSON-P 

myCallback(
    {
       "message": null,
       "status": "OK",
       "location": "-1.593927,47.21858",
       "method": "time",
       "srs": null,
       "exclusions": [],
       "searchAroundResult":    [
                {
             "id": "2",
             "distanceMeters": 4474,
             "durationSeconds": 796
          },
                {
             "id": "1",
             "distanceMeters": 10453,
             "durationSeconds": 1114
          }
       ]
    }
);

Format XML 

<searchAroundResponseV4>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>4474.0</distanceMeters>
      <durationSeconds>796.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponseV4>

Retours possibles

Cas d’une recherche de proximité trouvée (searchAroundResponse/status est OK) 

<searchAroundResponseV4>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>4474.0</distanceMeters>
      <durationSeconds>796.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponseV4>

Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (searchAroundResponse/status est OK) 

<searchAroundResponseV4>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponseV4>

Cas d’une erreur d’accrochage au graphe (searchAroundResponse/status est OK) 

<searchAroundResponseV4>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponseV4>

Cas d’une absence du paramètre location (searchAroundResponse/status est ERROR) 

<searchAroundResponseV4>
   <message>Location must be not null</message>
   <status>ERROR</status>
</searchAroundResponseV4>

Cas ou la paramètre location est incomplet ou avec un mauvais séparateur (searchAroundResponse/status est ERROR) 

<searchAroundResponseV4>
   <message>Location point must have 2 components separated with a ,</message>
   <status>ERROR</status>
</searchAroundResponseV4>

Cas d’absence de ressource (searchAroundResponse/status est ERROR) 

<searchAroundResponseV4>
    <message>resources not defined</message>
    <status>ERROR</status>
</searchAroundResponseV4>

Cas d’une ressource mal formatée (searchAroundResponse/status est ERROR) 

<serviceResult>
   <message>ServiceException: not enough fields in candidate 1.-1.5939</message>
   <status>ERROR</status>
</serviceResult>

V3

Paramètres / propriétés

En entrée

paramètre description optionnel défaut

location

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

oui *

locationNode

Noeud de départ (ou d’arrivée). Attention : un noeud physique n’a pas le même ID dans un autre graphe.

oui *

method

Itinéraire le plus court (distance), le plus rapide (time) ou à vol d’oiseau (flying)

oui

time

reverse

si true, la cible est considérée comme arrivée

oui

false

srs

projection (code EPSG comme epsg:4326 ou wgs84)

oui

exclusions

Liste des règles de restrictions à utiliser, séparés par le caractère ; (Exemple : "Toll", "Tunnel", "Bridge")

oui

resources

Liste des ressources, séparés par le caractère ";".
Chaque ressources à la forme "id,x,y,node,priority1,priority2"

oui

startDateTime

Date et heure de départ (format ISO8601 : heure locale) Exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris. Attention le caractère + peut être mal interprété par les navigateurs, dans ce cas, il faut le remplacer par %2B.

oui

snapMethod

Méthode d’accrochage au graphe
- standard : au tronçon connectable le plus proche
- extended : via les tronçons restreints (piétons…)
- nearest : uniquement au tronçon le plus proche
- unrestricted : sans règles de restriction
- nodes : accrochage direct aux noeuds indiqués par locationNode et les paramètres node des ressources

oui

standard

graphName

Nom du graphe à utiliser
Ce paramètre est omis si le paramètre configName est utilisé.

oui

profileId

Identifiant du véhicule (enregistré dans les profils de véhicule)
Ce paramètre est omis si le paramètre configName est utilisé.

oui

profileName

Profil du véhicule (enregistré dans les profils de véhicule)
Ce paramètre est omis si le paramètre configName est utilisé.

oui

avoidArea

Zone de transit interdit au format WKT (POLYGON ou MULTIPOLYGON) dans la projection (paramètre srs) demandée
Exemple en wgs84 : POLYGON ((-1.556892 47.21689, -1.556892 47.216904, [...] -1.556892 47.21689)) - MULTIPOLYGON (((-1.556892 47.21689, -1.556892 47.216904, [...] -1.556892 47.21689)), ((-1.558639 47.218144, -1.558639 47.218193, [...] -1.558639 47.218144)))
Attention les géométries WKT doivent être fermées.

oui

configName

Nom de la configuration à utiliser (défini dans Geoconcept Web - Administration / Outils / Définitions des graphes)
Il remplace l’usage de graphName, profileId et profileName

oui

(*) Au moins l’un des deux paramètres location, et locationNode doit être renseigné.

En sortie

Search Around (searchAroundWebResultsV3)

paramètre type min/max description

location

double

0/1

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

method

string

0/1

Méthode précisée en entrée (time, distance ou flying), time par défaut.

srs

string

0/1

Projection précisée en entrée.

exclusions

string

0/illimité

Liste des règles de restrictions précisées en entrée.

searchAroundResult

searchAroundWebResultV3 (ou array en JSON / JSON-P)

0/illimité

Liste des résultats pour chaque candidat.

Search Around élément (searchAroundWebResultV3)

paramètre type min/max description

id

string

0/1

Identifiant du candidat

distanceMeters

double

1/1

Distance en mètre

durationSeconds

double

1/1

Temps en seconde

SOAP

WSDL

http://<server>/<webapp>/api/ws/searchAroundService?wsdl

Requête

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:searchAroundV3>
         <!--Optional:-->
         <request>
            <location>
               <x>-1.553927</x>
               <y>47.218580</y>
            </location>
            <!--Optional:-->
            <locationNode></locationNode>
            <!--Optional:-->
            <method>time</method>
            <reverse></reverse>
            <!--Optional:-->
            <srs></srs>
            <!--Optional:-->
            <exclusions>
               <!--Zero or more repetitions:-->
               <exclusion></exclusion>
            </exclusions>
            <!--Optional:-->
            <resources>
               <!--Zero or more repetitions:-->
               <resource>
                  <x>-1.593927</x>
                  <y>47.188580</y>
                  <!--Optional:-->
                  <id>1</id>
                  <!--Optional:-->
                  <node></node>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
               <resource>
                  <x>-1.556927</x>
                  <y>47.219580</y>
                  <!--Optional:-->
                  <id>2</id>
                  <!--Optional:-->
                  <node></node>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
            </resources>
            <!--Optional:-->
            <startDateTime></startDateTime>
            <!--Optional:-->
            <snapMethod></snapMethod>
            <!--Optional:-->
            <graphName></graphName>
            <!--Optional:-->
            <profileId></profileId>
            <!--Optional:-->
            <profileName></profileName>
            <!--Optional:-->
            <avoidArea></avoidArea>
            <!--Optional:-->
            <configName></configName>
         </request>
      </sch:searchAroundV3>
   </soapenv:Body>
</soapenv:Envelope>

Réponse

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:searchAroundV3Response xmlns:ns2="http://geoconcept.com/gc/schemas">
         <SearchAroundResult>
            <status>OK</status>
            <location>-1.553927,47.21858</location>
            <method>time</method>
            <srs/>
            <exclusions/>
            <searchAroundResult>
               <id>2</id>
               <distanceMeters>424.0</distanceMeters>
               <durationSeconds>147.0</durationSeconds>
            </searchAroundResult>
            <searchAroundResult>
               <id>1</id>
               <distanceMeters>6682.0</distanceMeters>
               <durationSeconds>1059.0</durationSeconds>
            </searchAroundResult>
         </SearchAroundResult>
      </ns2:searchAroundV3Response>
   </soap:Body>
</soap:Envelope>
REST

Requête

Requête JSON 

http://<server>/<webapp>/api/lbs/searchAround/v3.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Requête JSON-P 

http://<server>/<webapp>/api/lbs/searchAround/v3.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1&callback=myCallback

Requête XML 

http://<server>/<webapp>/api/lbs/searchAround/v3.xml?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Réponse

La réponse est toujours encodée en UTF-8.

Format JSON 

{
   "message": null,
   "status": "OK",
   "location": "-1.593927,47.21858",
   "locationNode": null,
   "method": "time",
   "srs": null,
   "exclusions": [],
   "searchAroundResult":    [
            {
         "id": "2",
         "distanceMeters": 4474,
         "durationSeconds": 796
      },
            {
         "id": "1",
         "distanceMeters": 10453,
         "durationSeconds": 1114
      }
   ]
}

Format JSON-P 

myCallback(
    {
       "message": null,
       "status": "OK",
       "location": "-1.593927,47.21858",
       "method": "time",
       "srs": null,
       "exclusions": [],
       "searchAroundResult":    [
                {
             "id": "2",
             "distanceMeters": 4474,
             "durationSeconds": 796
          },
                {
             "id": "1",
             "distanceMeters": 10453,
             "durationSeconds": 1114
          }
       ]
    }
);

Format XML 

<searchAroundResponseV3>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>4474.0</distanceMeters>
      <durationSeconds>796.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponseV3>

Retours possibles

Cas d’une recherche de proximité trouvée (searchAroundResponse/status est OK) 

<searchAroundResponseV3>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>4474.0</distanceMeters>
      <durationSeconds>796.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponseV3>

Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (searchAroundResponse/status est OK) 

<searchAroundResponseV3>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponseV3>

Cas d’une erreur d’accrochage au graphe (searchAroundResponse/status est OK) 

<searchAroundResponseV3>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponseV3>

Cas d’une absence du paramètre location (searchAroundResponse/status est ERROR) 

<searchAroundResponseV3>
   <message>Location must be not null</message>
   <status>ERROR</status>
</searchAroundResponseV3>

Cas ou la paramètre location est incomplet ou avec un mauvais séparateur (searchAroundResponse/status est ERROR) 

<searchAroundResponseV3>
   <message>Location point must have 2 components separated with a ,</message>
   <status>ERROR</status>
</searchAroundResponseV3>

Cas d’une absence de ressource (searchAroundResponse/status est OK) 

<searchAroundResponseV3>
   <status>OK</status>
</searchAroundResponseV3>

Cas d’une ressource mal formatée (searchAroundResponse/status est ERROR) 

<serviceResult>
   <message>ServiceException: not enough fields in candidate 1.-1.5939</message>
   <status>ERROR</status>
</serviceResult>

V2

Paramètres / propriétés

En entrée

paramètre description optionnel défaut

location

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

non

method

Itinéraire le plus court (distance), le plus rapide (time) ou à vol d’oiseau (flying)

oui

time

reverse

si true, la cible est considérée comme arrivée

oui

false

srs

projection (code EPSG comme epsg:4326 ou wgs84)

oui

exclusions

Liste des règles de restrictions à utiliser, séparés par le caractère ; (Exemple : "Toll", "Tunnel", "Bridge")

oui

resources

Liste des ressources, séparés par le caractère ";".
Chaque ressources à la forme "id,x,y,priority1,priority2"

oui

startDateTime

Date et heure de départ (format ISO8601 : heure locale) exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris

oui

snapMethod

Méthode d’accrochage au graphe
- standard : au tronçon connectable le plus proche
- extended : via les tronçons restreints (piétons…)
- nearest : uniquement au tronçon le plus proche
- unrestricted : sans règles de restriction

oui

standard

En sortie

Search Around (searchAroundWebResultsV2)

paramètre type min/max description

location

double

0/1

Coordonnées du point de départ (ou d’arrivée)
en SOAP, les points sont stockées dans les paramètres "x", et "y" eux même dans le paramètre "geographicPoint"
en REST, les points sont séparés par le caractère ,

method

string

0/1

Méthode précisée en entrée (time, distance ou flying), time par défaut.

srs

string

0/1

Projection précisée en entrée.

exclusions

string

0/illimité

Liste des règles de restrictions précisées en entrée.

searchAroundResult

searchAroundWebResultV2 (ou array en JSON / JSON-P)

0/illimité

Liste des résultats pour chaque candidat.

Search Around élément (searchAroundWebResultV2)

paramètre type min/max description

id

string

0/1

Identifiant du candidat

distanceMeters

double

1/1

Distance en mètre

durationSeconds

double

1/1

Temps en seconde

SOAP

WSDL

http://<server>/<webapp>/api/ws/searchAroundService?wsdl

Requête

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:searchAroundV2>
         <!--Optional:-->
         <request>
            <location>
               <x>-1.553927</x>
               <y>47.218580</y>
            </location>
            <!--Optional:-->
            <method>time</method>
            <reverse></reverse>
            <!--Optional:-->
            <srs></srs>
            <!--Optional:-->
            <exclusions>
               <!--Zero or more repetitions:-->
               <exclusion></exclusion>
            </exclusions>
            <!--Optional:-->
            <resources>
               <!--Zero or more repetitions:-->
               <resource>
                  <x>-1.593927</x>
                  <y>47.188580</y>
                  <!--Optional:-->
                  <id>1</id>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
               <resource>
               <x>-1.556927</x>
               <y>47.219580</y>
                  <!--Optional:-->
                  <id>2</id>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
            </resources>
            <!--Optional:-->
            <startDateTime></startDateTime>
            <!--Optional:-->
            <snapMethod></snapMethod>
         </request>
      </sch:searchAroundV2>
   </soapenv:Body>
</soapenv:Envelope>

Réponse

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:searchAroundV2Response xmlns:ns2="http://geoconcept.com/gc/schemas">
         <SearchAroundResult>
            <status>OK</status>
            <location>-1.553927,47.21858</location>
            <method>time</method>
            <srs/>
            <exclusions/>
            <searchAroundResult>
               <id>2</id>
               <distanceMeters>424.0</distanceMeters>
               <durationSeconds>147.0</durationSeconds>
            </searchAroundResult>
            <searchAroundResult>
               <id>1</id>
               <distanceMeters>6682.0</distanceMeters>
               <durationSeconds>1059.0</durationSeconds>
            </searchAroundResult>
         </SearchAroundResult>
      </ns2:searchAroundV2Response>
   </soap:Body>
</soap:Envelope>
REST

Requête

Requête JSON 

http://<server>/<webapp>/api/lbs/searchAround/v2.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Requête JSON-P 

http://<server>/<webapp>/api/lbs/searchAround/v2.json?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1&callback=myCallback

Requête XML 

http://<server>/<webapp>/api/lbs/searchAround/v2.xml?method=time&location=-1.593927,47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Réponse

La réponse est toujours encodée en UTF-8.

Format JSON 

{
   "message": null,
   "status": "OK",
   "location": "-1.593927,47.21858",
   "method": "time",
   "srs": null,
   "exclusions": [],
   "searchAroundResult":    [
            {
         "id": "2",
         "distanceMeters": 3376,
         "durationSeconds": 735
      },
            {
         "id": "1",
         "distanceMeters": 10453,
         "durationSeconds": 1114
      }
   ]
}

Format JSON-P 

myCallback(
    {
       "message": null,
       "status": "OK",
       "location": "-1.593927,47.21858",
       "method": "time",
       "srs": null,
       "exclusions": [],
       "searchAroundResult":    [
                {
             "id": "2",
             "distanceMeters": 3376,
             "durationSeconds": 735
          },
                {
             "id": "1",
             "distanceMeters": 10453,
             "durationSeconds": 1114
          }
       ]
    }
);

Format XML 

<searchAroundResponse>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>3376.0</distanceMeters>
      <durationSeconds>735.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponse>

Retours possibles

Cas d’une recherche de proximité trouvée (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distanceMeters>3376.0</distanceMeters>
      <durationSeconds>735.0</durationSeconds>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distanceMeters>10453.0</distanceMeters>
      <durationSeconds>1114.0</durationSeconds>
   </searchAroundResult>
</searchAroundResponse>

Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’une erreur d’accrochage au graphe (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <location>-1.593927,47.21858</location>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’une absence du paramètre location (searchAroundResponse/status est ERROR) 

<searchAroundResponse>
   <message>Location must be not null</message>
   <status>ERROR</status>
</searchAroundResponse>

Cas ou la paramètre location est incomplet ou avec un mauvais séparateur (searchAroundResponse/status est ERROR) 

<searchAroundResponse>
   <message>Location point must have 2 components separated with a ,</message>
   <status>ERROR</status>
</searchAroundResponse>

Cas d’une absence de ressource (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
</searchAroundResponse>

Cas d’une ressource mal formatée (searchAroundResponse/status est ERROR) 

<serviceResult>
   <message>ServiceException: not enough fields in candidate 1.-1.5939</message>
   <status>ERROR</status>
</serviceResult>

V1

Paramètres / propriétés

En entrée

paramètre description optionnel défaut

targetX

Coordonnées X ou longitude de la target

oui

targetY

Coordonnées Y ou latitude de la target

oui

searchMethod

Déprécié, remplacé par method

oui

time

method

Itinéraire le plus court (distance) ou le plus rapide (time)

oui

time

reverse

si true, la target est considéré comme arrivée

oui

false

projection

Déprécié, remplacé par srs

oui

srs

projection (code EPSG comme epsg:4326 ou wgs84)

oui

rejectFlags

Déprécié, remplacé par exclusions

oui

exclusions

Liste des règles de restrictions à utiliser, séparés par le caractère ; (Exemple : "Toll", "Tunnel", "Bridge")

oui

resources

Liste des ressources, séparés par le caractère ";".
Chaque ressources à la forme "id,x,y,priority1,priority2"

oui

En sortie

Search Around (searchAroundWebResults)

paramètre type min/max description

targetX

double

1/1

Coordonnées X ou longitude de la target

targetY

double

1/1

Coordonnées Y ou latitude de la target

method

string

0/1

Méthode précisée en entrée

projection

string

0/1

Déprécié, remplacé par srs

srs

string

0/1

Projection précisée en entrée

exclusions

string

0/illimité

Liste des règles de restrictions précisées en entrée

searchAroundResult

array

0/illimité

Liste des réponses

Search Around élément (searchAroundWebResult)

paramètre type min/max description

id

string

0/1

Identifiant du candidat

distance

int

1/1

Distance en mètre

time

int

1/1

Temps en seconde

SOAP

WSDL

http://<server>/<webapp>/api/ws/searchAroundService?wsdl

Requête

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:searchAround>
         <!--Optional:-->
         <request>
            <!--Optional:-->
            <target>
               <x>-1.553927</x>
               <y>47.218580</y>
            </target>
            <!--Optional:-->
            <searchMethod></searchMethod>
            <!--Optional:-->
            <method>time</method>
            <reverse></reverse>
            <!--Optional:-->
            <srs></srs>
            <!--Optional:-->
            <exclusions>
               <!--Zero or more repetitions:-->
               <exclusion></exclusion>
            </exclusions>
            <!--Optional:-->
            <rejectFlags>
               <!--Zero or more repetitions:-->
               <rejectFlag></rejectFlag>
            </rejectFlags>
            <!--Optional:-->
            <resources>
               <!--Zero or more repetitions:-->
               <resource>
               <x>-1.593927</x>
               <y>47.188580</y>
                  <!--Optional:-->
                  <id>1</id>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
               <resource>
               <x>-1.556927</x>
               <y>47.219580</y>
                  <!--Optional:-->
                  <id>2</id>
                  <!--Optional:-->
                  <priority1>1</priority1>
                  <!--Optional:-->
                  <priority2>2</priority2>
               </resource>
            </resources>
         </request>
      </sch:searchAround>
   </soapenv:Body>
</soapenv:Envelope>

Réponse

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:searchAroundResponse xmlns:ns2="http://geoconcept.com/gc/schemas">
         <SearchAroundResult>
            <status>OK</status>
            <targetX>-1.553927</targetX>
            <targetY>47.21858</targetY>
            <method>time</method>
            <projection/>
            <srs/>
            <exclusions/>
            <searchAroundResult>
               <id>2</id>
               <distance>485</distance>
               <time>87</time>
            </searchAroundResult>
            <searchAroundResult>
               <id>1</id>
               <distance>6788</distance>
               <time>526</time>
            </searchAroundResult>
         </SearchAroundResult>
      </ns2:searchAroundResponse>
   </soap:Body>
</soap:Envelope>
REST

Requête

Requête JSON 

http://<server>/<webapp>/api/lbs/searchAround.json?method=time&targetX=-1.593927&targetY=47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Requête JSON-P 

http://<server>/<webapp>/api/lbs/searchAround.json?method=time&targetX=-1.593927&targetY=47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1&callback=myCallback

Requête XML 

http://<server>/<webapp>/api/lbs/searchAround.xml?method=time&targetX=-1.593927&targetY=47.218580&resources=1,-1.593927,47.188580,1,2;2,-1.556927,47.219580,1,1

Réponse

La réponse est toujours encodée en UTF-8.

Format JSON 

{
   "message": null,
   "status": "OK",
   "targetX": -1.593927,
   "targetY": 47.21858,
   "method": "time",
   "projection": null,
   "srs": null,
   "exclusions": [],
   "searchAroundResult":    [
            {
         "id": "2",
         "distance": 3880,
         "time": 777
      },
            {
         "id": "1",
         "distance": 10448,
         "time": 1178
      }
   ]
}

Format JSON-P 

myCallback(
        {
           "message": null,
           "status": "OK",
           "targetX": -1.593927,
           "targetY": 47.21858,
           "method": "time",
           "projection": null,
           "srs": null,
           "exclusions": [],
           "searchAroundResult":    [
                                {
                         "id": "2",
                         "distance": 3880,
                         "time": 777
                  },
                                {
                         "id": "1",
                         "distance": 10448,
                         "time": 1178
                  }
           ]
        }
);

Format XML 

<searchAroundResponse>
   <status>OK</status>
   <targetX>-1.593927</targetX>
   <targetY>47.21858</targetY>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>3880</distance>
      <time>777</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>10448</distance>
      <time>1178</time>
   </searchAroundResult>
</searchAroundResponse>

Retours possibles

Cas d’une recherche de proximité trouvée (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <targetX>-1.593927</targetX>
   <targetY>47.21858</targetY>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>3880</distance>
      <time>777</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>10448</distance>
      <time>1178</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <targetX>-1.593927</targetX>
   <targetY>47.21858</targetY>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’une erreur d’accrochage au graphe (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <targetX>-51.593927</targetX>
   <targetY>47.21858</targetY>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’un oubli de spécification du point target (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <targetX>0.0</targetX>
   <targetY>0.0</targetY>
   <method>time</method>
   <searchAroundResult>
      <id>2</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
   <searchAroundResult>
      <id>1</id>
      <distance>-1</distance>
      <time>-1</time>
   </searchAroundResult>
</searchAroundResponse>

Cas d’une absence de ressource (searchAroundResponse/status est OK) 

<searchAroundResponse>
   <status>OK</status>
   <targetX>0.0</targetX>
   <targetY>0.0</targetY>
</searchAroundResponse>

Cas d’une ressource mal formatée (searchAroundResponse/status est ERROR) 

<serviceResult>
   <message>ServiceException: not enough fields in candidate 2,-1.556927,</message>
   <status>ERROR</status>
</serviceResult>

FAQ

1. Est-il possible de prioriser le temps de parcours ou la distance ?
2. Peut-on utiliser des alias à défaut des noms de fichiers .siti pour appeler une datasource ?
3. Comment utiliser les statistiques routières ?
4. Comment s’organise le classement des adresses retournées, par rapport à la distance, au temps, aux priorités ?
5. Quel format doit avoir la priorité et est-il possible de définir un ordre de classement ? (croissant/décroissant)
6. Si une seule adresse de la liste a une priorité à 0, la priorité est elle prise en compte pour une des adresses de la liste ?
7. Comment faire un calcul d’itinéraire sans péage?
8. Qu’est-ce que les Speed Patterns ? Comment les utiliser ?
9. Comment utiliser les attributs poids lourds ?

1.

Est-il possible de prioriser le temps de parcours ou la distance ?

Oui, en changeant la méthode distance, time ou flying = à vol d’oiseau (avec une vitesse de 30 km/h.

2.

Peut-on utiliser des alias à défaut des noms de fichiers .siti pour appeler une datasource ?

Oui, cf. détails dans la FAQ du Web Service du géocodage inverse.

3.

Comment utiliser les statistiques routières ?

Vérifier que le graphe contient bien ces statistiques et utiliser les deux paramètres suivants : computeOptions avec la valeur trafficPatterns et startDateTime pour préciser la date/heure de départ.

4.

Comment s’organise le classement des adresses retournées, par rapport à la distance, au temps, aux priorités ?

Le classement est fait par priorité 1 croissante, puis par priorité 2 croissante, puis par temps ou distance ou distance à vol d’oiseau croissant.

5.

Quel format doit avoir la priorité et est-il possible de définir un ordre de classement ? (croissant/décroissant)

La priorité est un entier, actuellement le résultat est toujours par ordre croissant. Pour obtenir l’ordre inverse, il faut mettre n - priorité dans l’attribut.

6.

Si une seule adresse de la liste a une priorité à 0, la priorité est elle prise en compte pour une des adresses de la liste ?

Actuellement, la priorité 0 n’est pas traitée de manière spéciale. Il faut donc mettre toutes les priorités à 0 si on veut ignorer le critère.

7.

Comment faire un calcul d’itinéraire sans péage?

Si la contrainte Toll a bien été incluse dans le graphe, placer une exclusion dans exclusions :

<sch:searchAroundV2>
 <!--Optional:-->
 <request>
    <location>
       <x>-1.553927</x>
       <y>47.218580</y>
    </location>
    <!--Optional:-->
    <method>time</method>
    <reverse></reverse>
    <!--Optional:-->
    <srs></srs>
    <!--Optional:-->
    <exclusions>
       <!--Zero or more repetitions:-->
       <exclusion>Toll</exclusion>
    </exclusions>
    <!--Optional:-->
    <resources>
       <!--Zero or more repetitions:-->
       <resource>
          <x>-1.593927</x>
          <y>47.188580</y>
          <!--Optional:-->
          <id>1</id>
          <!--Optional:-->
          <priority1>1</priority1>
          <!--Optional:-->
          <priority2>2</priority2>
       </resource>
    </resources>
    <!--Optional:-->
    <startDateTime></startDateTime>
 </request>
</sch:searchAroundV2>

8.

Qu’est-ce que les Speed Patterns ? Comment les utiliser ?

Afin de proposer des temps de trajets au plus près des conditions de circulation, les graphes fournis par GEOCONCEPT SAS intègrent, à partir de la version M18, pour les voitures et pour les camions 5 profils de vitesses (Speed Patterns) pour tenir compte des différents niveaux de congestion dans une journée :

  • standard normal-speed correspond à la vitesse d’une heure moyennement chargée (11h)
  • nuit fast-speed correspond à un trafic très fluide, observé le plus souvent la nuit (3h)
  • chargée slow-speed correspond aux heures de trafic denses (8h)
  • heure de pointe very-slow-speed correspond aux heures de trafic denses dans les grandes agglomérations, plus lent que le précédent (8h)
  • défaut defaut correspond aux vitesses moyennées sur une journée entière

Pour les utiliser il faut passer, lors de l’appel au web service, le paramètre computeOptions avec l’option speedPattern et préciser la valeur de la Speed Pattern demandée sans omettre un profil de véhicule
Exemple :

&computeOptions=speedPattern:fast-speed&profileId=1

9.

Comment utiliser les attributs poids lourds ?

Il faut que le graphe intègre les attributs de poids lourds (en standard dans les graphes fournis par GEOCONCEPT SAS à partir de la version M18) et soit calculer un itinéraire en utilisant un profil de véhicule utilisant les restrictions (cf. le catalogue de véhicules, éditable, définit dans le fichier SmartRoutingVehicles.xml, dans le dossier `‘<GEOCONCEPT_WEB_HOME>’'\smartrouting\jee\smartrouting\conf\ ), soit surcharger l’appel au web service en utilisant le paramètre computeOptions avec les options length, width, height, weight, axles et/ou weightPerAxle.
Exemple pour un trajet avec un véhicule de 4,5 mètres de hauteur :

&computeOptions=height:450