Oracle Spatial: importazione esportazione dati

martedì 11 settembre 2012 alle 11:26 | Pubblicato su Diario | Lascia un commento

Sulla documentazione ufficiale di Oracle si possono trovare alcuni esempi di geometrie memorizzabili tramite il tipo dato SDO_GEOMETRY assieme alla loro rappresentazione grafica, questo è il modo più efficace per capire come funziona questo tipo dato. Nella pratica poi però si lavora normalmente con moli di dati tali per cui non lavora con insert e delete singole ma si caricano dati da altre fonti. Ho avuto modo, proprio giocando con dati spaziali, di incontrare per la prima volta la limitazione citata qui, le INSERT hanno un limite di 999 argomenti (l’unica cosa correlata che ho trovato è stato il limite di 1000 colonne per una tabella).

Un formato di dati spaziali molto diffuso è quello degli Shapefile di ESRI, in questa sezione del sito Oracle ci sono due strumenti che ho collaudato un po’ per caricare dati spaziali da Shapefile a tabelle Oracle: il primo e più vecchio è l’eseguibile SHP2SDO, un programmino che partendo da uno Shapefile genera tutti i file necessari per caricare su un database Oracle con SQL*Loader i dati esso genera un file SQL con le istruzioni per creare la tabella e inserire i metadati in USER_SDO_GEOM_METADATA, un file .CTL con i parametri per sqlloader e un file .DAT con i dati veri e propri. Questo programmino è vecchiotto e non più supportato, io ho trovato dei casi in cui non funziona (geometrie particolari). Dalla versione 11.2 con il database ci sono a disposizione delle librerie Java che comprendono anche un programmino per caricare direttamente sul database i dati da Shapefile, questa è la documentazione relativa. E’ possibile trovare e scaricare i jar con le istruzioni sempre dalla sezione download che ho indicato prima. In questo caso i dati vengono caricati direttamente sul database anche versione 10g, essendo più recente mi sembra più affidabile (ed ha funzionato anche per casi in cui SHP2SDO mi dava errore).

Io per fare un po’ di prove ho scaricato degli shapefile anche da un sito istituzionale della Regione Friuli-Venezia Giulia, a cui poi ho sovrapposto dei tracciati ricavati da file .gpx che ho registrato con il GPS durante i miei giri in bicicletta.

Per quanto riguarda lo spostamento dati da un database all’altro, le utility export/import, sia tradizionali che Data Pump supportano pienamente il tipo dato SDO_GEOMETRY e gli indici spaziali.  Occorre solo fare attenzione alle indicazioni date sempre sui manuali. L’import si occupa sia di ripopolare la USER_SDO_GEOM_METADATA che di costruire l’eventuale indice spaziale.

Lascia un commento »

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: