Formati di file CSV

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:

  1. Informazioni generali sulla formattazione dei file
  2. Dettagli di formattazione per tipi di campo specifici
  3. Utilizzo di dati esportati da InfoWorks WS Pro

Informazioni generali sulla formattazione dei file

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.

Delimitatore del tipo di dati

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à.

Delimitatore Deletes

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.

Nota:
  • Gli oggetti verranno eliminati a prescindere dal tipo di aggiornamento (Aggiorna e Aggiungi, Misto, Elimina) selezionato nella finestra di dialogo Importa/Aggiorna dati CSV.
  • I codici ID vengono sempre utilizzati a prescindere dal fatto che il campo "Codice ID" per l'aggiornamento nella finestra di dialogo Importa/Aggiorna dati CSV sia selezionato o meno.

Record di intestazione

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.

Record di dati

Il record di intestazione è seguito da zero o più record di dati.

Caratteri escape

In alcuni casi è necessario utilizzare caratteri escape per mantenere la struttura dei dati esportati.

Dettagli di formattazione per tipi di campo specifici

Campi di testo

I campi di testo devono essere racchiusi tra virgolette doppie se contengono virgole o altre virgolette doppie. In caso contrario, le virgolette sono facoltative.

Matrici di valori di un solo tipo

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).

Compressa

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.}

Non compressa

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

Matrici di valori contenenti più campi

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).

Compressa

Ogni array è definito in un singolo campo:

Esempio - Domanda nodi:

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 è:

Separatamente

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.

Esempio - Curva pompa

****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

Utilizzo di dati esportati da InfoWorks WS Pro

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.