[Gfoss] R: Re: Re: Esportazione geometrie da SDE a PostGIS

Paolo Corti pcorti a gmail.com
Ven 21 Set 2012 17:06:58 CEST


2012/9/21 Michele De Santis <tape2m a virgilio.it>:
> io ho utilizzato la sintassi seguente:
>
> ogr2ogr -f "PostgreSQL" PG:"host=localhost user=postgres dbname=xxx
> password=xxx port=5432" -nln layerName -a_srs EPSG:32633
> SDE:"server,instance,database,username,password,layerName"
>
> dove vado a specificare il nome della tabella su PostGIS
>
> mi crea la tabella di nome layerName con il layer preso da SDE ma poi la
> procedura inspiegabilmente va in errore:
>
> FAILED: Layer layerName already exists, and -append not specified.
>         Consider using -append, or -overwrite.
> ERROR 1: Terminating translation prematurely after failed
> translation of layer XXXXXXX (use -skipfailures to skip errors)
>
> poichè sembra leggere il layer successivo da SDE (quello indicato con
> XXXXXXX) e quindi sovrascrivere la tabella appena creata in PostGIS.
>
> Grazie
>

se non specifichi l'input layer name nel modo che ti ho detto, con la
sintassi che stai usando copierai tutte le tue feature class sde in
una unica tabella di output che hai specificato con l'opzione -nln. Di
qui l'errore che ottieni.

Se invece, come detto nella precedente email, usi questa sintassi,
dovrebbe funzionarti:

ogr2ogr -f "PostgreSQL" PG:"host=localhost user=postgres dbname=xxx
password=xxx port=5432" -nln outputLayerName -a_srs EPSG:32633
SDE:"server,instance,database,username,password,layerName"
inputLayerName

ps leggendo la documentazione, l'unico scopo di inserire il layerName
nella stringa di connessione è quello di velocizzare l'operazione,
perchè in tal modo ogr non si legge tutto l'elenco dei layer,
operazione che ogr fa di default per come è impostata l'astrazione del
data model e che su sde è dispendiosa, ma va diretto su quello che ti
interessa importare.

ciao
p

-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


Maggiori informazioni sulla lista Gfoss