[Gfoss] Geodatabase con postgis

Ciao a tutti,
ancora una domanda:
A partire dal mio geodatabase creato con ArcGis (e quindi in mdb) ho creato il dump pisa.sql, utilizzando “Access2PostgreSQL Pro”. Adesso vorrei caricarlo nel geodatabase geografico “pisa” che ho creato in precedenza ma non riesco.
Il codice che scrivo è:
psql -h localhost -U postgres -W pisa -e </path/ C:pisa.sql

dove sbaglio?
Grazie e scusate se vi tempesto di domande!


Laura

laura andreazzoli ha scritto:

Ciao a tutti,
ancora una domanda:
A partire dal mio geodatabase creato con ArcGis (e quindi in mdb) ho creato il dump pisa.sql, utilizzando "Access2PostgreSQL Pro". Adesso vorrei caricarlo nel geodatabase geografico "pisa" che ho creato in precedenza ma non riesco.
Il codice che scrivo è:
psql -h localhost -U postgres -W pisa -e </path/ C:pisa.sql
dove sbaglio?
Grazie e scusate se vi tempesto di domande!

--
Laura
------------------------------------------------------------------------

_______________________________________________
Gfoss mailing list: 220 iscritti (28-05-2007)
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
  

Per la sintassi consulta questa pagina:
http://www.postgresql.org/docs/8.1/interactive/backup.html#BACKUP-DUMP-RESTORE

Una osservazione non strettamente in relazione con il restore:
tieni conto che nel geodatabase di arcgis le informazioni geometriche vengono gestite da arcgis mentre l'mdb contiene solo la parte alfanumerica.
In pratica non c'è, nel db access, la possibilità di gestire geometrie indipendentemente da ArcGIS e non ci sono tabelle come spatial_ref_sys e geometry_columns di postgis.
Non credo sia possibile una conversione del genere di un GeoDB di arcgis (da access a postgres/postgis) utilizzando solo un dump.
Forse ti conviene ricostruire il geodabase direttamente in postgis esportando prima le feature class come shapefiles e poi importando gli shape con shp2pgsql o con qgis (se funzia).

---------- Forwarded message ----------
From: laura andreazzoli <laura.andreazzoli@gmail.com>
Date: 5-giu-2007 15.32
Subject: Re: [Gfoss] Geodatabase con postgis
To: luca marletta <lucamarle@gmail.com>

Ok, grazie, ma in effetti non posso convertire un geodatabase ArcGis utilizzando la procedura che ho descritto, perchè naturalmente converte solo la parte tabellare. Ho già esportato le FC in Shapefile ed ho provato ad importarle, ma con scarsi risultati.
In definitiva le mie diverse prove hanno stabilito che a partire da un geodatabase già fatto in ArcGis, la conversione in postgis è tutt’altro che banale, innanzi tutto è complesso importare gli shapefile (esportati dal geodatabase) non so perchè sinceramente, in secondo luogo non possono essere riprodotte le relazioni, come detto da alcuni di voi si possono creare delle viste, ma in effetti non è la stessa cosa. Ed infine i domini, che sono salvati come domini a parte, ma in questo modo perdono a mio avviso la loro reale utilità. In arcGis infatti consentono la validazione degli attributi in editing (cioè evitano ad esempio che se un attributo è “sede”, per errore possa scrivere “sade”, con tutte le coomplicazioni di analisi che ciò poi comporta).

Sicuramente ci sono vantaggi non trascurabili, come l’economicità e la possibilità di trasferire più facilmente i dati, ma sinceramente mi aspettavo qualcosa di diverso, senza contare che per lavorare bene in open source bisogna avere, secondo me, conoscenze informatiche ben salde (certo con un po’ di pazienza si può fare tutto!).

Il mio intervento non vuol essere una critica ma una testimonianza della mia esperienza e delle mie impressioni.
Sarò felice di essere smentita.
Laura

Il 05/06/07, luca marletta <lucamarle@gmail.com > ha scritto:

psql -d dbname -U postgres -f dump.sql

ciao

On 6/5/07, laura andreazzoli < laura.andreazzoli@gmail.com> wrote:

