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

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

----Messaggio originale----
Da: pcorti@gmail.com
Data: 21-set-2012 16.41
A: "Michele De Santis"tape2m@virgilio.it
Cc: gfoss@lists.gfoss.it, "Stefano Iacovella"stefano.iacovella@gmail.com
Ogg: Re: Re: [Gfoss] Esportazione geometrie da SDE a PostGIS

2012/9/21 Michele De Santis tape2m@virgilio.it:

Ho seguito il vostro consiglio di compilare GDAL con il supporto di SDE, in
realtà l’importazione va su tutti i layer presenti in SDE e non solo su
quello specificato nel sde_layer_name

ogr2ogr -f PostgreSQL PG:“dbname=‘mydb’ user=‘me’ password=‘mypassword’”
SDE:server,instance,database,username,password,sde_layer_name

dovrebbe essere cosi:

ogr2ogr -f PostgreSQL PG:“dbname=‘mydb’ user=‘me’
password=‘mypassword’” SDE:server,instance,database,username,password
layer_name

ciao
p


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

2012/9/21 Michele De Santis <tape2m@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