[Gfoss] Geoprocessing "virtuale" in QGIS

Buongiorno a tutti,

mi è stata recentemente posta una domanda interessante, ossia se esiste un modo per usare alcuni strumenti di geoprocessing su QuantumGIS in maniera "virtuale" ossia per esempio creare un buffer che cambi automaticamente al variare della geometria di origine.

Ho risposto che non ne ero al corrente, e che l'unica soluzione plausibile poteva essere utilizzare un geoDB per il geoprocesing, ma una verifica in mailing list mi pare d'obbligo...

Grazie in anticipo per eventuali suggerimenti!
R

--
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737
mob: 349-8786575
E-mail: roberto.marzocchi@gter.it
skype: roberto.marzocchi84
www.gter.it

--
Gter social
www.twitter.com/Gteronline - www.facebook.com/Gteronline - https://plus.google.com/+GterIt/posts
www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis

-----------------------------------------------------------------
Please consider the environment before printing this email!

Sul geoDB si puo' fare una cosa simile ?

Il 18 dicembre 2014 15:13, Roberto Marzocchi
<roberto.marzocchi@gter.it> ha scritto:

Buongiorno a tutti,

mi è stata recentemente posta una domanda interessante, ossia se esiste un
modo per usare alcuni strumenti di geoprocessing su QuantumGIS in maniera
"virtuale" ossia per esempio creare un buffer che cambi automaticamente al
variare della geometria di origine.

Ho risposto che non ne ero al corrente, e che l'unica soluzione plausibile
poteva essere utilizzare un geoDB per il geoprocesing, ma una verifica in
mailing list mi pare d'obbligo...

Grazie in anticipo per eventuali suggerimenti!
R

--
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737
mob: 349-8786575
E-mail: roberto.marzocchi@gter.it
skype: roberto.marzocchi84
www.gter.it

--
Gter social
www.twitter.com/Gteronline - www.facebook.com/Gteronline -
https://plus.google.com/+GterIt/posts
www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis

-----------------------------------------------------------------
Please consider the environment before printing this email!

_______________________________________________
Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014

--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 18/12/2014 16:02, Andrea Peri ha scritto:

Sul geoDB si puo' fare una cosa simile ?

CREATE VIEW pippo AS SELECT ST_Buffer(geom) FROM pluto;

- --
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlSS8agACgkQ/NedwLUzIr75VwCfWRoeekOiui5f2orNBHN9wWST
RQsAoIWwqejKw/1zbYjYTJwC/mS8NEzk
=nCpp
-----END PGP SIGNATURE-----

La stessa cosa si può fare anche con dati non caricati in un database con il formato virtuale di OGR:

http://www.gdal.org/drv_vrt.html

···

Il giorno 18 dicembre 2014 16:24, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 18/12/2014 16:02, Andrea Peri ha scritto:

Sul geoDB si puo’ fare una cosa simile ?

CREATE VIEW pippo AS SELECT ST_Buffer(geom) FROM pluto;


Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlSS8agACgkQ/NedwLUzIr75VwCfWRoeekOiui5f2orNBHN9wWST
RQsAoIWwqejKw/1zbYjYTJwC/mS8NEzk
=nCpp
-----END PGP SIGNATURE-----


Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

2014-12-18 15:13 GMT+01:00 Roberto Marzocchi <roberto.marzocchi@gter.it>:

Buongiorno a tutti,

mi è stata recentemente posta una domanda interessante, ossia se esiste un
modo per usare alcuni strumenti di geoprocessing su QuantumGIS in maniera
"virtuale" ossia per esempio creare un buffer che cambi automaticamente al
variare della geometria di origine.

Ho risposto che non ne ero al corrente, e che l'unica soluzione plausibile
poteva essere utilizzare un geoDB per il geoprocesing, ma una verifica in
mailing list mi pare d'obbligo...

Grazie in anticipo per eventuali suggerimenti!
R

Qui un video che mostra in pratica quanto suggerito da Paolo,
utilizzando PostGIS.

https://www.youtube.com/watch?v=oOhbbEkl4Kg

Saluti,
-SL

--
Salvatore Larosa
linkedIn: http://linkedin.com/in/larosasalvatore
twitter: @lrssvt
skype: s.larosa
IRC: lrssvt on freenode

OK. Capito.
Non riuscivo a capire cosa si intendesse per buffer che cambia al cambiare della geometria.
:slight_smile:

Il 18/dic/2014 16:24 “Paolo Cavallini” <cavallini@faunalia.it> ha scritto:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 18/12/2014 16:02, Andrea Peri ha scritto:

