Informazioni sul formato dei file CSV (Comma Separated Variable) utilizzato per l'importazione, l'esportazione o l'aggiornamento di set di dati di reti e di controllo.
Sono incluse le seguenti sezioni:
Il modo in cui i dati vengono distribuiti tra i file è abbastanza flessibile:
Ogni file è costituito da una combinazione di:
Ogni file viene considerato come una singola entità. Le informazioni sul delimitatore del tipo di dati e sul record dell'intestazione non vengono trasferite da un file all'altro.
Il delimitatore del tipo di dati è costituito da quattro stelle, seguite dal nome della tabella di database contenente i dettagli di questo tipo di oggetto di rete.
I dettagli dei nomi della tabella del database sono disponibili nella sezione Campi dati rete.
Esempio:
**** wn_node
È possibile omettere il delimitatore intestazione e utilizzarlo come nome file per indicare il tipo di oggetto aggiungendo il nome della tabella meno l'iniziale wn_ al nome del file.
Esempio:
xxx_node.csv indica a InfoWorks WS Pro che il file inizia con i dati del nodo.
L'utilizzo del nome file è un modo più visibile per organizzare i dati se si dispone di un tipo di oggetto di rete per file. Questo metodo viene utilizzato quando si esegue l'esportazione da InfoWorks WS Pro utilizzando l'opzione Esporta ogni tabella in un file diverso.
È possibile utilizzare un nome file per definire il tipo di dati all'inizio di un file e delimitatori del tipo di dati per definire tipi diversi più in basso nel file. Tuttavia, è improbabile che questo approccio sia di grande utilità.
Il delimitatore ****deletes può essere utilizzato per definire un elenco di oggetti da eliminare durante l'aggiornamento di una rete. Il delimitatore è seguito da un record per ogni oggetto da eliminare contenente il nome della tabella e il codice ID dell'oggetto.
Esempio:
****deletes
ObjectTable, asset_id
wn_pipe, 28165073
wn_pipe, 28165094
wn_node, 10857075
wn_node, 10857076
In alternativa, aggiungere deletes al nome file per eliminare tutti gli oggetti in un file.
Il record di intestazione contiene un elenco di nomi di campo contenuti nella tabella di database per l'oggetto di rete.
Per InfoWorks WS Pro i campi chiave primaria sono i seguenti:
| Tabelle dei nodi (Nodo, Nodo di trasferimento, Nodo piezometrica, Idrante, Serbatoio, Pozzo) | La chiave primaria per i nodi è il campo node_id. Questo campo contiene una stringa lunga fino a 30 caratteri. L'ID deve essere univoco all'interno della rete. |
| Tabelle collegamenti (Condotta, Valvola, Valvola galleggiante, Misuratore, Valvola di non ritorno, Stazione di pompaggio) | I collegamenti richiedono tre campi: upstream_node_id, downstream_node_id e link_suffix. La combinazione dei tre campi deve essere univoca all'interno della rete. |
| Tabelle curve (curve pompa, curve PRD, curve valvola) | La chiave primaria per le curve pompa è il campo ID. Questo campo contiene una stringa lunga fino a 30 caratteri. L'ID deve essere univoco all'interno della rete. |
Le tabelle dei dati di controllo formano un modello simile alle tabelle di rete. È disponibile una tabella di controllo per ogni tabella di nodi e collegamenti nella rete. Non esiste una tabella di controllo per la tabella wn_pump poiché le pompe fanno effettivamente parte delle stazioni di pompaggio e le regole di controllo sono implementate a livello di stazione di pompaggio.
Tutti i record nei dati di controllo sono associati ad un nodo o ad un collegamento in una rete. Per questo motivo, i campi della chiave primaria corrispondono. Affinché la simulazione possa procedere, il nodo o la condotta associati descritti nella chiave primaria dei dati di controllo devono esistere nella rete.
Il record di intestazione è seguito da zero o più record di dati.
In alcuni casi è necessario utilizzare caratteri escape per mantenere la struttura dei dati esportati.
I campi di testo devono essere racchiusi tra virgolette doppie se contengono virgole o altre virgolette doppie. In caso contrario, le virgolette sono facoltative.
Le matrici di valori di un singolo tipo, ad esempio le coordinate, possono essere definite come compresse (come un campo singolo) o come non compresse (ogni valore è definito in un campo separato).
L'array è definito in un singolo campo costituito da una parentesi graffa di apertura, seguita da un elenco di valori separati da virgole e da una parentesi graffa di chiusura.
Esempio: array che definisce le curve in una condotta
{389956.,110970.,389997.,111017.,390146.,110934.,390661.,111197.}
{389956.,110970.,389923.,111048.,390117.,111259.,390309.,111765.}
L'array è definito con ogni valore in un campo separato con intestazioni di colonna per il primo di ciascun tipo di valore.
Esempio:
xs |
ys |
|
|
|
|
|
|
389956 |
110970 |
389997 |
111017 |
390146 |
110934 |
390661 |
111197 |
389956 |
110970 |
389923 |
111048 |
390117 |
111259 |
390309 |
111795 |
Questi array contengono elenchi di valori che descrivono parti più complesse di particolari oggetti, ad esempio:
Gli array possono essere definiti come compressi (come un singolo campo) o separatamente (in un blocco separato o in un file separato).
Ogni array è definito in un singolo campo:
In questo esempio viene definita la domanda in corrispondenza di un nodo. Ciascuno di due campi secondari definisce la domanda in una categoria di richiesta:
{{Tourism,,10.000000,0},{DomSumer,,13.300000,0}}
Ogni campo secondario contiene 4 valori, che devono essere visualizzati nell'ordine corretto. In questo caso l'ordine è:
Ogni array è definito in un blocco separato o in un file separato. Ogni valore dell'array è definito in un campo separato.
Il delimitatore del tipo di dati assume la forma di quattro stelle, seguite dal nome della struttura dei dati del database.
I dettagli dei nomi dei campi di database sono disponibili nella sezione Campi dati di rete.
****wn_pump_triplets |
|
|
|
id |
flow |
head |
power |
BPu-300 |
0 |
61.1 |
89.5 |
|
|
150 |
58 |
133 |
|
|
240 |
54.1 |
164.8 |
|
|
300 |
50 |
183.8 |
HP-200 |
0 |
48.5 |
46.7 |
|
|
100 |
46.2 |
70.5 |
|
|
200 |
40 |
98 |
|
|
300 |
22.3 |
117.5 |
Quando vengono esportati file CSV da InfoWorks WS Pro, è possibile esportare i nomi di campo descrittivi e le informazioni sulle unità. Questi vengono esportati come record aggiuntivi posizionati prima dei record di dati. Se si esportano file che includono questi record aggiuntivi e si tenta di importarli, i dati aggiuntivi verranno interpretati come record di dati normali in InfoWorks WS Pro. Quasi sicuramente compariranno messaggi di errore che indicano che le dimensioni o il tipo dei valori nel file sono errati.
Le opzioni di esportazione aggiuntive sono disponibili per comodità durante la visualizzazione dei dati InfoWorks WS Pro in altri pacchetti. È necessario assicurarsi che i dati da reimportare in InfoWorks WS Pro vengano esportati senza questi record aggiuntivi. Nella finestra di dialogo Seleziona opzioni di esportazione CSV le opzioni necessarie per la reimportazione vengono divise dalle opzioni aggiuntive e non devono essere presenti problemi nell'esportazione nel formato corretto. È inoltre possibile rimuovere i record aggiuntivi modificando il file in un altro pacchetto prima di reimportarlo.
Le sezioni eliminate della rete non vengono esportate come file CSV. Un oggetto Pota è molto complesso e contiene i dettagli di tutti i collegamenti e i nodi eliminati, nonché informazioni sulla connessione.