GeoKettle - trasformazioni geometria -> multigeometria

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

GeoKettle - trasformazioni geometria -> multigeometria

Marco Li Volsi
Buon Giorno a Tutti.
Stò migrando un GeoDB Oracle (Spatial) in PostGIS con quantità immani di
dati e sto utilizzando GeoKettle 2.5 .
Ho una serie di tabelle con dentro mischiate geometrie e multigeometrie
e le devo migrare dentro tabelle definite come multigeometria e, facendo
girare una trasformazione, appena incontra una geometria semplice va in
errore.
Ho cercato il trasformatore per convertire una geometria in una
multigeometria (l'analogo di ST_Multi in PostGIS) ma non sono riuscito a
trovarlo.
Qualcuno ha dei suggerimenti?
Grazie.
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
666+40 iscritti al 5.6.2014
Reply | Threaded
Open this post in threaded view
|

Re: GeoKettle - trasformazioni geometria -> multigeometria

Sandro Santilli
On Tue, Feb 03, 2015 at 10:09:27AM +0100, Marco Li Volsi wrote:

> Buon Giorno a Tutti.
> Stò migrando un GeoDB Oracle (Spatial) in PostGIS con quantità
> immani di dati e sto utilizzando GeoKettle 2.5 .
> Ho una serie di tabelle con dentro mischiate geometrie e
> multigeometrie e le devo migrare dentro tabelle definite come
> multigeometria e, facendo girare una trasformazione, appena incontra
> una geometria semplice va in errore.
> Ho cercato il trasformatore per convertire una geometria in una
> multigeometria (l'analogo di ST_Multi in PostGIS) ma non sono
> riuscito a trovarlo.
> Qualcuno ha dei suggerimenti?

Potresti accettare tutti i tipi nella tabella di destinazione
(evitando il vincolo in PostGIS), poi portare tutto a MULTIPOINT
e infine ri-aggiungere il vincolo. Qualcosa tipo:

postgis=# ALTER TABLE target ALTER geom TYPE geometry(geometry,4326);

... import ...

postgis=# ALTER TABLE target ALTER geom TYPE geometry(multipoint,4326)
          USING ST_Multi(geom);

--strk;

  ()   Free GIS & Flash consultant/developer
  /\   http://strk.keybit.net/services.html
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
666+40 iscritti al 5.6.2014
Reply | Threaded
Open this post in threaded view
|

Re: GeoKettle - trasformazioni geometria -> multigeometria

Marco Li Volsi
... Grazie Sandro.
Questa la tengo come possibile soluzione.
Esiste il trasformatore "Execute SQL script"... ne metto uno all'inizio,
uno alla fine ed il gioco dovrebbe farsi.
Non avevo visto l'uso della USING... in un colpo solo mofichi struttura
del campo e dati al suo interno... bene perchè non volevo passare da una
tabella di appoggio.
Comunque mi sembra alquanto strano che un ETL non implementi una
funzione così utile.

Il 03/02/2015 10:42, Sandro Santilli ha scritto:

> On Tue, Feb 03, 2015 at 10:09:27AM +0100, Marco Li Volsi wrote:
>> Buon Giorno a Tutti.
>> Stò migrando un GeoDB Oracle (Spatial) in PostGIS con quantità
>> immani di dati e sto utilizzando GeoKettle 2.5 .
>> Ho una serie di tabelle con dentro mischiate geometrie e
>> multigeometrie e le devo migrare dentro tabelle definite come
>> multigeometria e, facendo girare una trasformazione, appena incontra
>> una geometria semplice va in errore.
>> Ho cercato il trasformatore per convertire una geometria in una
>> multigeometria (l'analogo di ST_Multi in PostGIS) ma non sono
>> riuscito a trovarlo.
>> Qualcuno ha dei suggerimenti?
> Potresti accettare tutti i tipi nella tabella di destinazione
> (evitando il vincolo in PostGIS), poi portare tutto a MULTIPOINT
> e infine ri-aggiungere il vincolo. Qualcosa tipo:
>
> postgis=# ALTER TABLE target ALTER geom TYPE geometry(geometry,4326);
>
> ... import ...
>
> postgis=# ALTER TABLE target ALTER geom TYPE geometry(multipoint,4326)
>            USING ST_Multi(geom);
>
> --strk;
>
>    ()   Free GIS & Flash consultant/developer
>    /\   http://strk.keybit.net/services.html
>

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
666+40 iscritti al 5.6.2014