Guida di riferimento per l'utente

Passaggi del programma di esempio

Tabella 5 riporta i passaggi del programma di esempio, le procedure memorizzate associate e una descrizione di ogni passaggio. Le funzioni C per richiamare le procedure memorizzate vengono visualizzate nella colonna delle azioni di Tabella 5 e sono racchiuse in parentesi. Per ulteriori informazioni sulle procedure memorizzate, vedere Procedure memorizzate. Il programma di esempio fa riferimento a situazioni introdotte in Scenario: Una società di assicurazione aggiorna il GIS.

Tabella 5. programma di esempio DB2 Spatial Extender
Passaggi del programma di esempio Azione Descrizione
Abilitare/disabilitare il database spaziale
  1. Abilitare il database spaziale (gseEnableDB)
  2. Disabilitare il database spaziale (gseDisableDB)
  3. Abilitare il database spaziale (gseEnableDB)

  1. Questo è il primo passaggio richiesto per utilizzare DB2 Spatial Extender. Un database abilitato per le operazioni spaziali include un insieme di tipi spaziali, un insieme di funzioni spaziali, un insieme di predicati spaziali, un nuovo tipo di indice e un insieme di tabelle e viste amministrative.
  2. Questo passaggio viene eseguito in genere quando vengono attivate le funzioni spaziali per il database non corretto. Quando si disattiva un database spaziale, si rimuove un insieme di tipi spaziali, un insieme di funzioni spaziali, un insieme di predicati spaziali, un nuovo tipo di indice e un insieme di tabelle e viste amministrative.
    Nota:Non sarà possibile disattivare il database se sono stati creati oggetti che dipendono dagli oggetti creati dalla procedura di attivazione del database. Ad esempio, la creazione di una tabella con una colonna spaziale del tipo ST_Point renderà impossibile eseguire la procedura di disattivazione del database. Questo accade perché la tabella dipende dal tipo ST_Point, che deve essere rilasciato dalla procedura di disattivazione del database.
  3. Come per 1.
Registrare i sistemi di riferimento spaziale
  1. Registrare il sistema di riferimento spaziale per la colonna LOCATION della tabella CUSTOMERS (gseEnableSref)
  2. Registrare il sistema di riferimento spaziale per la colonna LOCATION della tabella OFFICES (gseEnableSref)
  3. Annullare la registrazione del sistema di riferimento spaziale per la colonna LOCATION della tabella OFFICES (gseDisableSref)
  4. Registrare nuovamente il sistema di riferimento spaziale per le colonne ZONE della tabella OFFICES (gseEnableSref)

  1. Questo passaggio definisce un nuovo sistema di riferimento spaziale (SRS), da utilizzare per interpretare i dati spaziali della tabella CUSTOMERS. Un sistema di riferimento spaziale include i dati di geometri in una forma che può essere memorizzata in una colonna di un database abilitato alle operazioni spaziali. Dopo aver registrato SRS in una struttura specifica, le coordinate applicabili alla struttura possono essere memorizzate nella colonna associata della tabella CUSTOMERS.
  2. Questo passaggio definisce un nuovo sistema di riferimento spaziale (SRS), da utilizzare per interpretare i dati spaziali della struttura OFFICES. Ogni struttura di tabella deve prevedere la definizione di un SRS. Le strutture della tabella OFFICES potrebbero richiedere un SRS diverso da quello della struttura della tabella CUSTOMERS.
  3. Questo passaggio viene eseguito se si specificano i parametri SRS non corretti per la struttura o la colonna spaziale. Quando si annulla la registrazione di un SRS per la struttura della tabella OFFICES, si rimuove la definizione e i parametri ad essa associati.
  4. Questo passaggio definisce un nuovo sistema di riferimento spaziale (SRS), da utilizzare per interpretare i dati spaziali della struttura OFFICES.

Creare tabelle spaziali
  1. Modificare la tabella CUSTOMERS, aggiungendo la colonna LOCATION (gseSetupTables)
  2. Creare la tabella OFFICES (gseSetupTables)

  1. La tabella CUSTOMERS rappresenta i dati aziendali memorizzati nel database per diversi anni. L'istruzione ALTER TABLE aggiunge una nuova colonna (LOCATION) di tipo ST_Point. Questa colonna verrà riempita eseguendo il geocoding delle colonne indirizzo in un passaggio successivo.
  2. La tabella OFFICES rappresenta, tra gli altri dati, le aree di vendita per ogni ufficio di una società assicurativa. L'intera tabella verrà riempita con i dati attributo da un database non-DB2 in un passaggio successivo. Questo passaggio implica l'importazione dei dati attributo nella tabella OFFICES da un file SHAPE.

Registrare le struttura spaziali
  1. Registrare la colonna LOCATION nella tabella CUSTOMERS come una struttura (gseRegisterLayer)
  2. Registrare la colonna ZONE della tabella OFFICES come una struttura (gseRegisterLayer)

Questi passaggi registrano le colonne LOCATION e ZONE come strutture per DB2 Spatial Extender. Prima di poter riempire o accedere a una colonna spaziale mediante le utilità DB2 Spatial Extender (ad esempio, geocoder), è necessario registrarla come una struttura.
Riempire le strutture spaziali
  1. Sottoporre a geocoding i dati indirizzo per la colonna LOCATION della tabella CUSTOMERS (gseRunGC)
  2. Caricare la tabella OFFICES utilizzando la modalità di inserimento (gseImportShape)
  3. Caricare la tabella HAZARD_ZONE, utilizzando la modalità di creazione (gseImportShape)

  1. Questo passaggio esegue geocoding in modalità batch, richiamando l'utilità geocoder. Il geocoding in modalità batch viene eseguito in genere quando è necessario sottoporre a geocoding o risottoporre a geocoding.
  2. Questo passaggio carica la tabella OFFICES con i dati spaziali esistenti nella forma di un file SHAPE. Dal momento che la tabella OFFICES esiste e la struttura OFFICES/ZONE è registrata, l'utilità di carico inserirà i nuovi record in una tabella esistente.
  3. Questo passaggio carica la struttura HAZARD_ZONE con i dati spaziali esistenti nella forma di un file SHAPE. Dal momento che la tabella e la struttura non esistono, l'utilità di caricamento creerà la tabella e registrerà la struttura prima del caricamento dei dati.

Abilitare gli indici spaziali
  1. Abilitare l'indice spaziale per la colonna LOCATION della tabella CUSTOMERS (gseEnableIdx)
  2. Abilitare l'indice spaziale per la colonna ZONE della tabella OFFICES (gseEnableIdx)
  3. Abilitare l'indice spaziale per la colonna LOCATION della tabella OFFICES (gseEnableIdx)
  4. Abilitare l'indice spaziale per la colonna BOUNDRY della tabella HAZARD_ZONE (gseEnableIdx)

Questi passaggi abilitano l'indice spaziale per le tabelle CUSTOMERS, OFFICES e HAZARD_ZONE.
Abilitare il geocoding automatico
  1. Abilitare il geocoding automatico per le colonne LOCATION e ADDRESS della tabella CUSTOMERS (gseEnableAutoGC)

Questo passaggio attiva il richiamo automatico del geocoder. L'utilizzo del geocoding automatico fa sì che le colonne LOCATION e ADDRESS della tabella CUSTOMERS vengano sincronizzate l'una con l'altra, per le successive operazioni di inserimento e di aggiornamento.
Inserimento/aggiornamento della tabella CUSTOMERS
  1. Inserire alcuni record con una strada diversa (gseInsDelUpd)
  2. Aggiornare alcuni record con un nuovo indirizzo (gseInsDelUpd)

