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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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') |
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 |
Free forum by Nabble | Edit this page |