Sul geoDB si puo’ fare una cosa simile ?

CREATE VIEW pippo AS SELECT ST_Buffer(geom) FROM pluto;


Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlSS8agACgkQ/NedwLUzIr75VwCfWRoeekOiui5f2orNBHN9wWST
RQsAoIWwqejKw/1zbYjYTJwC/mS8NEzk
=nCpp
-----END PGP SIGNATURE-----


Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni caso ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E' corretto?

Grazie ancora e cari saluti,
R

Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737
mob: 349-8786575
E-mail: roberto.marzocchi@gter.it
skype: roberto.marzocchi84
www.gter.it

--
Gter social
www.twitter.com/Gteronline - www.facebook.com/Gteronline - https://plus.google.com/+GterIt/posts
www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis

-----------------------------------------------------------------
Please consider the environment before printing this email!

On 18/12/2014 16:29, Stefano Iacovella wrote:

La stessa cosa si può fare anche con dati non caricati in un database con il formato virtuale di OGR:

http://www.gdal.org/drv_vrt.html

---------------------------------------------------
41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas <http://twitter.com/#!/Iacovellas&gt;

Il giorno 18 dicembre 2014 16:24, Paolo Cavallini <cavallini@faunalia.it <mailto:cavallini@faunalia.it>> ha scritto:

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Il 18/12/2014 16:02, Andrea Peri ha scritto:
    > Sul geoDB si puo' fare una cosa simile ?

    CREATE VIEW pippo AS SELECT ST_Buffer(geom) FROM pluto;

    - --
    Paolo Cavallini - www.faunalia.eu <http://www.faunalia.eu>
    QGIS & PostGIS courses: http://www.faunalia.eu/training.html
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1

    iEYEARECAAYFAlSS8agACgkQ/NedwLUzIr75VwCfWRoeekOiui5f2orNBHN9wWST
    RQsAoIWwqejKw/1zbYjYTJwC/mS8NEzk
    =nCpp
    -----END PGP SIGNATURE-----
    _______________________________________________
    Gfoss@lists.gfoss.it <mailto:Gfoss@lists.gfoss.it>
    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.
    666+40 iscritti al 5.6.2014

_______________________________________________
Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014

2014-12-19 9:09 GMT+01:00 Roberto Marzocchi <roberto.marzocchi@gter.it>:

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni caso
ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E'
corretto?

è un formato di ogr, perciò qgis dovrebbe già supportarlo

http://www.gdal.org/drv_vrt.html

Grazie ancora e cari saluti,
R

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 19/12/2014 09:09, Roberto Marzocchi ha scritto:

Grazie della segnalazione Stefano! Cerco di approfondire,
francamente ignoravo questa possibilità. In ogni caso ad oggi non
ci sono plugin di QGIS che sfruttino questo formato? E' corretto?

In che senso? DB Manager e' il plugin d'elezione per realizzare viste
o triggers, ma in ogni caso bisogna sapere un po' di SQL.
Saluti.
- --
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlST3dsACgkQ/NedwLUzIr4zLACfaYg5sUoHDEi4a2XAl8Pf7GEb
U0IAnjDpGJHDpdBDE/6C2d1DArkMcNPR
=XVI1
-----END PGP SIGNATURE-----

On 19/12/2014 09:12, Paolo Cavallini wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 19/12/2014 09:09, Roberto Marzocchi ha scritto:

Grazie della segnalazione Stefano! Cerco di approfondire,
francamente ignoravo questa possibilità. In ogni caso ad oggi non
ci sono plugin di QGIS che sfruttino questo formato? E' corretto?

In che senso? DB Manager e' il plugin d'elezione per realizzare viste
o triggers, ma in ogni caso bisogna sapere un po' di SQL.
Saluti.

Per fare questo col DB certamente!
Ma io intendevo strumenti analoghi a ftools, per fare geoprocessing per via grafica e creare un nuovo layer virtuale senza passare da un DB per persone più alle prime armi, non per noi!

R

- -- Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlST3dsACgkQ/NedwLUzIr4zLACfaYg5sUoHDEi4a2XAl8Pf7GEb
U0IAnjDpGJHDpdBDE/6C2d1DArkMcNPR
=XVI1
-----END PGP SIGNATURE-----
_______________________________________________
Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014

Penso che l’uso delle view spatialite in QGIS potrebbe essere una potente “feature” da inserire nel “core” di QGIS.

