Salve a tutti.
Oggi mi si è presentato un problema che pensavo fosse banalissimo ma invece non è così: ovvero fare query spaziali con tabelle che hanno srid differenti. Io ero convinto che postgis potesse fare query "on the fly" gestendo srid differenti e invece non è così! Io ho risolto facendo una select annidata con un st_transform per portare tutto al solito srid. Ma ho sbagliato qualcosa io oppure veramente non si possono fare query con tabelle cha hanno srid diversi? Grazie e saluti a tutti. _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Il 20 gennaio 2011 13:32, Francesco Geri <[hidden email]> ha scritto:
> Salve a tutti. ciao francesco > Oggi mi si è presentato un problema che pensavo fosse banalissimo ma invece > non è così: ovvero fare query spaziali con tabelle che hanno srid > differenti. Io ero convinto che postgis potesse fare query "on the fly" > gestendo srid differenti e invece non è così! Io ho risolto facendo una > select annidata con un st_transform per portare tutto al solito srid. Ma ho > sbagliato qualcosa io oppure veramente non si possono fare query con tabelle > cha hanno srid diversi? > intendi query spaziali vero? se è così direi che è abbastanza normale (forse perchè lavorando tanto con GRASS che costringe ad avere dati nello stesso sistema di coordinate)... > Grazie e saluti a tutti. > -- ciao Luca www.lucadelu.org _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
In reply to this post by frangex
On Thu, 20 Jan 2011 12:32:46 +0000 (GMT), Francesco Geri wrote
> Io ero convinto che postgis potesse fare query > "on the fly" gestendo srid differenti > Francesco, certo che puoi (almeno, in linea di massima). come dici tu stesso, ST_Transform() serve proprio per questo. Ma quando tu dici "on the fly", cosa intendi dire esattamente ? cerco di farti un esempio "tera tera"; ammesso che tbl1.geom abbia SRID=32632 mentre tbl2.geom abbia SRID=4326 --------------------------- SELECT * FROM tbl1, tbl2 WHERE ST_Intersects(tbl1.geom, tbl2.geom); questa sicuramente fallisce, perchè SQL non ha la bacchetta magica, e non ha nessuna idea che tu intendi applicare una riproiezione. ------------------------ SELECT * FROM tbl1, tbl2, WHERE ST_Intersects(tbl1.geom, ST_Transform(tbl2.geom, 32632)); oppure SELECT * FROM tbl1, tbl2, WHERE ST_Intersects(ST_Transform(tbl1.geom, 4326), tbl2.geom); invece queste funzioneranno sicuramente, perchè ora *entrambe* le geometrie appartengono al medesimo SRID ma glielo devi spiegare tu a SQL che occorre applicare una riproiezione :-) ciao Sandro _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Si. Esattamente come ho fatto anch'io.questa sicuramente fallisce, perchè SQL non ha la bacchetta select count(*) from flora3,bioitaly where st_contains(st_transform(bioitaly.the_geom,4326),flora3.the_geom) and bioitaly."DESCZPS" like '%Apuane%';Solo che speravo che postgis avesse la bacchetta magica appunto e facesse una riproiezione al volo in funzione degli srid. Ho preteso un po' troppo. :-) Grazie e ciao! Francesco _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
In reply to this post by a.furieri
Salve a tutti.
Volevo utilizzare gdal rasterize per rasterizzare uno shapefile contenente curve di livello in un file geotiff. il comando lo trovo anche in qgis, ma mi dice che il file .tif deve già esistere ma non capisco come creare questo .tif vuoto... Ho provato anche a lanciare gdal rasterize da riga di comando per creare il file tif ex novo, aggiungendo il parametro -ts... mi sa che manca qualcosa.... ciao e grazie alberto _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Il 20 gennaio 2011 15:24, albertobonati <[hidden email]> ha scritto:
> Salve a tutti. > > Volevo utilizzare gdal rasterize per rasterizzare uno shapefile contenente > curve di livello in un file geotiff. > il comando lo trovo anche in qgis, ma mi dice che il file .tif deve già > esistere ma non capisco come creare questo .tif vuoto... > Ho provato anche a lanciare gdal rasterize da riga di comando per creare il > file tif ex novo, aggiungendo il parametro -ts... > mi sa che manca qualcosa.... ma non è che sbagli e metti la destinazione nel sorgente? gdal da linea di comando funziona così, prima la destinazione e poi il sorgente (strano ma vero :-) ) > > ciao e grazie > > alberto > -- ciao Luca www.lucadelu.org _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
In reply to this post by albertobonati
> Volevo utilizzare gdal rasterize per rasterizzare uno shapefile contenente
> curve di livello in un file geotiff. > il comando lo trovo anche in qgis, ma mi dice che il file .tif deve già > esistere ma non capisco come creare questo .tif vuoto... > Ho provato anche a lanciare gdal rasterize da riga di comando per creare il > file tif ex novo, aggiungendo il parametro -ts... > mi sa che manca qualcosa.... ciao dalla pagina di documentazione: dst_filename: The GDAL supported output file. Must support update mode access. Before GDAL 1.8.0, gdal_rasterize could not create new output files. Quindi con GDAL 1.8 non avresti problemi, con versioni precedenti devi creare tu stesso il raster di output prima di lanciare gdal_rasterize. Esiste anche una FAQ che spiega la questione, e fornisce possibili soluzioni per generare il raster di output: http://trac.osgeo.org/gdal/wiki/FAQRaster#Howtoconvertarastertoalayerofpolygons L'approccio con gdal_translate mi sembra quello piu' semplice nella maggior parte dei casi. Ovviamente tutto cio' se non ti e' possibile effettuare l'update a GDAL 1.8 ;) ciao P -- Paolo Corti Geospatial software developer web: http://www.paolocorti.net twitter: @paolo_corti _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Il giorno gio, 20/01/2011 alle 15.55 +0100, Paolo Corti ha scritto:
> Quindi con GDAL 1.8 non avresti problemi, con versioni precedenti devi > creare tu stesso il raster di output prima di lanciare gdal_rasterize. > > Esiste anche una FAQ che spiega la questione, e fornisce possibili > soluzioni per generare il raster di output: > http://trac.osgeo.org/gdal/wiki/FAQRaster#Howtoconvertarastertoalayerofpolygons > > L'approccio con gdal_translate mi sembra quello piu' semplice nella > maggior parte dei casi. Se usi QGIS, un'alternativa semplice e' utilizzare il raster calculator e trasformare un raster esistente con raster*0 Saluti. -- http://www.faunalia.it/pc _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Il 21/01/2011 9.01, Paolo Cavallini ha scritto:
> Se usi QGIS, un'alternativa semplice e' utilizzare il raster calculator > e trasformare un raster esistente con raster*0 > Saluti. Grazie a tutti per i consigli. Ho scaricato la gdal 1.8 e con quella il file lo crea ex novo, il problema era che credevo di avere l' ultima versione di gdal ma non era così... Non ho comunque risolto il problema visto che mi crea una immagine tutta rigata (sembra che generi una colonna di pixel si ed una no...). Ho provato a modificare i parametri -b e -burn ma nulla da fare e d' altronde la guida non è molto ricca di esempi. Non so se il problema deriva dal fatto di creare ex novo il file, Altro problema è che il file shp con le curve di livello, ottenuto con gdal contour senza problemi, è uno shp che contiene le curve di livello con dettaglio 10 mt di una estensione corrispondente ad un grado di ampiezza e il file rasterizzato dpovrebbe essere molto grande, il mio scopo sarebbe poi di trasformarlo in tiles. Non ho trovato nulla che mi generi direttamente le tiles da shp, mi viene comunque il dubbio che gdal rasterize non sia adatto allo scopo. ciao alberto _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
> Non ho comunque risolto il problema visto che mi crea una immagine tutta
> rigata (sembra che generi una colonna di pixel si ed una no...). Ho provato > a modificare i parametri -b e -burn ma nulla da fare e d' altronde la guida > non è molto ricca di esempi. > > Non so se il problema deriva dal fatto di creare ex novo il file, secondo me devi aumentare la risoluzione dell'output, per far cio' puoi impostare ad es. il parametro -ts > Altro problema è che il file shp con le curve di livello, ottenuto con gdal > contour senza problemi, è uno shp che contiene le curve di livello con > dettaglio 10 mt di una estensione corrispondente ad un grado di ampiezza e > il file rasterizzato dpovrebbe essere molto grande, il mio scopo sarebbe poi > di trasformarlo in tiles. le tile si generano a partire da un immagine, quindi nel tuo caso e' giusto l'approccio di rasterizzare inizialmente lo shapefile. Puoi usare poi gdal_retile (un'altra utility di GDAL) per generare le tiles (puoi anche impostare piu livelli piramidali). ciao P -- Paolo Corti Geospatial software developer web: http://www.paolocorti.net twitter: @paolo_corti _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 485 iscritti al 20.11.2010 |
Free forum by Nabble | Edit this page |