Utilisez la boîte de dialogue Condition de parcours pour définir les instructions SQL contrôlant le parcours du réseau. Une connaissance de SQL et du modèle de données est nécessaire.
Entrez l'instruction directement ou cliquez sur Générer pour créer une requête SQL type. Cliquez ensuite sur Assistant pour ouvrir l'assistant SQL.
Fonction de coût : instruction SQL qui renvoie un nombre (elle peut renvoyer la valeur NULL si le coût ne s'applique pas). Il s'agit alors de coûts nuls.
Condition d'arrêt : instruction SQL qui renvoie la valeur NULL si la condition ne s'applique pas. Dans ce cas, l'objet n'est pas un objet d'arrêt. Si la condition renvoie tout autre nombre, l'objet est un objet d'arrêt.
Requête squelette SQL |
Description |
Exemple : parcours du service avec condition d'arrêt |
case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select 1 from GA_ARMATURE where fid=ga_point.fid_attr and <CONDITION>) else null end from GA_POINT ga_point where fid=&fid) else null end |
Exemple : parcours hors service avec condition d'arrêt |
case /* <feature class> */ when &f_class_id=<id> then ( select 1 from <feature class> where fid=&fid and <CONDITION>) else null end |
<CONDITION> |
Espace réservé utilisé dans une condition d'arrêt. Remplacez cette valeur par l'attribut qui contient les informations lorsque vous souhaitez arrêter le parcours. Exemple : l'attribut OUVERT = OUI indique des armatures ouvertes. case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select 1 from GA_ARMATURE where fid=ga_point.fid_attr and not OPEN = 'yes') else null end from GA_POINT ga_point where fid=&fid) else null end |
Exemple : parcours du service avec fonction de coût |
case /* Point */ when &f_class_id=33 then ( select case /* Armature */ when f_class_id_attr=3 then ( select <VALUE> from GA_ARMATURE where fid=ga_point.fid_attr) else null end from GA_POINT ga_point where fid=&fid) else null end |
Exemple : parcours hors service avec condition d'arrêt |
case /* <feature class> */ when &f_class_id=137 then nvl(( select <VALUE> from <feature class> where fid=&fid ),0) else 0 end |
<VALUE> |
Espace réservé utilisé dans une fonction de coût. Remplacez cette valeur avec l'attribut de coût qui doit être réduit dans le parcours. Exemple : PIPE_LENTH |
select 1 |
Choix d'options fournies pour une condition d'arrêt afin d'obtenir une valeur de retour qui n'est pas NULL si les conditions s'appliquent. |