|
|
Buondì!
Immaginate di avere tre vettori in un geodatabase:
A. Comuni italiani;
B. Carta geologica d'Italia;
C. Stradario italiano.
E' possibile secondo voi ottenere in un unico passaggio il clip, secondo un
buffer di X metri dal confine comunale del comune Y selezionato, di B e C
generando come output B e C clippati secondo il buffer di prima e A come
comune selezionato, usando solo SQL e senza scomodare script in Python?
E, magari ancora, avere come output un geodatabase in SpatiaLite che
contiene tutti e tre i vettori elaborati.
Il tutto potrebbe essere effettuato in QGIS direttamente?
____________
Massimiliano Moraca < http://massimilianomoraca.it/>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
Ingegnere, consulente GIS e ciclista urbano
|
|
Ciao Massimiliano,
sarebbe utile un db iniziale di esempio.
se puoi allega qui il link alla risorsa.
saluti
Il giorno 24 ottobre 2017 08:55, Massimiliano Moraca <
[hidden email]> ha scritto:
> Buondì!
> Immaginate di avere tre vettori in un geodatabase:
> A. Comuni italiani;
> B. Carta geologica d'Italia;
> C. Stradario italiano.
>
> E' possibile secondo voi ottenere in un unico passaggio il clip, secondo un
> buffer di X metri dal confine comunale del comune Y selezionato, di B e C
> generando come output B e C clippati secondo il buffer di prima e A come
> comune selezionato, usando solo SQL e senza scomodare script in Python?
>
> E, magari ancora, avere come output un geodatabase in SpatiaLite che
> contiene tutti e tre i vettori elaborati.
>
> Il tutto potrebbe essere effettuato in QGIS direttamente?
> ____________
>
> Massimiliano Moraca < http://massimilianomoraca.it/>
> _______________________________________________
> [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.
> 801 iscritti al 19/07/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/> FB: Co-admin
- https://www.facebook.com/qgis.it/ < https://www.facebook.com/qgis.it/>**
< https://www.facebook.com/qgis.it/> *
*FB: moderatore - ** https://www.facebook.com/groups/GisItalia/< https://www.facebook.com/groups/GisItalia/>**
< https://www.facebook.com/groups/GisItalia/> *
*TW: < http://goog_95411464>** https://twitter.com/totofiandaca< https://twitter.com/totofiandaca>*
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/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
Se intendi con un'unica query SQL, la vedo difficile.
Ma passo la parola agli esperti SQL.
Saluti
Nino
Il 24 ott 2017 8:55 AM, "Massimiliano Moraca" < [hidden email]>
ha scritto:
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
Di seguito potete scaricare un piccolo geodb di prova in sqlite
https://drive.google.com/file/d/0B_xF8YN-9DwJVDFLbGdNN1hVWnM/view?usp=sharing____________
Massimiliano Moraca < http://massimilianomoraca.it/>
Il giorno 24 ottobre 2017 10:56, nino formica < [hidden email]> ha
scritto:
> Se intendi con un'unica query SQL, la vedo difficile.
> Ma passo la parola agli esperti SQL.
>
> Saluti
> Nino
>
> Il 24 ott 2017 8:55 AM, "Massimiliano Moraca" <
> [hidden email]> ha scritto:
>
>> Buondì!
>> Immaginate di avere tre vettori in un geodatabase:
>> A. Comuni italiani;
>> B. Carta geologica d'Italia;
>> C. Stradario italiano.
>>
>> E' possibile secondo voi ottenere in un unico passaggio il clip, secondo
>> un
>> buffer di X metri dal confine comunale del comune Y selezionato, di B e C
>> generando come output B e C clippati secondo il buffer di prima e A come
>> comune selezionato, usando solo SQL e senza scomodare script in Python?
>>
>> E, magari ancora, avere come output un geodatabase in SpatiaLite che
>> contiene tutti e tre i vettori elaborati.
>>
>> Il tutto potrebbe essere effettuato in QGIS direttamente?
>> ____________
>>
>> Massimiliano Moraca < http://massimilianomoraca.it/>
>> _______________________________________________
>> [hidden email] < http:///user/SendEmail.jtp?type=node&node=7597304&i=0>
>> 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.
>> 801 iscritti al 19/07/2017
>> Ingegnere, Gis Analyst, Mobility Manager e ciclista urbano. Mi piace
>> mettere insieme le mie competenze in ambito GIS con quelle acquisite
>> nell'ambito della mobilità sostenibile.
>>
>>
>> ------------------------------
>> If you reply to this email, your message will be added to the discussion
>> below:
>> http://gfoss-geographic-free-and-open-source-software-italia>> n-mailing.3056002.n2.nabble.com/Aggregare-operazioni-con-
>> SQL-tp7597304.html
>> To unsubscribe from Gfoss -- Geographic Free and Open Source Software -
>> Italian mailing list, click here
>> <
>> .
>> NAML
>> <http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
Ingegnere, consulente GIS e ciclista urbano
|
|
2017-10-24 8:55 GMT+02:00 Massimiliano Moraca < [hidden email]>
:
> Buondì!
> Immaginate di avere tre vettori in un geodatabase:
> A. Comuni italiani;
> B. Carta geologica d'Italia;
> C. Stradario italiano.
>
> E' possibile secondo voi ottenere in un unico passaggio il clip, secondo un
> buffer di X metri dal confine comunale del comune Y selezionato, di B e C
> generando come output B e C clippati secondo il buffer di prima e A come
> comune selezionato, usando solo SQL e senza scomodare script in Python?
>
> E, magari ancora, avere come output un geodatabase in SpatiaLite che
> contiene tutti e tre i vettori elaborati.
>
> Il tutto potrebbe essere effettuato in QGIS direttamente?
>
Potrebbe funzionare qualcosa di questo tipo:
https://gist.github.com/slarosa/18d67175befd341176e92cfc9b54c518Cosa intendi per unico passaggio? Unica query?
Saluti!
--
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatoretwitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
Rileggendo il quesito sembrerebbe che tu volessi realizzare delle stampe
con QGIS, un atlas in particolare, VERO?
Se cosi fosse, non occorre creare tante tabelle quante sono i comuni.
Basterebbe utilizzare le potenzialità del geometry_generation unito ad una
tematizzazione tramite regole.
saluti
Il giorno 24 ottobre 2017 12:08, Salvatore Larosa < [hidden email]> ha
scritto:
> 2017-10-24 8:55 GMT+02:00 Massimiliano Moraca <
> [hidden email]>
> :
>
> > Buondì!
> > Immaginate di avere tre vettori in un geodatabase:
> > A. Comuni italiani;
> > B. Carta geologica d'Italia;
> > C. Stradario italiano.
> >
> > E' possibile secondo voi ottenere in un unico passaggio il clip, secondo
> un
> > buffer di X metri dal confine comunale del comune Y selezionato, di B e C
> > generando come output B e C clippati secondo il buffer di prima e A come
> > comune selezionato, usando solo SQL e senza scomodare script in Python?
> >
> > E, magari ancora, avere come output un geodatabase in SpatiaLite che
> > contiene tutti e tre i vettori elaborati.
> >
> > Il tutto potrebbe essere effettuato in QGIS direttamente?
> >
>
> Potrebbe funzionare qualcosa di questo tipo:
> https://gist.github.com/slarosa/18d67175befd341176e92cfc9b54c518>
> Cosa intendi per unico passaggio? Unica query?
>
> Saluti!
>
> --
> Salvatore Larosa
> linkedIn: http://linkedin.com/in/larosasalvatore> twitter: @lrssvt
> skype: s.larosa
> IRC: lrssvt on freenode
> _______________________________________________
> [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.
> 801 iscritti al 19/07/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/> FB: Co-admin
- https://www.facebook.com/qgis.it/ < https://www.facebook.com/qgis.it/>**
< https://www.facebook.com/qgis.it/> *
*FB: moderatore - ** https://www.facebook.com/groups/GisItalia/< https://www.facebook.com/groups/GisItalia/>**
< https://www.facebook.com/groups/GisItalia/> *
*TW: < http://goog_95411464>** https://twitter.com/totofiandaca< https://twitter.com/totofiandaca>*
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/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
No Totò avevo scritto che come output volevo un geodatabase in SpatiaLite
non le stampe.
Credo che Salvatore Larosa abbia colpito nel segno. Più tardi provo e
faccio sapere.
____________
Massimiliano Moraca < http://massimilianomoraca.it/>
Il giorno 24 ottobre 2017 12:54, Totò Fiandaca < [hidden email]>
ha scritto:
> Rileggendo il quesito sembrerebbe che tu volessi realizzare delle stampe
> con QGIS, un atlas in particolare, VERO?
>
> Se cosi fosse, non occorre creare tante tabelle quante sono i comuni.
>
> Basterebbe utilizzare le potenzialità del geometry_generation unito ad una
> tematizzazione tramite regole.
>
> saluti
>
> Il giorno 24 ottobre 2017 12:08, Salvatore Larosa < [hidden email]> ha
> scritto:
>
>> 2017-10-24 8:55 GMT+02:00 Massimiliano Moraca <
>> [hidden email]>
>> :
>>
>> > Buondì!
>> > Immaginate di avere tre vettori in un geodatabase:
>> > A. Comuni italiani;
>> > B. Carta geologica d'Italia;
>> > C. Stradario italiano.
>> >
>> > E' possibile secondo voi ottenere in un unico passaggio il clip,
>> secondo un
>> > buffer di X metri dal confine comunale del comune Y selezionato, di B e
>> C
>> > generando come output B e C clippati secondo il buffer di prima e A come
>> > comune selezionato, usando solo SQL e senza scomodare script in Python?
>> >
>> > E, magari ancora, avere come output un geodatabase in SpatiaLite che
>> > contiene tutti e tre i vettori elaborati.
>> >
>> > Il tutto potrebbe essere effettuato in QGIS direttamente?
>> >
>>
>> Potrebbe funzionare qualcosa di questo tipo:
>> https://gist.github.com/slarosa/18d67175befd341176e92cfc9b54c518>>
>> Cosa intendi per unico passaggio? Unica query?
>>
>> Saluti!
>>
>> --
>> Salvatore Larosa
>> linkedIn: http://linkedin.com/in/larosasalvatore>> twitter: @lrssvt
>> skype: s.larosa
>> IRC: lrssvt on freenode
>> _______________________________________________
>> [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.
>> 801 iscritti al 19/07/2017
>>
>
>
>
> --
> *Ing. Salvatore Fiandaca*
> *mobile*.:+39 327.493.8955 <+39%20327%20493%208955>
> *m*: * [hidden email] < [hidden email]>*
> *C.F*.: FNDSVT71E29Z103G
> *P.IVA*: 06597870820
> *blog:*
> * https://pigrecoinfinito.wordpress.com/> < https://pigrecoinfinito.wordpress.com/> FB: Co-admin
> - https://www.facebook.com/qgis.it/ < https://www.facebook.com/qgis.it/>**
> < https://www.facebook.com/qgis.it/> *
> *FB: moderatore - ** https://www.facebook.com/groups/GisItalia/> < https://www.facebook.com/groups/GisItalia/>**
> < https://www.facebook.com/groups/GisItalia/> *
> *TW: < http://goog_95411464>** https://twitter.com/totofiandaca> < https://twitter.com/totofiandaca>*
>
> 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/gfossQuesta 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.
801 iscritti al 19/07/2017
Ingegnere, consulente GIS e ciclista urbano
|
|
Si confermo che Salvatore Larosa ha centrato il problema.
Per l'automatizzazione in QGIS si potrebbe usare il Processing Modeler ma
non credo che lì si possa usare codice SQL. Testo e vi dico ;)
____________
Massimiliano Moraca < http://massimilianomoraca.it/>
Il giorno 24 ottobre 2017 13:15, Massimiliano Moraca <
[hidden email]> ha scritto:
> No Totò avevo scritto che come output volevo un geodatabase in SpatiaLite
> non le stampe.
> Credo che Salvatore Larosa abbia colpito nel segno. Più tardi provo e
> faccio sapere.
>
> ____________
>
> Massimiliano Moraca < http://massimilianomoraca.it/>
>
> Il giorno 24 ottobre 2017 12:54, Totò Fiandaca < [hidden email]>
> ha scritto:
>
>> Rileggendo il quesito sembrerebbe che tu volessi realizzare delle stampe
>> con QGIS, un atlas in particolare, VERO?
>>
>> Se cosi fosse, non occorre creare tante tabelle quante sono i comuni.
>>
>> Basterebbe utilizzare le potenzialità del geometry_generation unito ad
>> una tematizzazione tramite regole.
>>
>> saluti
>>
>> Il giorno 24 ottobre 2017 12:08, Salvatore Larosa < [hidden email]>
>> ha scritto:
>>
>>> 2017-10-24 8:55 GMT+02:00 Massimiliano Moraca <
>>> [hidden email]>
>>> :
>>>
>>> > Buondì!
>>> > Immaginate di avere tre vettori in un geodatabase:
>>> > A. Comuni italiani;
>>> > B. Carta geologica d'Italia;
>>> > C. Stradario italiano.
>>> >
>>> > E' possibile secondo voi ottenere in un unico passaggio il clip,
>>> secondo un
>>> > buffer di X metri dal confine comunale del comune Y selezionato, di B
>>> e C
>>> > generando come output B e C clippati secondo il buffer di prima e A
>>> come
>>> > comune selezionato, usando solo SQL e senza scomodare script in Python?
>>> >
>>> > E, magari ancora, avere come output un geodatabase in SpatiaLite che
>>> > contiene tutti e tre i vettori elaborati.
>>> >
>>> > Il tutto potrebbe essere effettuato in QGIS direttamente?
>>> >
>>>
>>> Potrebbe funzionare qualcosa di questo tipo:
>>> https://gist.github.com/slarosa/18d67175befd341176e92cfc9b54c518>>>
>>> Cosa intendi per unico passaggio? Unica query?
>>>
>>> Saluti!
>>>
>>> --
>>> Salvatore Larosa
>>> linkedIn: http://linkedin.com/in/larosasalvatore>>> twitter: @lrssvt
>>> skype: s.larosa
>>> IRC: lrssvt on freenode
>>> _______________________________________________
>>> [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.
>>> 801 iscritti al 19/07/2017
>>>
>>
>>
>>
>> --
>> *Ing. Salvatore Fiandaca*
>> *mobile*.:+39 327.493.8955 <+39%20327%20493%208955>
>> *m*: * [hidden email] < [hidden email]>*
>> *C.F*.: FNDSVT71E29Z103G
>> *P.IVA*: 06597870820
>> *blog:*
>> * https://pigrecoinfinito.wordpress.com/>> < https://pigrecoinfinito.wordpress.com/> FB: Co-admin
>> - https://www.facebook.com/qgis.it/ < https://www.facebook.com/qgis.it/>**
>> < https://www.facebook.com/qgis.it/> *
>> *FB: moderatore - ** https://www.facebook.com/groups/GisItalia/>> < https://www.facebook.com/groups/GisItalia/>**
>> < https://www.facebook.com/groups/GisItalia/> *
>> *TW: < http://goog_95411464>** https://twitter.com/totofiandaca>> < https://twitter.com/totofiandaca>*
>>
>> 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/gfossQuesta 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.
801 iscritti al 19/07/2017
Ingegnere, consulente GIS e ciclista urbano
|
|
On Tue, 24 Oct 2017 08:55:02 +0200, Massimiliano Moraca wrote:
> Buondì!
> Immaginate di avere tre vettori in un geodatabase:
> A. Comuni italiani;
> B. Carta geologica d'Italia;
> C. Stradario italiano.
>
> E' possibile secondo voi ottenere in un unico passaggio il clip,
> secondo un
> buffer di X metri dal confine comunale del comune Y selezionato, di B
> e C
> generando come output B e C clippati secondo il buffer di prima e A
> come
> comune selezionato, usando solo SQL e senza scomodare script in
> Python?
>
> E, magari ancora, avere come output un geodatabase in SpatiaLite che
> contiene tutti e tre i vettori elaborati.
>
ciao Massimiliano,
vedi l'esempio allegato (che si basa sul tuo DB campione).
per eseguire lo SQL script devi semplicemente:
- aprire una shell dei comandi (finestra nera)
- posizionarti sulla cartella dove hai messo il tuo DB
"campania_test.sqlite"
- ed infine eseguire questo comando:
spatialite napoli.sqlite <moraca.sql
vedrai che alla fine ti troverai con un nuovo DB di
nome "napoli.sqlite" che contiene esclusivamente
gli elementi di pertinenza del Comune di Napoli.
--------
ti lascio come "compito a casa" la lettura meditata
dello SQL script allegato, in cui ho inserito quanti
piu' commenti possible per rendere piu' chiari i
passaggi meno ovvi e meno banali.
ciao Sandro
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
On Tue, 24 Oct 2017 14:53:44 +0200, [hidden email] wrote:
> vedi l'esempio allegato (che si basa sul tuo DB campione).
>
sorry, pare che la mailing lista non accetta neppure 3KB
di allegato.
copio lo SQL script a seguire nel corpo della mail
S
--------------------------------------------------------
--
-- abbiamo appena creato un nuovo DB "MAIN", che e' ancora
completamente vuoto.
-- ora "attacchiamo" al "MAIN" il DB "vecchio" che contiene i dati da
importare
--
ATTACH DATABASE './campania_test.sqlite' AS vecchio;
--
-- ora utilizziamo la funzione CreateClonedTable per creare le tavole
-- nel "MAIN" ricopiando tal quali le definizioni corrispondenti
-- dichiarate nel DB "vecchio".
-- NOTA: cosi' siamo sicuri che verrano riprodotte fedelmente le
-- definizione dalla Primary Key, degli Spatial Index etc
--
SELECT CreateClonedTable('vecchio', 'comuni', 'comuni', 1);
SELECT CreateClonedTable('vecchio', '2_rete_ferroviaria',
'2_rete_ferroviaria', 1);
SELECT CreateClonedTable('vecchio', 'complessi_idrogeologici',
'complessi_idrogeologici', 1);
--
-- ora andiamo a copiare il solo Comune di Napoli dal "vecchio" al
"MAIN"
--
INSERT INTO main.comuni (id, pk2_28, campan2_id, comune, pr, geom)
SELECT id, pk2_28, campan2_id, comune, pr, geom
FROM vecchio.comuni
WHERE comune = 'Napoli';
--
-- ora copiamo gli elementi ferroviari
-- in questo caso dovremo calcolare l'intersezione tra le
-- geometrie da importare ed il Buffer basato sul Comune.
-- in questo caso NON utilizzeremo lo Spatial Index.
--
-- nota: occorre un cast esplicitio al tipo MultiLinestring,
-- perche' le intersezioni saranno facilmente Linestring
-- elementari.
--
-- nota #2: battezzare una tavola con un nome che inizia con
-- una cifra e' assolutamente indecente :-PACKAGE
-- vedi tutta la marea di double quoting che implica per
-- rendere legale il nome secondo la sintassi SQL
--
INSERT INTO main."2_rete_ferroviaria" (id, pk2_72, tipo, opzioni,
descrizion, geom)
SELECT v.id, v.pk2_72, v.tipo, v.opzioni, v.descrizion,
CastToMultiLinestring(ST_Intersection(v.geom, n.geom))
FROM vecchio."2_rete_ferroviaria" AS v,
(SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
WHERE ST_Intersects(v.geom, n.geom) = 1;
--
-- ora infine copiamo i complessi idrogeologici
-- piu' o meno e' come il caso precedente, ma questa volta
-- utilizziamo anche lo Spatial Index.
--
-- note: dobbiamo fare un cast al tipo MultiPolygon perche'
-- spesso le intertsezioni saranno Poligoni semplici.
--
INSERT INTO main.complessi_idrogeologici (id, pk2_26, stringa, area,
perimeter,
id_tipo_co, tipo_compl, id_tipo_fo, id_tipo_pe, id_grado_p, note,
geom)
SELECT v.id, v.pk2_26, v.stringa, v.area, v.perimeter, v.id_tipo_co,
v.tipo_compl,
v.id_tipo_fo, v.id_tipo_pe, v.id_grado_p, v.note,
CastToMultiPolygon(ST_Intersection(v.geom, n.geom))
FROM vecchio.complessi_idrogeologici AS v,
(SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
WHERE ST_Intersects(v.geom, n.geom) = 1 AND v.ROWID IN (
SELECT rowid FROM SpatialIndex
WHERE f_table_name = 'DB=vecchio.complessi_idrogeologici'
AND search_frame = n.geom);
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|
Grazie mille Sandro, ho dato una attenta lettura ad entrambe le mail ma mi
servirà un po' per assimilare gli script della seconda :D
Per il "battesimo" della tabella hai ragione ma volevo cercare di mantenere
inalterati i nomi degli shp presi dal PTR della Campania da cui provengono
i vettori del geodatabase di prova.
____________
Massimiliano Moraca < http://massimilianomoraca.it/>
Il giorno 24 ottobre 2017 14:56, < [hidden email]> ha scritto:
> On Tue, 24 Oct 2017 14:53:44 +0200, [hidden email] wrote:
>
>> vedi l'esempio allegato (che si basa sul tuo DB campione).
>>
>>
> sorry, pare che la mailing lista non accetta neppure 3KB
> di allegato.
>
> copio lo SQL script a seguire nel corpo della mail
> S
>
> --------------------------------------------------------
> --
> -- abbiamo appena creato un nuovo DB "MAIN", che e' ancora completamente
> vuoto.
> -- ora "attacchiamo" al "MAIN" il DB "vecchio" che contiene i dati da
> importare
> --
> ATTACH DATABASE './campania_test.sqlite' AS vecchio;
>
> --
> -- ora utilizziamo la funzione CreateClonedTable per creare le tavole
> -- nel "MAIN" ricopiando tal quali le definizioni corrispondenti
> -- dichiarate nel DB "vecchio".
> -- NOTA: cosi' siamo sicuri che verrano riprodotte fedelmente le
> -- definizione dalla Primary Key, degli Spatial Index etc
> --
> SELECT CreateClonedTable('vecchio', 'comuni', 'comuni', 1);
> SELECT CreateClonedTable('vecchio', '2_rete_ferroviaria',
> '2_rete_ferroviaria', 1);
> SELECT CreateClonedTable('vecchio', 'complessi_idrogeologici',
> 'complessi_idrogeologici', 1);
>
> --
> -- ora andiamo a copiare il solo Comune di Napoli dal "vecchio" al "MAIN"
> --
> INSERT INTO main.comuni (id, pk2_28, campan2_id, comune, pr, geom)
> SELECT id, pk2_28, campan2_id, comune, pr, geom
> FROM vecchio.comuni
> WHERE comune = 'Napoli';
>
> --
> -- ora copiamo gli elementi ferroviari
> -- in questo caso dovremo calcolare l'intersezione tra le
> -- geometrie da importare ed il Buffer basato sul Comune.
> -- in questo caso NON utilizzeremo lo Spatial Index.
> --
> -- nota: occorre un cast esplicitio al tipo MultiLinestring,
> -- perche' le intersezioni saranno facilmente Linestring
> -- elementari.
> --
> -- nota #2: battezzare una tavola con un nome che inizia con
> -- una cifra e' assolutamente indecente :-PACKAGE
> -- vedi tutta la marea di double quoting che implica per
> -- rendere legale il nome secondo la sintassi SQL
> --
> INSERT INTO main."2_rete_ferroviaria" (id, pk2_72, tipo, opzioni,
> descrizion, geom)
> SELECT v.id, v.pk2_72, v.tipo, v.opzioni, v.descrizion,
> CastToMultiLinestring(ST_Intersection(v.geom, n.geom))
> FROM vecchio."2_rete_ferroviaria" AS v,
> (SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
> WHERE ST_Intersects(v.geom, n.geom) = 1;
>
> --
> -- ora infine copiamo i complessi idrogeologici
> -- piu' o meno e' come il caso precedente, ma questa volta
> -- utilizziamo anche lo Spatial Index.
> --
> -- note: dobbiamo fare un cast al tipo MultiPolygon perche'
> -- spesso le intertsezioni saranno Poligoni semplici.
> --
> INSERT INTO main.complessi_idrogeologici (id, pk2_26, stringa, area,
> perimeter,
> id_tipo_co, tipo_compl, id_tipo_fo, id_tipo_pe, id_grado_p, note, geom)
> SELECT v.id, v.pk2_26, v.stringa, v.area, v.perimeter, v.id_tipo_co,
> v.tipo_compl,
> v.id_tipo_fo, v.id_tipo_pe, v.id_grado_p, v.note,
> CastToMultiPolygon(ST_Intersection(v.geom, n.geom))
> FROM vecchio.complessi_idrogeologici AS v,
> (SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
> WHERE ST_Intersects(v.geom, n.geom) = 1 AND v.ROWID IN (
> SELECT rowid FROM SpatialIndex
> WHERE f_table_name = 'DB=vecchio.complessi_idrogeologici'
> AND search_frame = n.geom);
>
> _______________________________________________
> [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.
> 801 iscritti al 19/07/2017
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfossQuesta 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.
801 iscritti al 19/07/2017
Ingegnere, consulente GIS e ciclista urbano
|
|
Ciao a tutti,
volevo ringraziare Furieri per la condivisione dello script.
Mi sono permesso di creare un gist [0], perchè la condivisione è alla base
di tutto!!!
Ho testato lo script su spatialite_gui, funziona benissimo; basta copiarlo
ed incollarlo!!!
saluti
[0] https://gist.github.com/pigreco/30eaba334b8b20f23cd9d64e049c6926Il giorno 24 ottobre 2017 15:29, Massimiliano Moraca <
[hidden email]> ha scritto:
> Grazie mille Sandro, ho dato una attenta lettura ad entrambe le mail ma mi
> servirà un po' per assimilare gli script della seconda :D
> Per il "battesimo" della tabella hai ragione ma volevo cercare di mantenere
> inalterati i nomi degli shp presi dal PTR della Campania da cui provengono
> i vettori del geodatabase di prova.
>
> ____________
>
> Massimiliano Moraca < http://massimilianomoraca.it/>
>
> Il giorno 24 ottobre 2017 14:56, < [hidden email]> ha scritto:
>
> > On Tue, 24 Oct 2017 14:53:44 +0200, [hidden email] wrote:
> >
> >> vedi l'esempio allegato (che si basa sul tuo DB campione).
> >>
> >>
> > sorry, pare che la mailing lista non accetta neppure 3KB
> > di allegato.
> >
> > copio lo SQL script a seguire nel corpo della mail
> > S
> >
> > --------------------------------------------------------
> > --
> > -- abbiamo appena creato un nuovo DB "MAIN", che e' ancora completamente
> > vuoto.
> > -- ora "attacchiamo" al "MAIN" il DB "vecchio" che contiene i dati da
> > importare
> > --
> > ATTACH DATABASE './campania_test.sqlite' AS vecchio;
> >
> > --
> > -- ora utilizziamo la funzione CreateClonedTable per creare le tavole
> > -- nel "MAIN" ricopiando tal quali le definizioni corrispondenti
> > -- dichiarate nel DB "vecchio".
> > -- NOTA: cosi' siamo sicuri che verrano riprodotte fedelmente le
> > -- definizione dalla Primary Key, degli Spatial Index etc
> > --
> > SELECT CreateClonedTable('vecchio', 'comuni', 'comuni', 1);
> > SELECT CreateClonedTable('vecchio', '2_rete_ferroviaria',
> > '2_rete_ferroviaria', 1);
> > SELECT CreateClonedTable('vecchio', 'complessi_idrogeologici',
> > 'complessi_idrogeologici', 1);
> >
> > --
> > -- ora andiamo a copiare il solo Comune di Napoli dal "vecchio" al "MAIN"
> > --
> > INSERT INTO main.comuni (id, pk2_28, campan2_id, comune, pr, geom)
> > SELECT id, pk2_28, campan2_id, comune, pr, geom
> > FROM vecchio.comuni
> > WHERE comune = 'Napoli';
> >
> > --
> > -- ora copiamo gli elementi ferroviari
> > -- in questo caso dovremo calcolare l'intersezione tra le
> > -- geometrie da importare ed il Buffer basato sul Comune.
> > -- in questo caso NON utilizzeremo lo Spatial Index.
> > --
> > -- nota: occorre un cast esplicitio al tipo MultiLinestring,
> > -- perche' le intersezioni saranno facilmente Linestring
> > -- elementari.
> > --
> > -- nota #2: battezzare una tavola con un nome che inizia con
> > -- una cifra e' assolutamente indecente :-PACKAGE
> > -- vedi tutta la marea di double quoting che implica per
> > -- rendere legale il nome secondo la sintassi SQL
> > --
> > INSERT INTO main."2_rete_ferroviaria" (id, pk2_72, tipo, opzioni,
> > descrizion, geom)
> > SELECT v.id, v.pk2_72, v.tipo, v.opzioni, v.descrizion,
> > CastToMultiLinestring(ST_Intersection(v.geom, n.geom))
> > FROM vecchio."2_rete_ferroviaria" AS v,
> > (SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
> > WHERE ST_Intersects(v.geom, n.geom) = 1;
> >
> > --
> > -- ora infine copiamo i complessi idrogeologici
> > -- piu' o meno e' come il caso precedente, ma questa volta
> > -- utilizziamo anche lo Spatial Index.
> > --
> > -- note: dobbiamo fare un cast al tipo MultiPolygon perche'
> > -- spesso le intertsezioni saranno Poligoni semplici.
> > --
> > INSERT INTO main.complessi_idrogeologici (id, pk2_26, stringa, area,
> > perimeter,
> > id_tipo_co, tipo_compl, id_tipo_fo, id_tipo_pe, id_grado_p, note,
> geom)
> > SELECT v.id, v.pk2_26, v.stringa, v.area, v.perimeter, v.id_tipo_co,
> > v.tipo_compl,
> > v.id_tipo_fo, v.id_tipo_pe, v.id_grado_p, v.note,
> > CastToMultiPolygon(ST_Intersection(v.geom, n.geom))
> > FROM vecchio.complessi_idrogeologici AS v,
> > (SELECT ST_Buffer(geom, 1000.0) AS geom FROM main.comuni) AS n
> > WHERE ST_Intersects(v.geom, n.geom) = 1 AND v.ROWID IN (
> > SELECT rowid FROM SpatialIndex
> > WHERE f_table_name = 'DB=vecchio.complessi_idrogeologici'
> > AND search_frame = n.geom);
> >
> > _______________________________________________
> > [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.
> > 801 iscritti al 19/07/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.
> 801 iscritti al 19/07/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/> FB: Co-admin
- https://www.facebook.com/qgis.it/ < https://www.facebook.com/qgis.it/>**
< https://www.facebook.com/qgis.it/> *
*FB: moderatore - ** https://www.facebook.com/groups/GisItalia/< https://www.facebook.com/groups/GisItalia/>**
< https://www.facebook.com/groups/GisItalia/> *
*TW: < http://goog_95411464>** https://twitter.com/totofiandaca< https://twitter.com/totofiandaca>*
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/gfossQuesta 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.
801 iscritti al 19/07/2017
|
|