importare più shapefile in db spatialite

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

importare più shapefile in db spatialite

pigreco
Salve a tutti,
vorrei importare, in un db spatialite, più shapefile contemporaneamente;
ho fatto alcune ricerche nel web e l'unica soluzione trovata è quella
spiegata da Furieri qui [0], ho seguito la procedura ma con esito negativo;

uso spatialite_gui 2.0.0 devel
spatialite 4.3.0a
sqlite 3.8.11.1
su win 10 64 bit

procedura usata:

creo script sql:
SELECT InitSpatialMetadata(1);
SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\retic',
'retic','CP1252', 23032);
SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\reg', 'reg','CP1252',
23032);

avvio shell OSGeo4W e digito:
SET SPATIALITE_SECURITY=relaxed

poi

spatialite_gui db_toto_2.sqlite  mysqlscript.sql


risultato:
si avvia correttamente spatialite_gui con il db, ma non importa nulla.

dove sbaglio?

saluti


[0]
https://groups.google.com/forum/#!msg/spatialite-users/kDjizwCRFd4/Iq3ZrQCHNQAJ

--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pcav
Il 24/05/2017 18:01, Totò Fiandaca ha scritto:
> Salve a tutti,
> vorrei importare, in un db spatialite, più shapefile contemporaneamente;
> ho fatto alcune ricerche nel web e l'unica soluzione trovata è quella

Perché non con Processing?
Saluti.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pigreco
Il giorno 24 maggio 2017 18:03, Paolo Cavallini <[hidden email]> ha
scritto:

> Perché non con Processing?


​indicazione utile ma insufficiente per me.

ho usato parola chiave import nel processing e trovo solo import verso
PostGIS!!!

potresti, per favore, essere più preciso!

saluti​



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pcav
Il 24/05/2017 18:18, Totò Fiandaca ha scritto:

>
> Il giorno 24 maggio 2017 18:03, Paolo Cavallini <[hidden email]
> <mailto:[hidden email]>> ha scritto:
>
>     Perché non con Processing?
>
>
> ​indicazione utile ma insufficiente per me.
>
> ho usato parola chiave import nel processing e trovo solo import verso
> PostGIS!!!

Hai ragione, non pensavo a SL, in effetti. Ora non posso controllare, ma
ci dovrebbe essere un convertitore generico, no?
Scusa, ma il tempo è tyranno.
Saluti.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
https://www.google.com/trends/explore?date=all&geo=IT&q=qgis,arcgis
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

a.furieri
In reply to this post by pigreco
On Wed, 24 May 2017 18:01:04 +0200, Totò Fiandaca wrote:

> Salve a tutti,
> vorrei importare, in un db spatialite, più shapefile
> contemporaneamente;
> ho fatto alcune ricerche nel web e l'unica soluzione trovata è quella
> spiegata da Furieri qui [0], ho seguito la procedura ma con esito
> negativo;
>
> uso spatialite_gui 2.0.0 devel
> spatialite 4.3.0a
> sqlite 3.8.11.1
> su win 10 64 bit
>
> procedura usata:
>
> creo script sql:
> SELECT InitSpatialMetadata(1);
> SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\retic',
> 'retic','CP1252', 23032);
> SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\reg',
> 'reg','CP1252',
> 23032);
>
> avvio shell OSGeo4W e digito:
> SET SPATIALITE_SECURITY=relaxed
>
> poi
>
> spatialite_gui db_toto_2.sqlite  mysqlscript.sql
>
>
> risultato:
> si avvia correttamente spatialite_gui con il db, ma non importa
> nulla.
>
> dove sbaglio?
>

ciao Toto',

stai facendo un po' di confusione tra ambienti di
shell (riga di comando) e ambienti grafici (GUI).

tanto per iniziare, la variabile di ambiente
SPATIALITE_SECURITY_RELAXED la devi impostare
esplicitamente solo quando usi i tools a riga
di comando direttamente dalla shell.
ma non serve assolutamente a nulla quando usi
spatialite_gui; la GUI e' sempre autorizzata
by default a leggere e scrivere sul filesystem,
e se proprio vuoi abilitare/disabilitare questa
funzionalita' lo devi fare tramite gli appositi
pulsanti della toolbar.

a seguire: la GUI non e' lo strumento migliore
per eseguire uno SQL script.
usa piuttosto uno dei tools command line, che
sono fatti apposte per integrarsi nell'ambiente
di shell. quindi:
- puoi usare direttamente spatialite.exe
- oppure puoi usare sqlite3.exe, ma in questo
   caso devi modificare il tuo SQL script in
   modo tale da caricare per prima cosa il
   modulo di estensione spatialite.
   sostanzialmente, basta aggiungere questa
   riga in testa allo SQL script:
   SELECT load_extension('mod_spatialite'),

ultimo errore: il tuo comando e' il seguente:

spatialite_gui db_toto_2.sqlite  mysqlscript.sql

abbiamo gia' visto che e' sbagliato utilizzare
spatialite_gui, casomai dovresti usare spatialite.exe;
ma anche in questo caso stai usando la sintassi
sbagliata.
il path del datatabase-file e' un argomento di
invocazione, ma il path dello script lo devi
passare come redirezione dello standard input;
invece come lo stai passando tu diventa
semplicemente un ulteriore argomento, e viene
semplicemente ignorato.
la sintassi corretta (sia su Windows che su Linux)
e' questa qua:

spatialite db_toto_2.sqlite  <mysqlscript.sql

in cui quel segno "minore" davanti al path dello
SQL script serve proprio per ridirigere lo
standard input del processo.
in soldoni: stai semplicemente chiedendo al
comando spatialite.exe di leggere i comandi
SQL da un file (lo script, appunto) invece
che dalla tastiera come normalmente accade;
qundo l'ultimo dei comandi presenti nello
SQL script spatialite.exe terminera'.

ovviamente questo "barbatrucco" non potra' mai
funzionare con un'applicazione GUI, semplicemente
perche' nell'ambiente GUI non esiste proprio il
concetto di uno standard input associato al processo.

ultima osservazione: se proprio ritieni
indispensabile utilizzare la GUI anche per
eseguire gli SQL script lo puoi comunque
fare (anche se non ha molto senso).
se cerchi bene tra i vari pulsanti della
toolbar vedrai che e' presente un pulsantino
"execute SQL script"

ciao Sandro


_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

Marco Curreli
In reply to this post by pigreco
On  05/24/17     , Totò Fiandaca wrote:
> vorrei importare, in un db spatialite, più shapefile contemporaneamente;


#!/bin/bash

SHP=$(ls directory_con_shapefile)

for i in $SHP; do
  ogr2ogr -update -f SQLite -dsco SPATIALITE=YES db.sqlite $i.shp
done

Un saluto,
     Marco

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pigreco
In reply to this post by a.furieri
uso molto la gui e grazie al tuo suggerimento ho risolto tutto, funziona
bene.

grazie

Il giorno 24 maggio 2017 20:13, <[hidden email]> ha scritto:

> On Wed, 24 May 2017 18:01:04 +0200, Totò Fiandaca wrote:
>
>> Salve a tutti,
>> vorrei importare, in un db spatialite, più shapefile contemporaneamente;
>> ho fatto alcune ricerche nel web e l'unica soluzione trovata è quella
>> spiegata da Furieri qui [0], ho seguito la procedura ma con esito
>> negativo;
>>
>> uso spatialite_gui 2.0.0 devel
>> spatialite 4.3.0a
>> sqlite 3.8.11.1
>> su win 10 64 bit
>>
>> procedura usata:
>>
>> creo script sql:
>> SELECT InitSpatialMetadata(1);
>> SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\retic',
>> 'retic','CP1252', 23032);
>> SELECT ImportSHP('C:\Users\Salvatore\Desktop\wrf23032\reg',
>> 'reg','CP1252',
>> 23032);
>>
>> avvio shell OSGeo4W e digito:
>> SET SPATIALITE_SECURITY=relaxed
>>
>> poi
>>
>> spatialite_gui db_toto_2.sqlite  mysqlscript.sql
>>
>>
>> risultato:
>> si avvia correttamente spatialite_gui con il db, ma non importa nulla.
>>
>> dove sbaglio?
>>
>>
> ciao Toto',
>
> stai facendo un po' di confusione tra ambienti di
> shell (riga di comando) e ambienti grafici (GUI).
>
> tanto per iniziare, la variabile di ambiente
> SPATIALITE_SECURITY_RELAXED la devi impostare
> esplicitamente solo quando usi i tools a riga
> di comando direttamente dalla shell.
> ma non serve assolutamente a nulla quando usi
> spatialite_gui; la GUI e' sempre autorizzata
> by default a leggere e scrivere sul filesystem,
> e se proprio vuoi abilitare/disabilitare questa
> funzionalita' lo devi fare tramite gli appositi
> pulsanti della toolbar.
>
> a seguire: la GUI non e' lo strumento migliore
> per eseguire uno SQL script.
> usa piuttosto uno dei tools command line, che
> sono fatti apposte per integrarsi nell'ambiente
> di shell. quindi:
> - puoi usare direttamente spatialite.exe
> - oppure puoi usare sqlite3.exe, ma in questo
>   caso devi modificare il tuo SQL script in
>   modo tale da caricare per prima cosa il
>   modulo di estensione spatialite.
>   sostanzialmente, basta aggiungere questa
>   riga in testa allo SQL script:
>   SELECT load_extension('mod_spatialite'),
>
> ultimo errore: il tuo comando e' il seguente:
>
> spatialite_gui db_toto_2.sqlite  mysqlscript.sql
>
> abbiamo gia' visto che e' sbagliato utilizzare
> spatialite_gui, casomai dovresti usare spatialite.exe;
> ma anche in questo caso stai usando la sintassi
> sbagliata.
> il path del datatabase-file e' un argomento di
> invocazione, ma il path dello script lo devi
> passare come redirezione dello standard input;
> invece come lo stai passando tu diventa
> semplicemente un ulteriore argomento, e viene
> semplicemente ignorato.
> la sintassi corretta (sia su Windows che su Linux)
> e' questa qua:
>
> spatialite db_toto_2.sqlite  <mysqlscript.sql
>
> in cui quel segno "minore" davanti al path dello
> SQL script serve proprio per ridirigere lo
> standard input del processo.
> in soldoni: stai semplicemente chiedendo al
> comando spatialite.exe di leggere i comandi
> SQL da un file (lo script, appunto) invece
> che dalla tastiera come normalmente accade;
> qundo l'ultimo dei comandi presenti nello
> SQL script spatialite.exe terminera'.
>
> ovviamente questo "barbatrucco" non potra' mai
> funzionare con un'applicazione GUI, semplicemente
> perche' nell'ambiente GUI non esiste proprio il
> concetto di uno standard input associato al processo.
>
> ultima osservazione: se proprio ritieni
> indispensabile utilizzare la GUI anche per
> eseguire gli SQL script lo puoi comunque
> fare (anche se non ha molto senso).
> se cerchi bene tra i vari pulsanti della
> toolbar vedrai che e' presente un pulsantino
> "execute SQL script"
>
> ciao Sandro
>
>
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
>



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pigreco
In reply to this post by Marco Curreli
grazie per il suggerimento, appena posso provo anche questa via molto
affascinate.

saluti

Il giorno 24 maggio 2017 20:15, Marco Curreli <[hidden email]> ha
scritto:

> On  05/24/17     , Totò Fiandaca wrote:
> > vorrei importare, in un db spatialite, più shapefile contemporaneamente;
>
>
> #!/bin/bash
>
> SHP=$(ls directory_con_shapefile)
>
> for i in $SHP; do
>   ogr2ogr -update -f SQLite -dsco SPATIALITE=YES db.sqlite $i.shp
> done
>
> Un saluto,
>      Marco
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
>



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

nformica
In reply to this post by Marco Curreli
E si, questa soluzione, con un ciclo "for", mi sembra effettivamente
migliore, perché  fa risparmiare righe di codice è quindi tempo.

Saluti
Nino

Il 24 mag 2017 8:30 PM, "Marco Curreli" <[hidden email]> ha
scritto:

> On  05/24/17     , Totò Fiandaca wrote:
> > vorrei importare, in un db spatialite, più shapefile contemporaneamente;
>
>
> #!/bin/bash
>
> SHP=$(ls directory_con_shapefile)
>
> for i in $SHP; do
>   ogr2ogr -update -f SQLite -dsco SPATIALITE=YES db.sqlite $i.shp
> done
>
> Un saluto,
>      Marco
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