Ciao a tutti,
ancora una domanda:
A partire dal mio geodatabase creato con ArcGis (e quindi in mdb) ho creato
il dump pisa.sql, utilizzando “Access2PostgreSQL Pro”. Adesso vorrei
caricarlo nel geodatabase geografico “pisa” che ho creato in precedenza ma
non riesco.
Il codice che scrivo è:
psql -h localhost -U postgres -W pisa -e </path/ C:pisa.sql

dove sbaglio?
Grazie e scusate se vi tempesto di domande!


Laura


Gfoss mailing list: 220 iscritti (28-05-2007)
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss


luca marletta
www.beopen.it


Laura


Laura

Ok, grazie, ma in effetti non posso convertire un geodatabase ArcGis utilizzando la procedura che ho descritto, perchè naturalmente converte solo la parte tabellare. Ho già esportato le FC in Shapefile ed ho provato ad importarle, ma con scarsi risultati.
In definitiva le mie diverse prove hanno stabilito che a partire da un geodatabase già fatto in ArcGis, la conversione in postgis è tutt'altro che banale, innanzi tutto è complesso importare gli shapefile (esportati dal geodatabase) non so perchè

Laura, lo shape esportato dal geodb di ArcGIS solitamente non contiene solo *.shp, *.shx e *.dbf. ma anche i file *.prj, *.sbn, *.sbx, *.shp.xml. Anche se dubito che il problema sia questo, prova ad eliminarli e ripetere l'import in postgis. Io l'ho fatto infinite volte senza problemi (anche senza limitarmi alla struttura minima dello shape).
Per esperienza personale ritengo che il tool a riga di comando shp2pgsql sia molto più efficace di SPIT (il plugin di qgis) sebbene sia meno immediato (ma basta leggere mezza pagina di documentazione)

in secondo luogo non possono essere riprodotte le relazioni, come detto da alcuni di voi si possono creare delle viste, ma in effetti non è la stessa cosa.

Siamo sempre lì... ricrearle a partire da quelle esistenti nel geodb di ArcGIS non si può, ma crearle a partire da zero sì. A tale proposito ti segnalo un progetto italiano:

http://pgdesigner.sourceforge.net/it/index.html

è un sw case per disegnare un db postgres in modo del tutto simile a quanto si fa con oracle designer. Per il momento (ed ancora per parecchio tempo) è utilizzabile solo sotto linux. Il gioco è questo:
parti dagli shapefiles > li importi in postgis > connetti il db spaziale postgis a dbdesigner > usi la funzione di reverse engeneering e ti ritrovi le entità corrispondenti nel tuo spazio di lavoro. A questo punto crei altre tabelle (entità) e relazioni.

Chiaramente si può fare lo stesso, senza passare da pgdesigner, direttamente da psql, phpPgAdmin, pgAdmin3, PgAccess e chi più ne ha più ne metta... e non è come avere già tutto bello e pronto esportato da ArcGIS, me ne rendo conto... ma pgdesigner è pur sempre una bella mano. Io ho fatto delle prove su piccoli geodb tempo fa ed il procedimento ha funzionato.

Ed infine i domini, che sono salvati come domini a parte, ma in questo modo perdono a mio avviso la loro reale utilità. In arcGis infatti consentono la validazione degli attributi in editing (cioè evitano ad esempio che se un attributo è "sede", per errore possa scrivere "sade", con tutte le coomplicazioni di analisi che ciò poi comporta).

Anche questo è riproducibile... tutti i dbms danno la possibilità di definire dei domini. In mysql il dominio di valori per un campo si ottiene col datatype ENUM ('valore1','valore2'). Postgres non ha "built in" questo tipo di dato ma per definire un dominio si possono creare datatype con le stesse caratteristiche

CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
CREATE TABLE person (
    name text,
    current_mood mood
);
INSERT INTO person VALUES ('Moe', 'happy');
SELECT * FROM person WHERE current_mood = 'happy';
name | current_mood ------+--------------
Moe | happy
(1 row)

oppure usare il vincolo CHECK:

CREATE TABLE event(
name text,
date date,
dayofweek char(3) CHECK (dayofweek in (Sun, Mon, Tue, Wed, Thu, Fri, Sat))
);

La prima via non l'ho mai tentata (anche perchè l'ho scoperta solo ieri) ma CHECK fa egregiamente il suo dovere.

