Il giorno 19 dicembre 2014 09:09, Roberto Marzocchi < roberto.marzoc...@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
_______________________________________________ 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