Il poter modificare i dati di base e vedere trasformarsi i livelli dedotti, con operazioni spaziali anche complicate, è affascinante e utilissimo. Pensiamo anche a quanto potrebbe essere utilizzato nel “supporto alle decisioni” o nella “simulazione territoriale” una possibilità del genere (o anche in cose molto più “banali” ed alla portata di qualunque utente GIS, come il frazionamento di particelle :).

L’unico “difetto” sta nelle prestazioni delle view spaziali, che specie se concatenate ad altre view può risultare non banale e quindi troppo poco “in tempo reale”, e quindi poco utilizzabile in fase di modifica di elementi di partenza. Però, si potrebbe utilizzare a questo proposito la stessa tecnica usata in Database Spaziali di “alto lignaggio” come quello che inizia per “O” : le view vengono salvate in tabelle temporanee che hanno alte prestazioni in visualizzazione (al contrario delle “vere” view).

Ci si potrebbe pensare.

Comunque, le view sono veramente potenti :slight_smile: Viva le View !!!

Ciao

Roberto

···

Il giorno 19 dicembre 2014 09:53, Roberto Marzocchi <roberto.marzocchi@gter.it> ha scritto:

On 19/12/2014 09:12, Paolo Cavallini wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 19/12/2014 09:09, Roberto Marzocchi ha scritto:

Grazie della segnalazione Stefano! Cerco di approfondire,
francamente ignoravo questa possibilità. In ogni caso ad oggi non
ci sono plugin di QGIS che sfruttino questo formato? E’ corretto?

In che senso? DB Manager e’ il plugin d’elezione per realizzare viste
o triggers, ma in ogni caso bisogna sapere un po’ di SQL.
Saluti.

Per fare questo col DB certamente!
Ma io intendevo strumenti analoghi a ftools, per fare geoprocessing per via grafica e creare un nuovo layer virtuale senza passare da un DB per persone più alle prime armi, non per noi!

R

iEYEARECAAYFAlST3dsACgkQ/NedwLUzIr4zLACfaYg5sUoHDEi4a2XAl8Pf7GEb
U0IAnjDpGJHDpdBDE/6C2d1DArkMcNPR
=XVI1
-----END PGP SIGNATURE-----


Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014


Gfoss@lists.gfoss.it
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.
666+40 iscritti al 5.6.2014

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 19/12/2014 10:22, Geo DrinX ha scritto:

le view vengono salvate in tabelle temporanee che hanno alte
prestazioni in visualizzazione (al contrario delle "vere" view).

la questione e' risolta in PostgreSQL con le materialized view, oppure
si risolve bene alla "vecchia maniera" con i triggers, potenti e veloci.
saluti.

- --
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlST8fAACgkQ/NedwLUzIr4ZwgCePlSR0dqyBs0/Ov1BpDo6iPNg
2vgAmwba+/RumMQvKWhV/1KPgHzKYbqE
=NnRl
-----END PGP SIGNATURE-----

Il giorno 19 dicembre 2014 09:09, Roberto Marzocchi <
roberto.marzocchi@gter.it> ha scritto:

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni
caso ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E'
corretto?

Grazie ancora e cari saluti,

Ciao Roberto,

Onestamente non avevo mai provato ad utilizzare il formato VRt con QGIS,
l'ho utilizzato varie volte con OGR e sapendo che QGIS utilizza le librerie
GDAL/OGR ero convinto lo leggesse senza problemi.
In realtà ho fatto una piccola prova con QGIS 2.6.0 sotto Windows e ci sono
dei problemi in visualizzazione, almeno nella mia installazione. Riconosce
correttamente i file .vrt come layer e li aggiunge in mappa, ma non si
visualizzano ne le geometrie ne gli attributi.

La flessibilità del formato VRT ti permette di utilizzare tutti i formati
vettoriali supportati dalle librerie GDAL/OGR, e di inserire trasformazioni
direttamente nel file XML che definisce il dato virtuale. Così eviti di
dover creare copie intermedie dei dati. Insomma hai la flessibilità di un
db spaziale anche quando non ne hai uno a portata di mano.
Ad esempio per il buffer dinamico puoi partire da un dato in formato csv:

ID;LATITUDINE;LONGITUDINE
123;42.10;12.35

Ti crei il tuo datasource VRT creando un file XML come questo:

<OGRVRTDataSource>
    <OGRVRTLayer name="point">
        <SrcDataSource>CSV:point.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <LayerSRS>WGS84</LayerSRS>
        <GeometryField encoding="PointFromColumns" x="LONGITUDINE"