Sicuramente ci sono vantaggi non trascurabili, come l'economicità e la possibilità di trasferire più facilmente i dati, ma sinceramente mi aspettavo qualcosa di diverso, senza contare che per lavorare bene in open source bisogna avere, secondo me, conoscenze informatiche ben salde (certo con un po' di pazienza si può fare tutto!).

Qualcuno ti farebbe notare anche il lato etico - che condivido - dell'utilizzo di sw aperto (dove sta Paolo???). Per quanto riguarda le conoscenze informatiche salde, è vero, ci vogliono, ma sono le stesse necessarie per poter lavorare in ambito SIT con in più una "spruzzata di unix"... inoltre, come dici anche tu, con la pazienza si può fare tutto.

Il mio intervento non vuol essere una critica ma una testimonianza della mia esperienza e delle mie impressioni.
Sarò felice di essere smentita.
Laura

Il mio intento non è certo quello di smentirti, spero però di averti dato degli spunti utili.
Ci vediamo al pgday? :slight_smile:

ciao

alessio

Inoltre, un altro punto: le difficolta' di conversione da sw
proprietario a sw libero non possono essere imputate al sw libero,
altrimenti per simmetria le difficolta' che incontrerei io se volessi
fare il (oibo'!) percorso inverso dovrebbero essere imputate solo al sw
proprietario?
Quanto alla complicatezza, non so davvero: sei sicura che non sia dovuta
all'abitudine a lavorare con un determinato sw? Esempio: tutti dicono
che Linux e' difficile; io, quelle poche volte che mi trovo ad usare
(ri-oibo'!) windows lo trovo assai piu' complicato, ed ancora mi ricordo
l'ultima volta che dovetti installare un windows xp da zero, che mi ha
richiesto moolto piu' tempo (e grattacapi) di quanto mi prende
un'installazione debian.
Dai tuoi reports, mi pare che buona parte delle tue difficolta' siano
essenzialmente lessicali: giustamente cerchi cose che si chiamano nello
stesso modo di quelle a cui sei abituata, e la diversa nomenclatura ti
confonde.
E poi facciamo una valutazione: quanto tempo ci puo' volere ad imparare
postgis, in modo da farci le stesse cose che fai con Arc*? In che
relazione e' questo tempo con i soldi di acquisto delle licenze?
Anche qui niente polemica, credo che queste esperienze aiutino a capire.
Saluti.
pc

Alessio Di Lorenzo ha scritto:

Ok, grazie, ma in effetti non posso convertire un geodatabase ArcGis
utilizzando la procedura che ho descritto, perchè naturalmente
converte solo la parte tabellare. Ho già esportato le FC in Shapefile
ed ho provato ad importarle, ma con scarsi risultati.
In definitiva le mie diverse prove hanno stabilito che a partire da un
geodatabase già fatto in ArcGis, la conversione in postgis è
tutt'altro che banale, innanzi tutto è complesso importare gli
shapefile (esportati dal geodatabase) non so perchè

...
--
Paolo Cavallini
http://www.faunalia.it/pc

Condivido...

soprattutto questo:

Dai tuoi reports, mi pare che buona parte delle tue difficolta' siano
essenzialmente lessicali: giustamente cerchi cose che si chiamano nello
stesso modo di quelle a cui sei abituata, e la diversa nomenclatura ti
confonde.
E poi facciamo una valutazione: quanto tempo ci puo' volere ad imparare
postgis, in modo da farci le stesse cose che fai con Arc*? In che
relazione e' questo tempo con i soldi di acquisto delle licenze?
  
Però Paolo, occhio ai quote! Questo non l'ho scritto mica io!
Alessio Di Lorenzo ha scritto:
  

Ok, grazie, ma in effetti non posso convertire un geodatabase ArcGis utilizzando la procedura che ho descritto, perchè naturalmente converte solo la parte tabellare. Ho già esportato le FC in Shapefile ed ho provato ad importarle, ma con scarsi risultati.
In definitiva le mie diverse prove hanno stabilito che a partire da un geodatabase già fatto in ArcGis, la conversione in postgis è tutt'altro che banale, innanzi tutto è complesso importare gli shapefile (esportati dal geodatabase) non so perchè
      

...
  

ciao

alessio