Im Dialogfeld Verfolgungsbedingung können Sie SQL-Anweisungen definieren, um die Netzverfolgung zu steuern. Dafür sind Kenntnisse über SQL und Datenmodelle erforderlich.
Geben Sie die Anweisung direkt ein, oder klicken Sie auf Erstellen, um ein Gerüst einer SQL-Abfrage zu erstellen. Klicken Sie dann auf Assistent, um den SQL-Assistenten zu öffnen.
Kostenfunktion: SQL-Anweisung, die eine Zahl zurückgibt. Die Anweisung kann NULL zurückgeben, wenn die Kosten nicht anwendbar sind. Solche Kosten werden auch als Null-Kosten bezeichnet.
Stopp-Bedingung: SQL-Anweisung, die NULL zurückgibt, wenn die Bedingung nicht angewendet werden kann. In diesem Fall ist das Objekt kein Stoppobjekt. Wenn die Bedingung eine andere Zahl zurückgibt, ist das Objekt ein Stoppobjekt.
Gerüst der SQL-Abfrage |
Beschreibung |
Beispiel: Versorgungsnetzwerk-Verfolgung mit Stopp-Bedingung |
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 |
Beispiel: Verfolgung von Nicht-Versorgungsnetzwerk mit Stopp-Bedingung |
case /* <feature class> */ when &f_class_id=<id> then ( select 1 from <feature class> where fid=&fid and <CONDITION>) else null end |
<CONDITION> |
Platzhalter in einer Stopp-Bedingung. Wenn Sie die Verfolgung beenden möchten, ersetzen Sie diesen Wert durch das Attribut, das die Informationen enthält. Beispiel: Das Attribut OPEN = YES weist auf offene Armaturen hin. 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 |
Beispiel: Verfolgung des Versorgungsnetzwerks mit Kostenfunktion |
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 |
Beispiel: Verfolgung von Nicht-Versorgungsnetzwerk mit Stopp-Bedingung |
case /* <feature class> */ when &f_class_id=137 then nvl(( select <VALUE> from <feature class> where fid=&fid ),0) else 0 end |
<VALUE> |
Platzhalter in einer Kostenfunktion. Ersetzen Sie diesen Wert durch das Kostenattribut, das bei der Verfolgung minimiert werden soll. Beispiel: PIPE_LENTH |
select 1 |
Hilfsauswahl für eine Stopp-Bedingung, um einen Rückgabewert zu erhalten, der nicht NULL ist, wenn die Bedingungen zutreffen. |