y="LATITUDINE"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

Se dalla console esegui il comando ogrinfo -al point.vrt ottieni le info
sul dato:

INFO: Open of `point.vrt'
      using driver `VRT' successful.

Layer name: point
Geometry: Point
Feature Count: 1
Extent: (12.350000, 42.100000) - (12.350000, 42.100000)
Layer SRS WKT:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        TOWGS84[0,0,0,0,0,0,0],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9108"]],
    AUTHORITY["EPSG","4326"]]
ID: String (0.0)
LATITUDINE: String (0.0)
LONGITUDINE: String (0.0)
OGRFeature(point):1
  ID (String) = 123
  LATITUDINE (String) = 42.10
  LONGITUDINE (String) = 12.35
  POINT (12.35 42.1)

Per creare il buffer dinamico crei un altro file .vrt come questo:

<OGRVRTDataSource>
    <OGRVRTLayer name="buffer">
        <SrcDataSource>point.vrt</SrcDataSource>
        <SrcSQL dialect="sqlite">SELECT ST_BUFFER(geometry,0.00001) from
point</SrcSQL>
    </OGRVRTLayer>
</OGRVRTDataSource>

E interrogandolo con ogrinfo -al buffer.vrt ti da le info sulla geometria
derivata:

INFO: Open of `buffer.vrt'
      using driver `VRT' successful.

Layer name: buffer
Geometry: Unknown (any)
Feature Count: 1
Extent: (12.349990, 42.099990) - (12.350010, 42.100010)
Layer SRS WKT:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        TOWGS84[0,0,0,0,0,0,0],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9108"]],
    AUTHORITY["EPSG","4326"]]
OGRFeature(buffer):0
  POLYGON ((12.35001 42.1,12.350009986295348 ... 12.350009986295348
42.100000523359562,12.35001 42.1))

Ovviamente cambiando i valori dentro il file csv il buffer cambia
dinamicamente.

Stefano

---------------------------------------------------
41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

Grazie Stefano. Puoi per cortesia aprire un ticket, allegando un esempio minimale?
Saluti.

···

Il giorno 19 dicembre 2014 09:09, Roberto Marzocchi <roberto.marzocchi@gter.it> ha scritto:

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni caso ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E’ corretto?

Grazie ancora e cari saluti,

Ciao Roberto,

Onestamente non avevo mai provato ad utilizzare il formato VRt con QGIS, l’ho utilizzato varie volte con OGR e sapendo che QGIS utilizza le librerie GDAL/OGR ero convinto lo leggesse senza problemi.

In realtà ho fatto una piccola prova con QGIS 2.6.0 sotto Windows e ci sono dei problemi in visualizzazione, almeno nella mia installazione. Riconosce correttamente i file .vrt come layer e li aggiunge in mappa, ma non si visualizzano ne le geometrie ne gli attributi.

La flessibilità del formato VRT ti permette di utilizzare tutti i formati vettoriali supportati dalle librerie GDAL/OGR, e di inserire trasformazioni direttamente nel file XML che definisce il dato virtuale. Così eviti di dover creare copie intermedie dei dati. Insomma hai la flessibilità di un db spaziale anche quando non ne hai uno a portata di mano.

Ad esempio per il buffer dinamico puoi partire da un dato in formato csv:

ID;LATITUDINE;LONGITUDINE
123;42.10;12.35

Ti crei il tuo datasource VRT creando un file XML come questo:

CSV:point.csv wkbPoint WGS84

Se dalla console esegui il comando ogrinfo -al point.vrt ottieni le info sul dato:

INFO: Open of point.vrt' using driver VRT’ successful.

Layer name: point
Geometry: Point
Feature Count: 1
Extent: (12.350000, 42.100000) - (12.350000, 42.100000)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
ID: String (0.0)
LATITUDINE: String (0.0)
LONGITUDINE: String (0.0)
OGRFeature(point):1
ID (String) = 123
LATITUDINE (String) = 42.10
LONGITUDINE (String) = 12.35
POINT (12.35 42.1)

Per creare il buffer dinamico crei un altro file .vrt come questo:

point.vrt SELECT ST_BUFFER(geometry,0.00001) from point

E interrogandolo con ogrinfo -al buffer.vrt ti da le info sulla geometria derivata:

INFO: Open of buffer.vrt' using driver VRT’ successful.