aperi2007
Il vantaggio di queta soluzione con gdl/ogr suggerita da Curreli e' che
vale anche per caricare su postgis.
Inoltre, se modifichi un po' la chiamata di gdal/ogr puoi anche
sfruttarla per fare append sulla medesima tabella.

Ad esempio: se te hai 100 shapwfile che sono il grafo strade tagliato su
ogni comune della regione e lo vuoi riportare a un unico shapefile  a
una unica tabella di spatialite odi postgis.
Basta chiamare il ciclo che ti ha passato Curreli imostandolo perche'
faccia "append" sulla medesima tabella e il gioco e' fatto.
(ovviamente gli shp devono avere la stessa struttura, ma lo darei per
ovvio e scontato):

A.

Il 24/05/2017 21:14, nino formica ha scritto:

> E si, questa soluzione, con un ciclo "for", mi sembra effettivamente
> migliore, perché  fa risparmiare righe di codice è quindi tempo.
>
> Saluti
> Nino
>
> Il 24 mag 2017 8:30 PM, "Marco Curreli" <[hidden email]> ha
> scritto:
>
>> On  05/24/17     , Totò Fiandaca wrote:
>>> vorrei importare, in un db spatialite, più shapefile contemporaneamente;
>>
>> #!/bin/bash
>>
>> SHP=$(ls directory_con_shapefile)
>>
>> for i in $SHP; do
>>    ogr2ogr -update -f SQLite -dsco SPATIALITE=YES db.sqlite $i.shp
>> done
>>
>> Un saluto,
>>       Marco
>>
>> _______________________________________________
>> [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.
>> 808 iscritti al 07/03/2017
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

a.furieri
In reply to this post by nformica
On Wed, 24 May 2017 21:14:03 +0200, nino formica wrote:
> E si, questa soluzione, con un ciclo "for", mi sembra effettivamente
> migliore, perché  fa risparmiare righe di codice è quindi tempo.
>

attenzione: quella sintassi la potete usare solo
se lavorate su Linux.
Toto' invece ci diceva nel suo post iniziale che
stava cercando una soluzione per Win10 64 bit.

probabilmente anche il linguaggio di scripting della
shell di casa Microsoft consente di fare qualcosa di
simile (non so bene, non l'ho mai usato personalmente),
ma la sintassi sara' certamente del tutto diversa
da quella implementata dalla bash.

una lettura consigliata per chi volesse approfondire:
https://news.ycombinator.com/item?id=11887574

ciao Sandro

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

aperi2007
Qui trovi una sintassi per usare gdal in u ciclo FOR su una console di
windows.

https://trac.osgeo.org/gdal/wiki/BatchCreationIndexesForShapefilesOnDOS

A.


Il 24/05/2017 22:00, [hidden email] ha scritto:

> On Wed, 24 May 2017 21:14:03 +0200, nino formica wrote:
>> E si, questa soluzione, con un ciclo "for", mi sembra effettivamente
>> migliore, perché  fa risparmiare righe di codice è quindi tempo.
>>
>
> attenzione: quella sintassi la potete usare solo
> se lavorate su Linux.
> Toto' invece ci diceva nel suo post iniziale che
> stava cercando una soluzione per Win10 64 bit.
>
> probabilmente anche il linguaggio di scripting della
> shell di casa Microsoft consente di fare qualcosa di
> simile (non so bene, non l'ho mai usato personalmente),
> ma la sintassi sara' certamente del tutto diversa
> da quella implementata dalla bash.
>
> una lettura consigliata per chi volesse approfondire:
> https://news.ycombinator.com/item?id=11887574
>
> ciao Sandro
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

nformica
Si certo bisogna tradurre come "batch" DOS.
Ma volendo, so che ormai dalla scorsa estate c'è la possibilità di
installare la shell bash anche su Win 10. È un'altra possibilità.

Saluti
Nino

Il 24 mag 2017 10:03 PM, "aperi2007" <[hidden email]> ha scritto:

Qui trovi una sintassi per usare gdal in u ciclo FOR su una console di
windows.

https://trac.osgeo.org/gdal/wiki/BatchCreationIndexesForShapefilesOnDOS

A.



Il 24/05/2017 22:00, [hidden email] ha scritto:

> On Wed, 24 May 2017 21:14:03 +0200, nino formica wrote:
>
>> E si, questa soluzione, con un ciclo "for", mi sembra effettivamente
>> migliore, perché  fa risparmiare righe di codice è quindi tempo.
>>
>>
> attenzione: quella sintassi la potete usare solo
> se lavorate su Linux.
> Toto' invece ci diceva nel suo post iniziale che
> stava cercando una soluzione per Win10 64 bit.
>
> probabilmente anche il linguaggio di scripting della
> shell di casa Microsoft consente di fare qualcosa di
> simile (non so bene, non l'ho mai usato personalmente),
> ma la sintassi sara' certamente del tutto diversa
> da quella implementata dalla bash.
>
> una lettura consigliata per chi volesse approfondire:
> https://news.ycombinator.com/item?id=11887574
>
> ciao Sandro
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
>

_______________________________________________
[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.
808 iscritti al 07/03/2017
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

Marco Curreli
In reply to this post by a.furieri
On  05/24/17     , [hidden email] wrote:
>
> attenzione: quella sintassi la potete usare solo
> se lavorate su Linux.

Io la uso in ufficio sotto windows col terminale di MSYS (fornito
assieme a qgis e grass).

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pigreco
Continua ad approfittare della vostra cortesia,
ho avviato MSYS e incollato:

#!/bin/bash

SHP=$(ls C:\\Users\\Salvatore\\Desktop\\fedele\\catastali_shp)

for i in $SHP; do
  ogr2ogr -update -f SQLite -dsco SPATIALITE=YES
C:\\Users\\Salvatore\\Desktop\\db_1.sqlite $i.shp
done

ma mi segnale questo errore:
FAILURE:
Unable to open datasource `acque.shp.shp' with the following drivers.

per tutti i file presenti nella cartella 'catastali_shp'

cosa sbaglio?

grazie

Il giorno 24 maggio 2017 22:40, Marco Curreli <[hidden email]> ha
scritto:

> On  05/24/17     , [hidden email] wrote:
> >
> > attenzione: quella sintassi la potete usare solo
> > se lavorate su Linux.
>
> Io la uso in ufficio sotto windows col terminale di MSYS (fornito
> assieme a qgis e grass).
>
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
>



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

Marco Curreli
On  05/24/17     , Totò Fiandaca wrote:

> Continua ad approfittare della vostra cortesia,
> ho avviato MSYS e incollato:
>
> #!/bin/bash
>
> SHP=$(ls C:\\Users\\Salvatore\\Desktop\\fedele\\catastali_shp |
> grep \.sh
>
> for i in $SHP; do
>   ogr2ogr -update -f SQLite -dsco SPATIALITE=YES
> C:\\Users\\Salvatore\\Desktop\\db_1.sqlite $i.shp
> done

mi sono dimenticato qualcosa:

SHP=(ls etc etc | grep \.shp) # per filtrare i file giusti

e poi $i al posto di $i.shp

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

a.furieri
In reply to this post by pigreco
On Wed, 24 May 2017 23:08:57 +0200, Totò Fiandaca wrote:
> Unable to open datasource `acque.shp.shp'
>

Toto',

il messaggio di errore dice tutto; come vedi,
stai raddoppiando i suffissi:
.shp ti diventa .shp.shp

questo accade perche' hai impostato la variabile
SHP in modo tale che estrae direttamente la lista
di tutti i files contenuti nalla directory,
ma in questo modo il ciclo FOR ti peschera'
iniscriminatamente sia i files con suffisso
.shp ma anche quelli .shx, .dbf etc
dopo di che tu hai specificato che il path deve
essere $i.shp, ragion per cui ti attacca ancora
un altro suffisso .shp dietro al path che ha
appena pescato dalla lista.

dovesti modificare SHP aggiungendo in coda *.shp
in modo tale da fargli cercare solo i files col
suffisso .shp ignorando tutti gli altri.
e poi ovviamente devi usare $i nudo e crudo senza
aggiungere $i.shp

hint: se prendi la buona abitudine di usare anche
su Windows qualche tool di origine Linex ti prego
di perdere la pessima abitudine di usare gli
orrendi backslash che sono un pugno nell'occhio,
specie se poi li vai a raddoppiare.
non serve scrivere un orrore come questo:

C:\\Users\\Salvatore\\Desktop\\db_1.sqlite

puoi usare direttamente la notazione canonica
in stile Linux/Unix con gli shash "normali":

C:/Users/Salvatore/Desktop/db:1,sqlite

ciao Sandro

_______________________________________________
[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.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

Marco Curreli
In reply to this post by Marco Curreli
On  05/24/17     , Totò Fiandaca wrote:
> ho avviato MSYS e incollato:

In ogni caso devi copiare lo script in un editor di testo (meglio wordpad del blocco note) e nominarlo con un'estensione .sh, poi lo esegui con
   sh nomefile.sh
Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

Marco Curreli
Alcune altre considerazioni su ogr2ogr:

-- se lo shapefile contiene geometrie miste (semplici e multiple) l'importazione segna errore, per cui si deve usare l'opzione -nlt:
-nlt MULTILINESTRING
-nlt MULTIPLOLYGON
 a seconda della geometria; con ogrinfo si riesce a sapere se ci sono geometrie miste, ma l'output è molto prolisso, per cui è meglio filtrarlo in questo modo:

ogrinfo -al shapefile | sed 's/POLYGON/&#/g' | tr "#" \\n | grep POLYGON
ogrinfo -al shapefile | sed 's/LINESTRING/&#/g' | tr "#" \\n | grep LINESTRING

-- se, invece di importare un'intera directory si volessero importare solo i file presenti in un progetto qgis, come elenco di file per il ciclo for si potrebbe usare questa variabile:

SHP=$(grep datasource progetto.qgs | sed -e 's|.*<datasource>||g' -e 's|</datasource>||g')


Reply | Threaded
Open this post in threaded view
|

Re: importare più shapefile in db spatialite

pigreco
Grazie all'aiuto di tutti, in particolare di Andrea Borruso, sono riuscito
ad importare una intera cartella con gli *.shp in un db sqlite utilizzando
il terminale MSYS (come suggerito);
Per lasciar traccia e soprattutto per non dimenticare (io in prima persona)
ho scritto un piccolo articolo [0] (step by step) per realizzare quanto in
oggetto.

Saluti

PS: articolo per 'ignoranti di bash come me'.
[0]
https://pigrecoinfinito.wordpress.com/2017/06/13/importare-shapefile-in-un-db-sqlite-utilizzando-la-shell/

Il giorno 25 maggio 2017 16:30, Marco Curreli <[hidden email]> ha
scritto:

> Alcune altre considerazioni su ogr2ogr:
>
> -- se lo shapefile contiene geometrie miste (semplici e multiple)
> l'importazione segna errore, per cui si deve usare l'opzione -nlt:
> -nlt MULTILINESTRING
> -nlt MULTIPLOLYGON
>  a seconda della geometria; con ogrinfo si riesce a sapere se ci sono
> geometrie miste, ma l'output è molto prolisso, per cui è meglio filtrarlo
> in
> questo modo:
>
> /ogrinfo -al shapefile | sed 's/POLYGON/&#/g' | tr "#" \\n | grep POLYGON/
> /ogrinfo -al shapefile | sed 's/LINESTRING/&#/g' | tr "#" \\n | grep
> LINESTRING/
>
> -- se, invece di importare un'intera directory si volessero importare solo
> i
> file presenti in un progetto qgis, come elenco di file per il ciclo for si
> potrebbe usare questa variabile:
>
> SHP=$(grep datasource progetto.qgs | sed -e 's|.*<datasource>||g' -e
> 's|</datasource>||g')
>
>
>
>
> --
> View this message in context: http://gfoss-geographic-free-
> and-open-source-software-italian-mailing.3056002.n2.
> nabble.com/importare-piu-shapefile-in-db-spatialite-tp7596986p7597003.html
> Sent from the Gfoss -- Geographic Free and Open Source Software - Italian
> mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [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.
> 808 iscritti al 07/03/2017
>



--
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>     *

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.
_______________________________________________
[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.
808 iscritti al 07/03/2017
12