Dati SQL e array

Esistono molti esempi in InfoWorks WS Pro di un oggetto di rete contenente una array di dati. Il più ovvio è il campo dati Curve, in cui sono memorizzate le coppie intermedie (x,y) che definiscono le curve in un oggetto collegamento.

Questi array possono assumere due forme:

Array di valori

Se si esegue un confronto con un array di valori, in InfoWorks WS Pro verrà eseguito il confronto con tutti gli elementi nell'array. Il modo migliore per spiegarlo è un esempio.

In questo esempio:

X = 3

Y (array) = [1, 4, 5], che può anche essere scritto così: Y1 = 1, Y2 = 4, Y3 = 5

I risultati del confronto sono:

X > Y è true perché 3 > 1 ≡ X > Y1

X <= Y è true perché 3 <= 4 ≡ X <= Y2

Pertanto, in questo esempio X > Y, X >= Y, X < Y e X <=Y sono tutte True. Lo stesso vale per NOT(X > Y) e NOT(X > =Y).

I confronti con gli array di valori sono comunque utili, purché si capisca esattamente come funzionano. Ad esempio, se X e Y definiscono rispettivamente i valori di elevazione dei punti cliente e dei nodi, X<Y può essere utilizzato per trovare le elevazioni dei punti cliente che sono al di sotto del livello terreno.

Array di strutture

È possibile accedere ai campi di un array di strutture per nome e trattarli come qualsiasi altro campo di un oggetto. Il modo più semplice per eseguire questa operazione è utilizzare l'elenco della casella Campo SQL della finestra di dialogo SQL per scegliere l'elemento dati.

La sintassi per i campi in un array strutturato è

<array>.<field>
Nota: Fare attenzione a non confondere gli oggetti collegati con i dati degli array, poiché la sintassi è la stessa: <array>.<field> e <linked_object>.<field>