Questi passaggi mostrano un'operazione di inserimento e aggiornamento sulla colonna LOCATION della tabella CUSTOMERS. Una volta abilitato il geocoding automatico, le informazioni della colonna ADDRESS vengono automaticamente sottoposte a geocoding, quando vengono inserite o aggiornate nella colonna LOCATION. Questo processo è stato attivato nel passaggio precedente.
Disabilitare il geocoding automatico
  1. Disabilitare il geocoding automatico per la struttura CUSTOMERS (gseDisableAutoGC)
  2. Disabilitare l'indice spaziale per la struttura CUSTOMERS (gseDisableIdxCustomersLayer)

Questi passaggi disabilitano il richiamo automatico del geocoder e l'indice spaziale, per preparare il passaggio successivo (il passaggio successivo implica la riesecuzione del geocoding dell'intera tabella CUSTOMERS). Se si sta caricando una grande quantità di geodati, è consigliabile disattivare l'indice spaziale prima di caricare i dati e di riattivarlo al termine del caricamento.
Rieseguire il geocoding della tabella CUSTOMERS
  1. Eseguire nuovamente il geocoding della struttura CUSTOMERS con un livello di precisione inferiore - 90% invece del 100% (gseRunGC)
  2. Riattivare l'indice spaziale per la struttura CUSTOMERS (gseEnableIdx)
  3. Riattivare il geocoding automatico con un livello di precisione - 90% invece del 100% (gseEnableAutoGC)

Questi passaggi eseguono il geocoder in modalità batch, riattivano il geocoding automatico con un nuovo livello di precisione e riabilitano l'indice spaziale e il geocoding automatico. E' consigliabile eseguire quest'operazione quando l'amministratore spaziale rileva un'alta percentuale di errore nel processo di geocoding. Se il livello di precisione è impostato su 100%, è possibile che non venga eseguito il geocoding di un indirizzo, perché non si riesce a trovare un indirizzo corrispondente nei dati di riferimento. Riducendo il livello di precisione, il geocoder ha maggiori probabilità di individuare dei dati corrispondenti. Dopo aver nuovamente sottoposto la tabella a geocoding in modalità batch, vengono riattivati il geocoding automatico e l'indice spaziale, per semplificare la gestione incrementale dell'indice spaziale e della colonna spaziale per le successive operazioni di inserimento e aggiornamento.
Creare una vista e registrarne le colonne come strutture della vista
  1. Creare una vista, HIGHRISK_CUSTOMERS, in base al vincolo della tabella CUSTOMERS e HAZARD_ZONE (gseCreateView)
  2. Registrare le colonne spaziali della vista come strutture della vista (gseRegisterLayer)

Questi passaggi creano una vista e ne registrano le colonne spaziali come strutture della vista.
Eseguire l'analisi spaziale
  1. Individuare la distanza media dei clienti da ogni ufficio (ST_Within, ST_Distance)
  2. Individuare le entrate e i premi medi clienti per ogni ufficio (ST_Within)
  3. Individuare i clienti che non sono ascritti agli uffici esistenti (ST_Within)
  4. Individuare il numero di aree di rischio che ogni area di ufficio copre (ST_Overlaps)
  5. Individuare l'ufficio più vicino alla posizione di un cliente specifico, dando per assunto che l'ufficio si trovi nel punto centrale dell'area degli uffici (ST_Distance, ST_Centroid)
  6. Individuare i clienti, la cui posizione è vicina al limite di una particolare zona di rischio (ST_Buffer, ST_Overlaps)
  7. Individuare quei clienti ad alto rischio ascritti a un particolare ufficio
(Tutti i passaggi si servono di gseRunSpatialQueries)
Questi passaggi eseguono l'analisi spaziale, utilizzando i predicati e le funzioni spaziali in linguaggio DB2 SQL. L'optimizer delle query DB2 ripartisce l'indice spaziale sulle colonne spaziali, per migliorare le prestazioni delle query, se possibile.
Esportare le strutture spaziali nei file Esportare la struttura highRiskCustomers (gseExportShape) Il passaggio riporta un esempio di esportazione dei risultati della query in un file SHAPE. L'esportazione dei risultati delle query in un altro formato file consente di utilizzare le informazioni mediante uno strumento di terze parti (ad esempio, ESRI ArcInfo).


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]