Esempio SQL: condotte critiche

In questo esempio viene illustrato come utilizzare le informazioni della rete combinate con i dati dei layer GIS per identificare le condotte critiche nella rete. Una serie di istruzioni SQL consente di affinare una selezione fino a identificare le condotte che soddisfano tutti i criteri. Si utilizza quindi SQL per impostare i valori nelle condotte selezionate.

La figura 1 seguente mostra i dati GIS e di rete:

In questo esempio vengono ricercate condotte danneggiate di grandi dimensioni in un terreno difficile. In particolare, verranno selezionate tutte le condotte vicine ad un ospedale, poiché un guasto in una condotta di questo tipo potrebbe essere un problema grave.

Nella Figura 1 viene mostrata l'area di interesse.

Le varie strade e gli edifici di interesse sono descritti nelle fasi successive.

Passo Descrizione del passo Query Immagine di esempio

A

Il primo oggetto SQL consente di selezionare una serie di condotte in base ai seguenti criteri:

  • il campo Larghezza condotta è maggiore o uguale a 300. In questo caso le unità di misura sono i millimetri.
  • il materiale della condotta è CO (calcestruzzo)
  • la condotta si trova a meno di due metri da un oggetto in un layer GIS definito come tipo "Strada B". In questo esempio, una Strada B è una strada secondaria, mostrata nella Figura 1 come linee rosso scuro.
    • gislayer è il layer specificato nella casella Layer GIS.
    • STRUCTURE è il campo in gislayer. Questo potrebbe essere stato definito anche in Campo.
    • Il campo Tipo di ricerca specifica che si stanno cercando condotte entro una distanza specifica. Altre opzioni consentono di cercare gli oggetti che attraversano, contengono o sono contenuti dall'oggetto GIS.
  • la condotta ha un valore nel campo numero utente 7 pari o superiore a 2, dove questo valore rappresenta il punteggio di condizione della condotta importata da un sistema di gestione delle risorse. In questo caso, il punteggio di condizione utilizza una scala da 1 a 5, con un numero più grande che rappresenta le condizioni peggiori della condotta. Una condotta che ha ceduto ha un punteggio di 5. Pertanto, vengono selezionate le condotte che presentano problemi noti.

Dopo aver applicato un oggetto SQL alla rete, vengono selezionati tutti gli oggetti di rete che soddisfano i criteri delle istruzioni SQL.

SQL query context:
  • Tipo di oggetto: condotta
  • Tipo di ricerca [spaziale]: Distanza
  • Tipo di layer [spaziale]: Layer GIS
  • Layer [spaziale]: Infrastruttura [SHP]
  • Distanza [spaziale]: 2.0


width >= 300 AND material = "CO" AND gislayer.STRUCTURE = "B Road" AND user_number_7 >= 2

B

Il secondo oggetto SQL consente di affinare la selezione effettuata dal primo oggetto SQL. Notare che l'opzione Applica filtro alla selezione corrente è selezionata. Questo limita gli oggetti di rete a cui viene applicato l'SQL a quelli già selezionati. Si tratta di una funzione potente.

  • Questa query consente di testare gli oggetti selezionati rispetto ai dati di un layer GIS diverso. Questo layer rappresenta i tipi di suolo, mostrati nella Figura 1 come aree con tonalità di grigio differenti.
  • il campo WRAPCLASS contiene le informazioni sul tipo di suolo. WRAP è l'acronimo di Winter Rain Acceptance Potential.
  • in questo caso si è alla ricerca di tipi di suolo difficili, come quelli rocciosi o potenzialmente impregnati d'acqua, dove potrebbe essere necessaria un'attrezzatura speciale per scavare fino alla condotta.
SQL query context:
  • Tipo di oggetto: condotta
  • Tipo di ricerca [spaziale]: Distanza
  • Tipo di layer [spaziale]: Layer GIS
  • Layer [spaziale]: Infrastruttura [SHP]
  • Applica filtro alla selezione corrente = TRUE


gislayer.WRAPCLASS = 1 OR gislayer.WRAPCLASS = 3 

C

Il terzo oggetto SQL verifica le condotte selezionate per vedere se qualcuna di esse si trova nelle vicinanze di un ospedale. Il crollo di una condotta nei pressi di un ospedale, che blocca l'accesso o rilascia lo scarico civile nell'area, sarebbe probabilmente un problema grave e quindi la riparazione delle condotte danneggiate in questo tipo di situazione sarà più critica che altrove.

  • si sta selezionando qualsiasi condotta che si trova ad una certa distanza da un edificio ospedaliero.
  • qui si fa un ulteriore passo avanti e si imposta di fatto un campo dati e un flag nell'oggetto, in modo che sia possibile identificarlo facilmente in futuro. Il campo Criticità è impostato su 5 (che rappresenta il valore più alto). È stato anche impostato il flag del campo Criticità. Potrebbe trattarsi di un codice per il metodo utilizzato per impostare il campo, o anche delle iniziali della persona che ha eseguito l'SQL.
  • nella Figura 1 gli edifici ospedalieri sono mostrati in verde chiaro. Una sola condotta soddisfa tutte le condizioni impostate nella serie di istruzioni SQL. Tale condotta viene evidenziata in rosso.
SQL query context:
  • Tipo di oggetto: condotta
  • Tipo di ricerca [spaziale]: Distanza
  • Tipo di layer [spaziale]: Layer GIS
  • Layer [spaziale]: Infrastruttura [SHP]
  • Distanza [spaziale]: 30.0


SET 
  criticality = 5,
  criticality_flag = "AA"
 WHERE gislayer.STRUCTURE = "Hospital"

D

Le query SQL possono essere raggruppate ed eseguite automaticamente per rendere il processo ancora più efficiente.

In questo caso, le tre query descritte in precedenza sono state inserite nella stessa Cartella Query. Se si trascina questa cartella in una rete, tutte le query in essa contenute verranno eseguite in ordine alfabetico.

Pertanto, facendo un po' di attenzione quando si assegnano nomi alle singole query, è possibile creare query potenti in più fasi.