{"id":1710,"date":"2022-04-21T15:13:00","date_gmt":"2022-04-21T13:13:00","guid":{"rendered":"http:\/\/localhost:64280\/it\/?p=1710"},"modified":"2022-07-29T15:13:57","modified_gmt":"2022-07-29T13:13:57","slug":"gdal-raster-tutorial","status":"publish","type":"post","link":"https:\/\/www.3dgis.it\/it\/gdal-raster-tutorial\/","title":{"rendered":"Riscalare i dati raster GIS usando gdal_translate"},"content":{"rendered":"<h1><span style=\"font-size: large;\"><b>Cos\u2019\u00e8 gdal_translate?<\/b><\/span><\/h1>\n<p><span style=\"font-size: medium;\">L\u2019utility <i><b>gdal_translate<\/b><\/i> pu\u00f2 essere utilizzata per la conversione di dati raster tra formati diversi tramite alcune operazioni come sub-settings, ricampionamento e ridimensionamento dei pixel durante il processo.<\/span><\/p>\n<p><span style=\"font-size: medium;\"><i>Concettualmente, basta fare:<\/i><\/span><\/p>\n<p><span style=\"font-size: medium;\"><i><b>gdal_translate OPTIONS input output<\/b><\/i><\/span><\/p>\n<p><span style=\"font-size: medium;\">Vediamo alcuni esempi.<\/span><\/p>\n<h1><span style=\"font-size: medium;\"><b><span style=\"font-size: large;\">Un passo indietro: cosa sono i dati raster<\/span>?<\/b><\/span><\/h1>\n<p><span style=\"font-size: medium;\">Nella sua forma pi\u00f9 semplice, un raster \u00e8 composto da una matrice di celle (o pixel) organizzate in righe e colonne (o una griglia) dove ogni cella contiene un valore che rappresenta delle informazioni, come ad esempio la temperatura. I raster possono essere: fotografie aeree digitali, immagini dal satellite, immagini digitali o anche mappe scansionate. Un dataset raster \u00e8 composto da righe (orizzontali) e colonne (verticali) di pixel. Ogni pixel rappresenta una regione geografica e il valore in quel pixel rappresenta alcune caratteristiche di quella regione.<\/span><\/p>\n<h2><span style=\"font-size: large;\"><b>Come ridimensionare il valore dei componenti dei dati raster con GDAL<\/b><\/span><\/h2>\n<p><span style=\"font-size: medium;\">Ogni pixel nell\u2019immagine pu\u00f2 contenere informazioni differenti, che potrebbero essere codificate in diversi modi. Lo schermo del nostro computer \u00e8 solamente capace di mostrare i dati RGB, e ogni canale (rosso verde blu) \u00e8 codificato in un byte (8 bit). In un\u2019immagine a 32 bit per pixel c\u2019\u00e8 anche spazio per un canale alfa a 8 bit.<\/span><\/p>\n<p><span style=\"font-size: medium;\">I dati raster sono <\/span><span style=\"font-size: medium;\">per\u00f2<\/span><span style=\"font-size: medium;\"> molto pi\u00f9 complessi di cos\u00ec. <\/span><span style=\"font-size: medium;\">Possono ad esempio essere: <\/span><span style=\"font-size: medium;\">in scala di grigi con un valore intero, RGB con 24 o 32 bit, RGB con 16 bit per canale, dati non-<\/span><span style=\"font-size: medium;\">image<\/span><span style=\"font-size: medium;\"> con valori float. <\/span><\/p>\n<p><span style=\"font-size: medium;\">I<\/span><span style=\"font-size: medium;\"> dati raster <\/span><span style=\"font-size: medium;\">possono <\/span><span style=\"font-size: medium;\">inoltre<\/span><span style=\"font-size: medium;\"> essere multibanda. <\/span><span style=\"font-size: medium;\">Questo significa che <\/span><span style=\"font-size: medium;\">un<\/span><span style=\"font-size: medium;\">o specifico dato<\/span><span style=\"font-size: medium;\"> per la tu<\/span><span style=\"font-size: medium;\">p<\/span><span style=\"font-size: medium;\">la riga\/colonna potrebbe avere pi\u00f9 di un valore.<\/span><\/p>\n<h2><span style=\"font-size: large;\"><b>Come scalare un raster<\/b><\/span><\/h2>\n<p><span style=\"font-size: medium;\"><i>Come si pu\u00f2 scalare un raster in scala di grigi a 16 bit in uno a 8 bit? Usando <b>gdal_translate<\/b> con l\u2019opzione <b>-scale<\/b>.<\/i><\/span><\/p>\n<p><span style=\"font-size: medium;\">L\u2019opzione <b>-scale <\/b>richiede 4 valori:<\/span><\/p>\n<ul>\n<li>\n<p><span style=\"font-size: medium;\">valore minimo sorgente<\/span><\/p>\n<\/li>\n<li>\n<p><span style=\"font-size: medium;\">valore massimo sorgente<\/span><\/p>\n<\/li>\n<li>\n<p><span style=\"font-size: medium;\">valore minimo target<\/span><\/p>\n<\/li>\n<li>\n<p><span style=\"font-size: medium;\">valore massimo target<\/span><\/p>\n<\/li>\n<\/ul>\n<p><span style=\"font-size: medium;\">Quindi se si vogliono mappare 16 bit in 8 bit, bisogna usare il comando:<\/span><\/p>\n<p><span style=\"font-size: medium;\"><i>gdal_transalte -scale 0 65535 0 255 input.tif output.tif<\/i><\/span><\/p>\n<p><span style=\"font-size: medium;\">Se si vuole lavorare su un raster multibanda, si pu\u00f2 usare l\u2019opzione <b>-scale_bn<\/b> seguita dal numero della banda su cui lavorare.<\/span><\/p>\n<p><span style=\"font-size: medium;\"><i>L\u2019opzione &#8211;<b>stats <\/b>ci consente di avere delle informazioni sul raster su cui si sta lavorando, GDAL ricostruir\u00e0 un nuovo output restituendo le informazioni riguardanti il raster in input.<\/i><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Il paladino GIS dei dati raster, gdal_translate, ci viene in soccorso quando vogliamo ridurre la scala di tali dati da 16 a 8 bit per componente.<\/p>\n","protected":false},"author":3,"featured_media":1495,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[338,339],"class_list":["post-1710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sviluppatori-gis","tag-gdal","tag-raster"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/comments?post=1710"}],"version-history":[{"count":1,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1710\/revisions"}],"predecessor-version":[{"id":1711,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1710\/revisions\/1711"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/media\/1495"}],"wp:attachment":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/media?parent=1710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/categories?post=1710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/tags?post=1710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}