Layer name: buffer
Geometry: Unknown (any)
Feature Count: 1
Extent: (12.349990, 42.099990) - (12.350010, 42.100010)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
OGRFeature(buffer):0
POLYGON ((12.35001 42.1,12.350009986295348 … 12.350009986295348 42.100000523359562,12.35001 42.1))

Ovviamente cambiando i valori dentro il file csv il buffer cambia dinamicamente.

Stefano


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

Ciao Paolo,

tra le segnalazioni ho trovato questa già aperta:

https://hub.qgis.org/issues/11223

Mi sembra molto simile a quello che ho verificato io, anche se nel mio caso non funziona neppure la parte alfanumerica ne lo zoom sul layer. Pensi che sia preferibile aggiungere un commento su questa segnalazione o aprirne una diversa?

Stefano

···

Il giorno 23 dicembre 2014 19:55, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

Grazie Stefano. Puoi per cortesia aprire un ticket, allegando un esempio minimale?
Saluti.

Il 22 dicembre 2014 09:45:03 CET, Stefano Iacovella <stefano.iacovella@gmail.com> ha scritto:


---

[Gfoss@lists.gfoss.it](mailto:Gfoss@lists.gfoss.it)
[http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss](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](http://GFOSS.it).
666+40 iscritti al 5.6.2014


http://faunalia.eu/
Sent from mobile, sorry for being short


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

Il giorno 19 dicembre 2014 09:09, Roberto Marzocchi <roberto.marzocchi@gter.it> ha scritto:

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni caso ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E’ corretto?

Grazie ancora e cari saluti,

Ciao Roberto,

Onestamente non avevo mai provato ad utilizzare il formato VRt con QGIS, l’ho utilizzato varie volte con OGR e sapendo che QGIS utilizza le librerie GDAL/OGR ero convinto lo leggesse senza problemi.

In realtà ho fatto una piccola prova con QGIS 2.6.0 sotto Windows e ci sono dei problemi in visualizzazione, almeno nella mia installazione. Riconosce correttamente i file .vrt come layer e li aggiunge in mappa, ma non si visualizzano ne le geometrie ne gli attributi.

La flessibilità del formato VRT ti permette di utilizzare tutti i formati vettoriali supportati dalle librerie GDAL/OGR, e di inserire trasformazioni direttamente nel file XML che definisce il dato virtuale. Così eviti di dover creare copie intermedie dei dati. Insomma hai la flessibilità di un db spaziale anche quando non ne hai uno a portata di mano.

Ad esempio per il buffer dinamico puoi partire da un dato in formato csv:

ID;LATITUDINE;LONGITUDINE
123;42.10;12.35

Ti crei il tuo datasource VRT creando un file XML come questo:

CSV:point.csv wkbPoint WGS84

Se dalla console esegui il comando ogrinfo -al point.vrt ottieni le info sul dato:

INFO: Open of point.vrt' using driver VRT’ successful.

Layer name: point
Geometry: Point
Feature Count: 1
Extent: (12.350000, 42.100000) - (12.350000, 42.100000)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
ID: String (0.0)
LATITUDINE: String (0.0)
LONGITUDINE: String (0.0)
OGRFeature(point):1
ID (String) = 123
LATITUDINE (String) = 42.10
LONGITUDINE (String) = 12.35
POINT (12.35 42.1)

Per creare il buffer dinamico crei un altro file .vrt come questo:

point.vrt SELECT ST_BUFFER(geometry,0.00001) from point

E interrogandolo con ogrinfo -al buffer.vrt ti da le info sulla geometria derivata:

INFO: Open of buffer.vrt' using driver VRT’ successful.

Layer name: buffer
Geometry: Unknown (any)
Feature Count: 1
Extent: (12.349990, 42.099990) - (12.350010, 42.100010)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
OGRFeature(buffer):0
POLYGON ((12.35001 42.1,12.350009986295348 … 12.350009986295348 42.100000523359562,12.35001 42.1))

Ovviamente cambiando i valori dentro il file csv il buffer cambia dinamicamente.

Stefano


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

Mi correggo, nella definizione del file XML da me proposto avevo scritto:

CSV:point.csv

inserendo invece il parametro relativeToVRT, che esplicità che il path è relativo alla posizione del VRT file il comportamento è esattamente quello riportato dal ticket esistente.

point.csv

Senza quel parametro QGIS non trova il file .csv evidentemente.

Non resta che sperare in un fix nella prossima release 2.8

Grazie e buona serata

Stefano

···

Il giorno 23 dicembre 2014 20:45, Stefano Iacovella <stefano.iacovella@gmail.com> ha scritto:

Ciao Paolo,

tra le segnalazioni ho trovato questa già aperta:

https://hub.qgis.org/issues/11223

Mi sembra molto simile a quello che ho verificato io, anche se nel mio caso non funziona neppure la parte alfanumerica ne lo zoom sul layer. Pensi che sia preferibile aggiungere un commento su questa segnalazione o aprirne una diversa?

Stefano


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas

Il giorno 23 dicembre 2014 19:55, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

Grazie Stefano. Puoi per cortesia aprire un ticket, allegando un esempio minimale?
Saluti.

Il 22 dicembre 2014 09:45:03 CET, Stefano Iacovella <stefano.iacovella@gmail.com> ha scritto:


---

[Gfoss@lists.gfoss.it](mailto:Gfoss@lists.gfoss.it)
[http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss](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](http://GFOSS.it).
666+40 iscritti al 5.6.2014


http://faunalia.eu/
Sent from mobile, sorry for being short

Il giorno 19 dicembre 2014 09:09, Roberto Marzocchi <roberto.marzocchi@gter.it> ha scritto:

Grazie della segnalazione Stefano!
Cerco di approfondire, francamente ignoravo questa possibilità. In ogni caso ad oggi non ci sono plugin di QGIS che sfruttino questo formato? E’ corretto?

Grazie ancora e cari saluti,

Ciao Roberto,

Onestamente non avevo mai provato ad utilizzare il formato VRt con QGIS, l’ho utilizzato varie volte con OGR e sapendo che QGIS utilizza le librerie GDAL/OGR ero convinto lo leggesse senza problemi.

In realtà ho fatto una piccola prova con QGIS 2.6.0 sotto Windows e ci sono dei problemi in visualizzazione, almeno nella mia installazione. Riconosce correttamente i file .vrt come layer e li aggiunge in mappa, ma non si visualizzano ne le geometrie ne gli attributi.

La flessibilità del formato VRT ti permette di utilizzare tutti i formati vettoriali supportati dalle librerie GDAL/OGR, e di inserire trasformazioni direttamente nel file XML che definisce il dato virtuale. Così eviti di dover creare copie intermedie dei dati. Insomma hai la flessibilità di un db spaziale anche quando non ne hai uno a portata di mano.

Ad esempio per il buffer dinamico puoi partire da un dato in formato csv:

ID;LATITUDINE;LONGITUDINE
123;42.10;12.35

Ti crei il tuo datasource VRT creando un file XML come questo:

CSV:point.csv wkbPoint WGS84

Se dalla console esegui il comando ogrinfo -al point.vrt ottieni le info sul dato:

INFO: Open of point.vrt' using driver VRT’ successful.

Layer name: point
Geometry: Point
Feature Count: 1
Extent: (12.350000, 42.100000) - (12.350000, 42.100000)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
ID: String (0.0)
LATITUDINE: String (0.0)
LONGITUDINE: String (0.0)
OGRFeature(point):1
ID (String) = 123
LATITUDINE (String) = 42.10
LONGITUDINE (String) = 12.35
POINT (12.35 42.1)

Per creare il buffer dinamico crei un altro file .vrt come questo:

point.vrt SELECT ST_BUFFER(geometry,0.00001) from point

E interrogandolo con ogrinfo -al buffer.vrt ti da le info sulla geometria derivata:

INFO: Open of buffer.vrt' using driver VRT’ successful.

Layer name: buffer
Geometry: Unknown (any)
Feature Count: 1
Extent: (12.349990, 42.099990) - (12.350010, 42.100010)
Layer SRS WKT:
GEOGCS[“WGS 84”,
DATUM[“WGS_1984”,
SPHEROID[“WGS 84”,6378137,298.257223563,
AUTHORITY[“EPSG”,“7030”]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY[“EPSG”,“6326”]],
PRIMEM[“Greenwich”,0,
AUTHORITY[“EPSG”,“8901”]],
UNIT[“degree”,0.0174532925199433,
AUTHORITY[“EPSG”,“9108”]],
AUTHORITY[“EPSG”,“4326”]]
OGRFeature(buffer):0
POLYGON ((12.35001 42.1,12.350009986295348 … 12.350009986295348 42.100000523359562,12.35001 42.1))

Ovviamente cambiando i valori dentro il file csv il buffer cambia dinamicamente.

Stefano


41.95581N 12.52854E

http://www.linkedin.com/in/stefanoiacovella

http://twitter.com/#!/Iacovellas