class: center, middle, inverse, title-slide # Introdução ao uso de dados geoespaciais no R
## 8 Estrutura e manipulação de dados matriciais ### Maurício H. Vancine
Milton C. Ribeiro ### UNESP - Rio Claro
Laboratório de Ecologia Espacial e Conservação (LEEC) ### 25/10/2021-05/11/2021 --- class: clear background-image: url(img/geo_raster_wd.png) background-size: 800px --- background-image: url(img/r_spatial.jpeg) background-size: 350px background-position: 80% 65% # 8 Estrutura e manejo de dados raster ## Tópicos 1. Principais pacotes 1. Classes raster 1. Importar dados matriciais 1. Descrição de objetos raster 1. Converter CRS de objetos raster 1. Operações de objetos raster 1. Interações raster-vetor 1. Conversões raster-vetor 1. Índices espectrais 1. Exportar objetos raster --- # 8 Estrutura e manejo de dados raster ## Script <br><br><br><br> ## .center[`08_script_intro_geoespacial_r.R`] --- background-image: url(img/geo_raster_package.png) background-size: 650px background-position: 50% 75% # 1. Principais pacotes ## Pacote raster ```r # raster install.packages("raster") library(raster) ``` <br><br><br><br><br><br><br><br><br><br><br> [The raster package](https://rspatial.org/raster/pkg/) --- background-image: url(img/geo_terra_package.png) background-size: 650px background-position: 50% 75% # 1. Principais pacotes ## Pacote terra ```r # raster install.packages("terra") library(terra) ``` <br><br><br><br><br><br><br><br><br><br><br> [The terra package](https://rspatial.org/terra/pkg/) --- background-image: url(img/geo_raster_stars.png) background-size: 500px background-position: 50% 70% # 1. Principais pacotes ## Pacote stars ```r # raster install.packages("stars") library(stars) ``` <br><br><br><br><br><br><br><br><br><br><br> [stars](https://r-spatial.github.io/stars/) --- class: inverse, center, middle # Qual usar? --- background-image: url(img/raster_convertion.png) background-size: 500px background-position: 50% 50% # 1. Principais pacotes ## Conversões <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Nowosad (2021)](https://geocompr.github.io/post/2021/spatial-classes-conversion/) --- background-image: url(img/geo_raster.png) background-size: 500px background-position: 50% 80% # 2. Classes raster ## Raster ou Gride ou Dado Matricial (matriz) <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- background-image: url(img/geo_raster_cont_cat.png) background-size: 700px background-position: 50% 60% # 2. Classes raster ## Tipos de dados: contínuos ou categóricos <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- background-image: url(img/geo_raster_plot.png) background-size: 800px background-position: 50% 70% # 2. Classes raster ## Valores <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- background-image: url(img/geo_raster_single_multi_raster.png) background-size: 800px background-position: 50% 60% # 2. Classes raster ## RasterLayer, RasterStack ou RasterBrick <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- background-image: url(img/geo_raster_single_raster.png) background-size: 400px background-position: 50% 60% # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster ```r # volcano volcano ``` ``` ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] ## [1,] 100 100 101 101 101 101 101 100 100 100 101 101 102 ## [2,] 101 101 102 102 102 102 102 101 101 101 102 102 103 ## [3,] 102 102 103 103 103 103 103 102 102 102 103 103 104 ## [4,] 103 103 104 104 104 104 104 103 103 103 103 104 104 ## [5,] 104 104 105 105 105 105 105 104 104 103 104 104 105 ## [6,] 105 105 105 106 106 106 106 105 105 104 104 105 105 ## [7,] 105 106 106 107 107 107 107 106 106 105 105 106 106 ## [8,] 106 107 107 108 108 108 108 107 107 106 106 107 108 ## [9,] 107 108 108 109 109 109 109 108 108 107 108 108 110 ## [10,] 108 109 109 110 110 110 110 109 109 108 110 110 113 ## [11,] 109 110 110 111 111 111 111 110 110 110 112 114 118 ## [12,] 110 110 111 113 112 111 113 112 112 114 116 119 121 ## [13,] 110 111 113 115 114 113 114 114 115 117 119 121 124 ## [14,] 111 113 115 117 116 115 116 117 117 119 121 124 126 ## [15,] 114 115 117 117 117 118 119 119 120 121 124 126 128 ## [16,] 116 118 118 118 120 121 121 122 122 123 125 128 130 ## [17,] 118 120 120 121 122 123 124 124 125 126 127 129 132 ## [18,] 120 121 122 123 124 125 126 127 127 128 130 132 134 ## [19,] 120 122 125 126 126 127 128 129 130 130 132 134 136 ## [20,] 121 124 126 128 129 129 130 131 132 133 135 137 139 ## [21,] 122 125 127 130 130 131 133 134 135 136 137 140 143 ## [22,] 122 125 128 130 132 133 135 136 137 139 140 143 147 ## [23,] 123 126 129 131 133 135 137 138 139 141 143 147 150 ## [24,] 124 127 130 132 135 137 138 140 142 144 147 149 154 ## [25,] 123 128 131 133 136 138 140 142 144 146 149 151 154 ## [26,] 123 127 131 134 136 138 140 142 144 147 149 151 154 ## [27,] 120 124 128 131 134 137 139 142 144 146 149 151 153 ## [28,] 118 121 125 129 132 134 137 140 142 145 147 149 151 ## [29,] 117 120 121 125 129 132 135 138 140 143 145 147 149 ## [30,] 115 118 120 122 126 130 133 136 138 141 143 145 148 ## [31,] 114 116 118 120 122 127 131 133 136 138 141 143 146 ## [32,] 115 114 116 118 120 122 127 129 132 136 139 141 143 ## [33,] 113 113 114 116 118 120 122 125 129 133 136 138 141 ## [34,] 111 112 113 114 116 118 120 122 126 130 133 136 139 ## [35,] 110 112 113 113 114 116 118 120 123 127 131 134 137 ## [36,] 109 110 111 112 114 116 118 119 120 124 128 131 136 ## [37,] 108 109 111 112 114 116 117 118 120 121 125 128 132 ## [38,] 108 109 111 113 114 116 117 118 119 120 122 126 130 ## [39,] 107 108 111 112 114 115 116 117 119 120 121 124 128 ## [40,] 107 108 110 112 113 113 115 116 118 120 122 125 128 ## [41,] 107 108 109 111 113 114 116 117 119 120 122 125 128 ## [42,] 108 109 110 112 114 115 116 117 119 120 122 126 129 ## [43,] 109 110 111 113 115 116 117 118 120 121 123 126 129 ## [44,] 110 111 112 113 116 117 118 119 120 122 125 127 130 ## [45,] 111 112 113 114 116 117 118 119 120 123 125 128 130 ## [46,] 111 112 113 115 117 118 118 120 121 124 126 128 131 ## [47,] 112 113 114 116 117 118 119 120 122 124 127 129 132 ## [48,] 113 114 115 116 117 119 119 120 122 125 127 129 132 ## [49,] 113 114 115 117 118 119 120 121 123 125 127 130 132 ## [50,] 114 115 116 117 118 119 120 121 123 126 128 130 133 ## [51,] 115 116 117 118 119 120 121 121 123 126 128 131 134 ## [52,] 115 116 117 118 119 120 121 122 123 125 128 131 134 ## [53,] 114 115 116 116 118 119 120 121 122 126 129 132 135 ## [54,] 113 114 115 116 117 118 119 120 123 126 129 132 135 ## [55,] 112 113 114 115 116 117 119 120 122 126 130 133 136 ## [56,] 111 112 114 115 116 117 118 120 122 125 131 134 137 ## [57,] 111 112 113 115 115 116 117 119 121 126 131 135 138 ## [58,] 112 113 113 114 115 116 117 119 122 127 132 135 139 ## [59,] 112 113 114 114 116 117 118 120 122 128 132 136 139 ## [60,] 112 114 114 115 116 117 119 120 122 128 133 136 140 ## [61,] 113 114 115 116 116 117 118 120 123 129 133 137 140 ## [62,] 114 115 115 116 117 118 118 120 123 129 133 137 140 ## [63,] 114 115 116 117 117 119 118 120 123 128 132 136 139 ## [64,] 115 116 116 117 118 119 119 120 124 128 132 136 139 ## [65,] 115 116 117 118 118 119 120 123 125 128 131 135 138 ## [66,] 116 117 118 118 119 120 122 123 125 128 131 134 137 ## [67,] 116 117 118 119 120 121 123 124 126 128 130 133 137 ## [68,] 117 118 119 119 120 121 123 124 126 128 129 131 135 ## [69,] 117 118 119 120 120 121 123 124 125 126 128 129 132 ## [70,] 116 117 118 120 120 121 122 123 124 125 126 128 130 ## [71,] 114 115 116 117 119 119 120 121 122 123 125 127 129 ## [72,] 112 113 114 115 116 116 117 119 120 122 124 126 127 ## [73,] 109 111 112 112 113 113 113 114 116 119 121 123 124 ## [74,] 106 107 108 108 109 110 110 112 113 114 117 119 120 ## [75,] 104 105 105 106 106 107 108 108 109 109 111 115 116 ## [76,] 102 103 103 104 104 105 106 106 107 108 109 111 112 ## [77,] 101 102 103 103 104 105 105 106 106 107 108 109 109 ## [78,] 100 101 102 102 103 103 104 104 105 106 106 107 106 ## [79,] 100 101 101 102 102 103 103 104 104 105 105 105 105 ## [80,] 99 100 101 102 102 103 103 103 104 104 104 104 103 ## [81,] 99 100 100 101 101 102 102 102 103 103 103 103 102 ## [82,] 99 100 100 100 101 101 101 102 102 103 102 102 101 ## [83,] 99 99 99 99 100 100 101 101 102 102 101 101 101 ## [84,] 98 99 99 99 99 100 100 101 101 102 101 100 100 ## [85,] 98 98 98 99 99 99 100 100 101 101 100 100 99 ## [86,] 97 98 98 98 99 99 99 100 100 100 100 100 99 ## [87,] 97 97 97 98 98 99 99 99 100 100 100 99 99 ## [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] ## [1,] 102 102 102 103 104 103 102 101 101 102 103 104 ## [2,] 103 103 103 104 105 104 103 102 102 103 105 106 ## [3,] 104 104 104 105 106 105 104 104 105 106 107 108 ## [4,] 104 105 105 106 107 106 106 106 107 108 110 111 ## [5,] 105 105 106 107 108 108 108 109 110 112 114 115 ## [6,] 106 106 107 109 110 110 112 113 115 116 118 119 ## [7,] 107 108 109 111 113 114 116 118 120 121 122 123 ## [8,] 108 110 113 115 117 118 120 122 124 125 127 128 ## [9,] 111 113 116 118 120 123 125 127 129 130 132 134 ## [10,] 116 118 120 122 125 127 129 133 136 138 140 141 ## [11,] 121 123 125 127 129 133 137 141 143 145 146 148 ## [12,] 124 127 129 133 138 143 146 149 149 151 153 154 ## [13,] 126 129 133 140 145 150 154 155 155 157 159 161 ## [14,] 128 132 137 143 151 156 161 161 162 163 165 166 ## [15,] 131 137 143 150 156 160 163 165 168 170 171 172 ## [16,] 134 141 147 152 156 160 165 168 170 174 176 179 ## [17,] 135 142 149 153 157 161 166 170 174 178 180 182 ## [18,] 137 142 151 155 158 162 169 172 176 181 183 184 ## [19,] 139 145 152 157 160 167 172 175 178 181 185 186 ## [20,] 143 150 154 159 164 170 173 176 179 184 186 189 ## [21,] 147 154 158 162 166 171 174 177 181 186 189 190 ## [22,] 152 157 161 164 168 172 175 179 182 186 190 190 ## [23,] 156 161 164 167 170 173 177 181 184 187 188 190 ## [24,] 157 161 165 168 171 175 178 181 184 186 187 187 ## [25,] 157 160 164 168 172 175 178 181 183 184 184 185 ## [26,] 157 160 164 168 171 174 178 180 181 181 182 183 ## [27,] 156 160 163 167 171 174 178 180 180 180 180 180 ## [28,] 155 159 163 166 169 173 177 179 180 180 180 180 ## [29,] 153 157 160 163 166 171 174 177 179 180 180 180 ## [30,] 151 154 157 160 163 168 171 174 177 179 179 179 ## [31,] 148 151 154 157 160 164 168 171 174 178 178 179 ## [32,] 146 148 151 153 156 160 164 167 172 174 176 177 ## [33,] 143 146 149 150 153 156 160 165 170 173 176 176 ## [34,] 142 145 147 148 151 155 158 163 168 173 176 177 ## [35,] 141 143 145 148 150 154 157 161 166 171 176 178 ## [36,] 140 142 145 147 150 153 157 160 165 170 174 178 ## [37,] 138 142 144 147 149 153 156 160 164 170 174 178 ## [38,] 135 139 143 147 149 152 156 160 164 169 173 177 ## [39,] 133 137 141 145 149 152 156 160 164 168 172 176 ## [40,] 132 136 140 145 148 150 155 160 164 167 170 174 ## [41,] 132 137 141 144 146 149 152 157 162 166 168 171 ## [42,] 133 137 141 143 146 148 151 155 160 164 167 168 ## [43,] 133 138 141 143 146 148 150 155 159 163 165 166 ## [44,] 133 138 141 143 146 148 150 154 159 162 163 164 ## [45,] 134 139 141 144 146 148 151 154 158 161 164 166 ## [46,] 135 139 142 144 146 148 151 155 160 164 165 168 ## [47,] 135 139 142 144 146 149 152 157 162 167 169 170 ## [48,] 135 139 142 144 147 149 154 159 164 169 170 170 ## [49,] 135 139 142 145 148 150 156 161 166 170 170 170 ## [50,] 136 139 142 145 148 152 157 161 166 168 170 170 ## [51,] 136 139 142 145 149 152 157 161 163 164 166 168 ## [52,] 137 139 142 145 149 152 156 159 159 160 162 162 ## [53,] 137 140 143 146 149 152 155 156 157 158 159 159 ## [54,] 138 140 143 146 148 151 153 154 156 157 157 157 ## [55,] 138 141 143 146 148 150 152 154 155 155 155 155 ## [56,] 139 142 144 146 148 150 152 153 153 153 153 153 ## [57,] 140 142 144 146 148 150 151 151 151 151 151 151 ## [58,] 141 143 145 147 149 150 150 150 150 150 150 150 ## [59,] 141 144 146 147 149 150 150 150 150 150 150 150 ## [60,] 142 144 146 148 150 150 150 150 150 150 150 150 ## [61,] 142 144 146 149 150 150 150 150 150 150 150 150 ## [62,] 143 145 147 150 150 150 150 150 150 150 150 150 ## [63,] 142 145 148 150 150 150 150 150 150 150 150 150 ## [64,] 142 145 148 150 150 150 150 150 150 150 150 150 ## [65,] 141 145 148 150 150 150 150 150 150 150 150 150 ## [66,] 141 145 148 149 150 150 150 150 150 150 150 148 ## [67,] 140 144 145 147 148 149 150 149 149 147 146 144 ## [68,] 139 142 143 145 146 147 147 147 146 144 142 140 ## [69,] 137 140 142 143 143 144 144 144 143 141 139 137 ## [70,] 134 139 140 141 141 141 141 141 140 138 136 134 ## [71,] 133 136 134 134 136 138 138 137 137 135 133 132 ## [72,] 129 129 128 127 129 132 133 133 133 133 131 129 ## [73,] 125 124 123 123 123 125 127 129 129 128 128 127 ## [74,] 121 119 117 117 117 118 120 123 124 125 125 125 ## [75,] 114 113 112 111 110 111 113 116 119 122 122 122 ## [76,] 110 109 108 108 108 108 109 110 112 116 117 117 ## [77,] 107 106 106 105 105 105 106 107 108 109 110 111 ## [78,] 106 106 105 105 104 103 103 104 105 107 108 110 ## [79,] 106 105 105 104 103 102 101 102 103 104 106 107 ## [80,] 104 104 104 104 102 101 101 102 103 104 105 107 ## [81,] 103 103 104 103 102 101 101 101 102 103 104 106 ## [82,] 102 102 103 103 101 101 100 101 101 102 103 105 ## [83,] 101 101 102 102 101 100 100 101 101 101 103 104 ## [84,] 100 101 101 101 100 100 100 100 101 101 101 103 ## [85,] 99 100 100 100 100 100 100 100 101 101 101 102 ## [86,] 99 99 100 100 100 100 100 100 100 101 101 101 ## [87,] 99 99 99 100 100 100 100 100 100 101 101 100 ## [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] ## [1,] 104 105 107 107 107 108 108 110 110 110 110 110 ## [2,] 106 107 109 110 110 110 110 111 112 113 114 116 ## [3,] 110 111 113 114 115 114 115 116 118 119 119 121 ## [4,] 114 117 118 117 119 120 121 122 124 125 126 127 ## [5,] 118 121 122 121 123 128 131 129 130 131 131 132 ## [6,] 121 124 126 126 129 134 137 137 136 136 135 136 ## [7,] 125 127 129 130 135 140 142 142 142 141 140 140 ## [8,] 129 131 134 135 141 146 147 146 146 145 144 144 ## [9,] 135 137 139 142 146 152 152 151 151 150 149 148 ## [10,] 142 148 150 151 156 158 159 158 157 158 158 154 ## [11,] 150 154 156 159 161 162 163 164 163 164 164 160 ## [12,] 157 159 160 163 165 166 167 168 168 168 168 166 ## [13,] 162 164 165 167 168 169 170 172 174 172 172 171 ## [14,] 167 168 170 171 173 175 177 179 178 177 176 176 ## [15,] 173 174 175 177 179 180 182 183 183 183 183 180 ## [16,] 180 181 181 182 182 183 184 186 187 187 184 184 ## [17,] 183 184 184 185 186 186 187 189 189 189 189 189 ## [18,] 186 187 188 189 189 189 189 190 190 191 190 190 ## [19,] 188 190 191 192 193 193 192 192 191 192 191 191 ## [20,] 190 191 192 193 194 195 194 193 192 191 191 191 ## [21,] 190 191 192 191 191 190 189 188 189 190 190 191 ## [22,] 190 190 189 187 184 184 183 182 182 183 183 183 ## [23,] 189 187 185 183 179 176 174 174 174 174 174 176 ## [24,] 184 184 181 179 175 171 169 168 168 168 169 170 ## [25,] 183 180 177 174 170 167 165 164 164 164 165 166 ## [26,] 181 178 173 169 166 163 161 161 160 160 161 163 ## [27,] 180 175 171 167 162 160 158 157 157 157 158 159 ## [28,] 179 174 169 166 161 158 156 154 153 153 154 156 ## [29,] 179 172 168 164 160 157 154 151 149 150 150 154 ## [30,] 176 171 167 164 160 156 153 149 148 149 151 155 ## [31,] 177 173 169 165 161 157 154 151 149 150 152 155 ## [32,] 176 173 170 166 162 159 157 154 153 154 155 158 ## [33,] 176 173 172 169 165 163 160 158 157 158 159 161 ## [34,] 177 176 174 171 169 166 164 161 161 162 164 165 ## [35,] 178 178 176 174 172 170 167 167 167 166 168 170 ## [36,] 179 179 178 178 176 174 171 170 170 170 168 167 ## [37,] 180 180 179 179 178 176 172 170 170 170 168 166 ## [38,] 180 180 180 180 179 178 174 170 170 168 167 165 ## [39,] 179 180 180 180 179 178 174 170 168 166 165 163 ## [40,] 177 179 179 178 176 176 173 169 166 164 163 161 ## [41,] 173 175 175 173 172 172 171 168 165 162 160 158 ## [42,] 169 170 170 169 168 167 168 166 163 160 158 155 ## [43,] 167 168 168 166 165 164 161 160 159 158 155 152 ## [44,] 166 166 166 165 163 161 159 157 156 155 153 150 ## [45,] 167 168 166 165 163 161 158 156 154 152 150 146 ## [46,] 169 169 168 166 163 160 158 156 153 151 148 145 ## [47,] 170 170 168 165 163 161 159 157 155 151 148 145 ## [48,] 170 170 170 168 165 163 161 158 155 151 148 145 ## [49,] 170 170 170 169 166 163 161 159 155 151 148 146 ## [50,] 170 170 168 166 164 163 160 159 155 151 148 146 ## [51,] 167 166 164 163 161 160 158 156 152 149 147 144 ## [52,] 161 161 160 159 158 157 155 153 150 148 146 145 ## [53,] 159 158 158 157 155 153 151 150 149 147 146 145 ## [54,] 157 156 155 154 152 150 149 148 147 146 145 144 ## [55,] 155 154 152 152 150 148 147 146 145 145 143 142 ## [56,] 153 153 151 149 147 146 144 144 143 143 142 141 ## [57,] 151 151 150 148 146 144 142 141 141 142 141 140 ## [58,] 150 150 149 147 144 142 141 140 140 140 140 140 ## [59,] 150 150 149 146 143 141 140 140 139 139 139 140 ## [60,] 150 150 148 145 142 140 138 138 138 137 138 140 ## [61,] 150 150 147 143 141 139 137 136 136 135 136 138 ## [62,] 150 148 145 142 139 138 136 135 134 134 134 136 ## [63,] 150 147 144 141 139 136 135 134 133 132 132 134 ## [64,] 149 146 143 140 138 135 134 133 131 131 131 131 ## [65,] 147 145 142 139 137 134 132 131 130 129 128 128 ## [66,] 145 143 141 138 135 133 130 129 128 127 126 125 ## [67,] 141 139 136 133 131 129 128 127 126 125 124 123 ## [68,] 138 135 133 130 128 127 126 125 124 123 122 121 ## [69,] 135 133 130 128 127 126 125 123 122 121 120 119 ## [70,] 133 131 129 127 125 124 123 122 120 119 118 117 ## [71,] 130 129 127 125 124 122 121 120 119 117 116 115 ## [72,] 127 126 125 124 122 121 119 118 117 116 114 113 ## [73,] 125 124 123 122 121 119 118 117 116 114 113 112 ## [74,] 123 121 120 120 119 118 117 116 115 114 113 111 ## [75,] 121 120 119 118 118 117 116 115 114 113 112 111 ## [76,] 118 118 118 117 116 116 115 114 113 112 111 110 ## [77,] 113 114 115 115 115 114 113 112 111 110 108 108 ## [78,] 111 111 112 112 113 113 112 111 110 108 107 106 ## [79,] 110 111 111 111 112 112 112 110 107 107 106 105 ## [80,] 110 111 111 111 111 111 111 108 106 105 105 102 ## [81,] 109 110 111 111 111 110 110 107 105 103 104 100 ## [82,] 109 110 110 111 110 110 109 106 105 100 102 100 ## [83,] 107 109 109 110 110 109 108 105 102 100 100 99 ## [84,] 106 107 109 109 109 109 107 104 101 100 99 99 ## [85,] 105 106 109 108 109 107 105 102 100 100 99 99 ## [86,] 103 104 105 106 105 104 101 100 100 99 99 98 ## [87,] 100 100 100 100 100 100 100 100 100 99 99 98 ## [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] ## [1,] 110 110 110 108 108 108 107 107 108 108 108 108 ## [2,] 115 114 112 110 110 110 109 108 109 109 109 109 ## [3,] 121 120 118 116 114 112 111 110 110 110 110 109 ## [4,] 127 126 124 122 120 117 116 113 111 110 110 110 ## [5,] 132 131 130 128 126 122 119 115 114 112 110 110 ## [6,] 136 136 135 133 129 126 122 118 116 115 113 111 ## [7,] 140 140 139 137 134 129 125 121 118 116 114 112 ## [8,] 144 143 142 141 139 135 130 126 122 118 116 114 ## [9,] 148 146 145 143 142 139 135 131 127 122 119 117 ## [10,] 151 149 148 146 144 141 137 134 130 125 122 120 ## [11,] 157 154 151 149 146 144 140 137 133 129 126 124 ## [12,] 162 159 157 154 152 149 144 140 136 133 131 128 ## [13,] 169 166 163 161 158 153 148 143 140 137 134 131 ## [14,] 174 171 169 165 161 156 152 148 144 140 138 135 ## [15,] 178 177 172 168 164 160 156 152 148 144 141 138 ## [16,] 181 180 176 172 168 165 161 157 153 149 145 142 ## [17,] 186 182 179 175 171 168 165 162 157 152 149 145 ## [18,] 188 186 183 180 175 171 168 165 161 157 152 149 ## [19,] 190 190 187 184 181 177 172 169 165 161 156 152 ## [20,] 191 190 190 188 184 181 177 173 169 165 160 155 ## [21,] 190 190 190 189 186 184 181 177 173 169 164 158 ## [22,] 184 185 186 187 186 185 184 181 177 173 169 163 ## [23,] 177 179 180 182 183 182 181 181 180 176 171 166 ## [24,] 172 174 177 178 179 180 181 181 180 179 174 167 ## [25,] 168 171 175 176 178 180 181 180 180 179 177 170 ## [26,] 165 168 173 176 178 179 180 181 180 180 175 173 ## [27,] 162 166 170 175 177 178 180 181 181 180 178 175 ## [28,] 159 163 169 173 175 178 180 181 180 180 179 175 ## [29,] 158 164 169 174 178 180 180 180 180 178 177 175 ## [30,] 158 163 170 173 177 179 180 180 180 178 175 173 ## [31,] 159 166 171 175 177 179 180 180 179 176 174 171 ## [32,] 161 169 172 174 176 178 178 178 178 175 172 169 ## [33,] 166 170 170 173 175 176 178 176 173 171 168 164 ## [34,] 167 170 170 171 173 173 173 170 168 165 163 160 ## [35,] 169 168 167 168 168 168 168 167 165 163 160 156 ## [36,] 166 164 163 161 162 163 163 163 161 160 157 153 ## [37,] 164 162 160 157 156 157 158 158 156 153 151 149 ## [38,] 163 161 157 154 153 152 152 152 149 148 147 144 ## [39,] 161 158 154 150 149 148 146 145 143 143 143 140 ## [40,] 159 155 152 148 145 143 141 140 139 139 138 136 ## [41,] 156 153 149 145 142 139 138 137 136 135 133 131 ## [42,] 153 150 147 143 140 137 136 134 133 132 130 129 ## [43,] 149 147 144 141 138 135 134 132 130 129 128 126 ## [44,] 146 143 140 138 136 133 132 130 129 128 125 124 ## [45,] 142 139 137 135 133 131 130 129 128 127 125 123 ## [46,] 142 139 137 135 132 130 129 127 126 125 124 123 ## [47,] 141 139 136 134 132 130 128 127 126 124 123 122 ## [48,] 142 139 137 135 132 131 128 126 125 124 122 121 ## [49,] 143 140 138 135 134 132 130 127 125 123 121 120 ## [50,] 143 141 138 136 134 132 130 128 125 123 121 120 ## [51,] 143 141 139 136 134 132 130 128 125 122 120 120 ## [52,] 143 142 140 137 134 131 129 126 124 122 120 119 ## [53,] 144 142 141 138 135 132 128 125 122 120 118 117 ## [54,] 142 141 140 139 136 132 129 125 121 118 116 115 ## [55,] 141 140 140 140 137 133 129 125 120 117 115 111 ## [56,] 140 140 140 140 138 134 130 123 120 118 111 110 ## [57,] 140 140 140 140 140 136 132 126 120 115 110 110 ## [58,] 140 140 140 140 140 137 133 128 120 117 110 110 ## [59,] 140 140 140 140 140 137 133 129 121 118 110 110 ## [60,] 140 140 140 140 140 137 134 130 122 118 110 110 ## [61,] 140 140 140 140 139 136 134 130 123 119 113 109 ## [62,] 138 137 138 139 137 134 132 125 122 117 114 109 ## [63,] 134 134 134 135 133 131 128 124 120 116 113 110 ## [64,] 131 131 131 130 127 124 122 119 117 115 112 109 ## [65,] 128 128 128 126 123 121 119 116 114 112 110 108 ## [66,] 125 125 124 123 120 118 116 114 111 109 107 106 ## [67,] 123 122 121 120 118 116 114 112 108 107 105 103 ## [68,] 120 119 118 117 115 114 112 110 106 105 102 101 ## [69,] 117 116 115 114 112 111 108 107 105 100 100 100 ## [70,] 116 114 112 111 108 109 106 106 100 100 100 100 ## [71,] 114 112 110 109 108 107 105 105 100 100 100 100 ## [72,] 112 110 109 108 106 106 105 100 100 100 98 98 ## [73,] 110 109 108 107 106 105 100 100 100 97 97 97 ## [74,] 109 109 107 106 105 100 100 100 96 96 96 96 ## [75,] 108 108 106 105 100 100 100 96 96 96 96 96 ## [76,] 107 107 105 100 100 100 97 96 96 96 96 96 ## [77,] 106 105 100 100 100 97 97 96 96 96 96 96 ## [78,] 105 100 100 100 98 97 97 96 96 96 96 96 ## [79,] 102 100 100 99 98 97 97 96 96 96 96 96 ## [80,] 101 100 99 99 98 97 97 96 96 96 96 96 ## [81,] 100 99 99 98 98 97 97 96 96 96 96 96 ## [82,] 99 99 99 98 98 97 97 96 96 96 96 96 ## [83,] 99 99 98 98 98 97 96 96 96 96 96 95 ## [84,] 99 98 98 98 97 96 96 96 96 95 95 95 ## [85,] 98 98 98 97 96 96 96 96 95 95 95 95 ## [86,] 98 97 97 97 96 96 96 95 95 95 95 95 ## [87,] 97 97 97 96 96 96 95 95 95 95 94 94 ## [,50] [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] ## [1,] 108 107 107 107 107 106 106 105 105 104 104 103 ## [2,] 108 108 108 108 107 107 106 106 105 105 104 104 ## [3,] 109 109 109 108 108 107 107 106 106 105 105 104 ## [4,] 109 109 109 109 108 108 107 107 106 106 105 105 ## [5,] 110 110 110 109 109 108 107 107 107 106 106 105 ## [6,] 110 110 110 110 109 108 108 108 107 107 106 106 ## [7,] 110 110 110 111 110 109 109 108 108 107 107 106 ## [8,] 112 112 113 112 110 110 109 109 108 108 107 106 ## [9,] 115 115 115 114 112 110 110 109 109 108 107 107 ## [10,] 118 117 117 115 113 111 110 110 109 108 107 107 ## [11,] 121 119 118 116 114 112 111 110 109 108 107 106 ## [12,] 125 122 119 117 115 113 111 110 109 108 107 106 ## [13,] 128 125 120 118 116 114 112 110 109 108 107 105 ## [14,] 131 127 123 119 117 115 113 111 110 108 106 105 ## [15,] 134 130 126 121 117 114 112 110 110 108 106 104 ## [16,] 138 133 129 125 120 115 111 110 110 108 106 104 ## [17,] 141 137 131 125 120 116 111 110 110 108 106 104 ## [18,] 145 141 134 127 121 116 112 110 110 108 106 104 ## [19,] 147 143 139 131 123 119 115 111 110 108 106 105 ## [20,] 149 145 142 136 129 123 118 114 110 108 108 107 ## [21,] 152 148 144 140 134 125 118 115 111 110 108 107 ## [22,] 157 149 145 141 136 130 119 116 112 110 108 106 ## [23,] 160 152 147 142 138 133 126 121 115 110 106 105 ## [24,] 161 155 148 144 139 134 128 121 115 110 106 105 ## [25,] 163 157 150 144 139 134 128 121 115 110 108 107 ## [26,] 166 159 152 145 139 134 127 121 115 110 109 108 ## [27,] 169 160 154 148 140 134 128 121 115 110 110 109 ## [28,] 170 160 154 149 142 135 128 122 116 111 110 110 ## [29,] 170 161 153 148 142 135 129 123 116 113 112 110 ## [30,] 171 162 154 147 141 136 130 124 117 115 112 110 ## [31,] 168 159 151 146 141 135 129 124 119 116 113 110 ## [32,] 162 156 149 144 140 134 128 123 118 115 112 110 ## [33,] 158 153 146 140 137 132 127 121 117 113 111 110 ## [34,] 155 149 143 138 134 130 125 119 116 112 110 109 ## [35,] 152 146 140 136 131 128 122 118 114 110 110 109 ## [36,] 148 142 136 130 127 124 120 117 113 110 110 109 ## [37,] 144 139 130 127 124 121 118 115 112 110 110 109 ## [38,] 140 134 128 125 122 119 117 114 110 110 109 109 ## [39,] 136 130 126 123 120 118 115 112 110 110 109 109 ## [40,] 132 128 124 121 118 116 114 111 110 110 109 108 ## [41,] 129 126 122 119 117 114 112 110 110 109 108 107 ## [42,] 127 125 121 118 115 112 110 110 110 108 107 107 ## [43,] 124 122 120 117 113 111 110 110 110 108 107 107 ## [44,] 122 120 119 117 114 111 110 110 109 108 107 107 ## [45,] 121 120 118 116 113 111 110 110 109 108 107 106 ## [46,] 120 120 117 116 114 112 110 110 108 107 106 106 ## [47,] 120 119 117 116 114 112 111 109 107 106 106 105 ## [48,] 120 119 117 115 113 111 110 109 106 105 105 104 ## [49,] 120 119 116 114 112 110 110 108 106 105 104 104 ## [50,] 120 118 116 113 111 110 110 109 106 105 104 104 ## [51,] 119 117 115 113 110 110 109 107 106 105 104 104 ## [52,] 117 115 113 111 110 109 109 107 106 105 104 104 ## [53,] 115 113 112 110 109 108 108 106 105 105 104 104 ## [54,] 113 111 110 109 108 108 107 106 105 104 104 104 ## [55,] 110 110 109 108 107 107 106 105 105 104 104 103 ## [56,] 110 110 108 107 106 108 105 105 104 104 103 103 ## [57,] 110 109 107 106 105 107 105 104 104 104 103 103 ## [58,] 110 108 106 105 105 106 105 104 104 103 103 103 ## [59,] 109 107 106 105 105 105 104 104 103 103 103 102 ## [60,] 108 106 105 103 104 104 104 104 103 103 102 102 ## [61,] 108 106 104 103 104 104 104 103 103 102 102 101 ## [62,] 107 105 103 102 104 104 103 103 102 102 101 101 ## [63,] 107 104 102 102 103 103 103 102 102 102 101 100 ## [64,] 106 104 101 102 103 103 102 102 102 101 100 100 ## [65,] 105 103 101 103 103 103 102 102 101 100 100 100 ## [66,] 104 102 100 101 101 102 102 101 100 100 100 100 ## [67,] 102 100 100 100 100 101 101 100 100 100 100 100 ## [68,] 100 100 100 100 100 100 100 100 99 99 99 99 ## [69,] 100 100 100 100 99 99 99 99 99 99 99 98 ## [70,] 100 99 99 99 99 99 99 99 98 98 98 97 ## [71,] 99 99 99 98 98 98 98 98 97 97 97 97 ## [72,] 98 98 98 98 97 97 97 97 97 97 97 96 ## [73,] 97 97 97 97 96 96 96 96 96 96 96 96 ## [74,] 96 96 96 96 96 96 96 96 96 96 96 96 ## [75,] 96 96 96 96 96 96 96 96 96 96 96 96 ## [76,] 96 96 96 96 96 96 96 96 96 96 96 96 ## [77,] 96 96 96 96 96 96 96 96 96 96 96 96 ## [78,] 96 96 96 96 96 96 96 96 96 96 96 96 ## [79,] 96 96 96 96 96 96 96 96 96 96 96 95 ## [80,] 96 96 96 96 96 96 96 96 96 96 95 95 ## [81,] 96 96 96 96 96 95 95 95 95 95 95 95 ## [82,] 96 95 95 95 95 95 95 95 95 95 95 94 ## [83,] 95 95 95 95 95 95 94 94 94 94 94 94 ## [84,] 95 95 95 95 94 94 94 94 94 94 94 94 ## [85,] 95 95 94 94 94 94 94 94 94 94 94 94 ## [86,] 94 94 94 94 94 94 94 94 94 94 94 94 ## [87,] 94 94 94 94 94 94 94 94 94 94 94 94 ``` --- # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster ```r # raster layer ra_layer <- raster::raster(volcano) ra_layer ``` ``` ## class : RasterLayer ## dimensions : 87, 61, 5307 (nrow, ncol, ncell) ## resolution : 0.01639344, 0.01149425 (x, y) ## extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax) ## crs : NA ## source : memory ## names : layer ## values : 94, 195 (min, max) ``` --- # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster ```r # plot plot(ra_layer) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-6-1.png" width="30%" style="display: block; margin: auto;" /> --- # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster ```r # plot plot(ra_layer, col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-7-1.png" width="30%" style="display: block; margin: auto;" /> --- # 2. Classes raster ## RasterLayer ### A classe **RasterLayer** representa apenas uma camada raster ```r # plot plot(ra_layer, col = viridis::viridis(100)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-8-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_multi_raster.png) background-size: 400px background-position: 50% 90% # 2. Classes raster ## RasterStack ### A classe **RasterStack** é uma lista de **RasterLayer** com extensão e resolução iguais <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 2. Classes raster ## RasterStack ```r # raster stack ra_layer1 <- ra_layer ra_layer2 <- ra_layer * ra_layer ra_layer3 <- sqrt(ra_layer) ra_layer4 <- log10(ra_layer) ra_stack <- raster::stack(ra_layer1, ra_layer2, ra_layer3, ra_layer4) ra_stack ``` ``` ## class : RasterStack ## dimensions : 87, 61, 5307, 4 (nrow, ncol, ncell, nlayers) ## resolution : 0.01639344, 0.01149425 (x, y) ## extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax) ## crs : NA ## names : layer.1, layer.2, layer.3, layer.4 ## min values : 94.000000, 8836.000000, 9.695360, 1.973128 ## max values : 195.000000, 38025.000000, 13.964240, 2.290035 ``` --- # 2. Classes raster ## RasterStack ```r # plot plot(ra_stack, col = viridis::viridis(100)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-10-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_multi_raster.png) background-size: 400px background-position: 50% 90% # 2. Classes raster ## RasterBrick ### A classe **RasterStack** é uma lista de **RasterLayer** com extensão e resolução iguais --- background-image: url(img/geo_raster_brick.png) background-size: 700px background-position: 50% 75% # 2. Classes raster ## RasterBrick ### A principal diferença entre **RasterStack** e **RasterBrick** é que o segundo é vinculado a um **único arquivo (multicamadas)** <br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 2. Classes raster ## RasterBrick ```r # raster brick ra_layer1 <- ra_layer ra_layer2 <- ra_layer * ra_layer ra_layer3 <- sqrt(ra_layer) ra_layer4 <- log10(ra_layer) ra_brick <- raster::brick(ra_layer1, ra_layer2, ra_layer3, ra_layer4) ra_brick ``` ``` ## class : RasterBrick ## dimensions : 87, 61, 5307, 4 (nrow, ncol, ncell, nlayers) ## resolution : 0.01639344, 0.01149425 (x, y) ## extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax) ## crs : NA ## source : memory ## names : layer.1, layer.2, layer.3, layer.4 ## min values : 94.000000, 8836.000000, 9.695360, 1.973128 ## max values : 195.000000, 38025.000000, 13.964240, 2.290035 ``` --- # 2. Classes raster ## RasterBrick ```r # plot plot(ra_brick, col = viridis::viridis(100)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-12-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_dem01.png), url(img/geo_dem.webp) background-size: 350px, 700px background-position: 5% 75%, 80% 75% # 3. Importar dados matriciais ## MDE (Modelo Digital de Elevação) > Infere a **elevação** por sensores ativos - MDT (Modelo Digital de Terreno) e MDS (Modelo Digital de Superfície) <br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Guth et al. (2021)](https://doi.org/10.3390/rs13183581) --- background-image: url(img/geo_raster_srtm01.png), url(img/geo_raster_srtm02.png), url(img/geo_raster_srtm03.png), url(img/geo_srtm.jpg) background-size: 450px, 300px, 350px, 300px background-position: 5% 55%, 55% 25%, 95% 50%, 55% 75% # 3. Importar dados matriciais ## SRTM (*Shuttle Radar Topography Mission*) <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Farr et al. (2007)](https://doi.org/10.1002/joc.5086), [Guth et al. (2021)](https://doi.org/10.3390/rs13183581) --- # 3. Importar dados matriciais ## Importar uma camada ### RasterLayer ```r # importar raster dem <- raster::raster(here::here("03_dados", "raster", "srtm_27_17.tif")) dem ``` ``` ## class : RasterLayer ## dimensions : 6000, 6000, 3.6e+07 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -50, -45, -25, -20 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : srtm_27_17.tif ## names : srtm_27_17 ## values : -32768, 32767 (min, max) ``` --- # 3. Importar dados matriciais ## Importar uma camada ### Rio Claro/SP ```r # rio claro rc_2020 <- geobr::read_municipality(code_muni = 3543907, showProgress = FALSE) %>% sf::st_transform(crs = 4326) rc_2020 ``` ``` ## Simple feature collection with 1 feature and 4 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: -47.76536 ymin: -22.55207 xmax: -47.46165 ymax: -22.24368 ## Geodetic CRS: WGS 84 ## code_muni name_muni code_state abbrev_state geom ## 493 3543907 Rio Claro 35 SP MULTIPOLYGON (((-47.59464 -... ``` --- # 3. Importar dados matriciais ## Importar uma camada ### RasterLayer ```r # plot plot(dem, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-15-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_crop_mask_buffer_square.png) background-size: 700px background-position: 50% 70% # 3. Importar dados matriciais ## Importar uma camada ### Ajuste do limite do RasterLayer <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 3. Importar dados matriciais ## Importar uma camada ### Ajuste do limite do RasterLayer ```r # ajuste do limite dem_rc <- raster::crop(dem, rc_2020) dem_rc ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 491, 985 (min, max) ``` --- # 3. Importar dados matriciais ## Importar uma camada ### Ajuste do limite do RasterLayer ```r # plot plot(dem_rc, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-17-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_wc_artigo.png) background-size: 700px background-position: 50% 70% # 3. Importar dados matriciais ## O que é o WorldClim? - Principal bases de **dados climáticos** para o mundo - Dados temporais de **temperatura e precipitação** - Construído a partir de dados de **estações meteorológicas, interpolação e topografia** - Principal forma de uso: **variáveis bioclimáticas** <br><br><br><br><br><br><br><br><br><br> [Fick & Hijmans (2017)](https://doi.org/10.1002/joc.5086) --- background-image: url(img/geo_raster_wc_method.png), url(img/geo_raster_wc_mapas.png) background-size: 550px, 400px background-position: 15% 60%, 85% 55% # 3. Importar dados matriciais ## Estações meteorológicas e interpolação <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Fick & Hijmans (2017)](https://doi.org/10.1002/joc.5086) --- background-image: url(img/geo_raster_bioclim.png) background-size: 570px background-position: 50% 75% # 3. Importar dados matriciais ## Variáveis bioclimáticas - São **19 variáveis** relacionadas com a **biologia das organismos** - Combinações temporais de **temperatura (BIO01-BIO11)** e **precipitação (BIO12-BIO19)** <br><br><br><br><br><br><br><br><br><br><br><br> [Fick & Hijmans (2017)](https://doi.org/10.1002/joc.5086) --- background-image: url(img/geo_raster_bio01.png) background-size: 1000px background-position: 50% 75% # 3. Importar dados matriciais ## Variáveis bioclimáticas ### BIO01: Temperatura média anual (º C) <br><br><br><br><br><br><br><br><br><br><br><br><br> [Fick & Hijmans (2017)](https://doi.org/10.1002/joc.5086) --- background-image: url(img/geo_raster_merraclim.jpg) background-size: 1000px background-position: 50% 65% # 3. Importar dados matriciais ## Variáveis Bioclimáticas ### Disponível em **várias resoluções** e **períodos (passado, presente e futuro)** <br><br><br><br><br><br><br><br><br><br><br><br><br> [Vega (2017)](https://www.nature.com/articles/sdata201778) --- background-image: url(img/geo_raster_worldclim.png) background-size: 800px background-position: 50% 55% # 3. Importar dados matriciais ## Site <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [WorldClim](https://www.worldclim.org/) --- # 3. Importar dados matriciais ## Importar várias camadas ### Listar arquivos ```r # listar arquivos files <- dir(path = here::here("03_dados", "raster"), pattern = "wc", full.names = TRUE) %>% grep(".tif", ., value = TRUE) files ``` ``` ## [1] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_1.tif" ## [2] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_10.tif" ## [3] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_11.tif" ## [4] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_12.tif" ## [5] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_13.tif" ## [6] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_14.tif" ## [7] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_15.tif" ## [8] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_16.tif" ## [9] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_17.tif" ## [10] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_18.tif" ## [11] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_19.tif" ## [12] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_2.tif" ## [13] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_3.tif" ## [14] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_4.tif" ## [15] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_5.tif" ## [16] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_6.tif" ## [17] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_7.tif" ## [18] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_8.tif" ## [19] "/home/mude/data/github/course-geospatial-data-r/03_dados/raster/wc2.1_10m_bio_9.tif" ``` --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterStack ```r # importar bioclim <- raster::stack(files) bioclim ``` ``` ## class : RasterStack ## dimensions : 1080, 2160, 2332800, 19 (nrow, ncol, ncell, nlayers) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## names : wc2.1_10m_bio_1, wc2.1_10m_bio_10, wc2.1_10m_bio_11, wc2.1_10m_bio_12, wc2.1_10m_bio_13, wc2.1_10m_bio_14, wc2.1_10m_bio_15, wc2.1_10m_bio_16, wc2.1_10m_bio_17, wc2.1_10m_bio_18, wc2.1_10m_bio_19, wc2.1_10m_bio_2, wc2.1_10m_bio_3, wc2.1_10m_bio_4, wc2.1_10m_bio_5, ... ## min values : -54.724354, -37.781418, -66.311249, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 9.131122, 0.000000, -29.686001, ... ## max values : 30.98764, 38.21617, 29.15299, 11191.00000, 2381.00000, 484.00000, 229.00169, 5284.00000, 1507.00000, 5282.00000, 4467.00000, 21.14754, 100.00000, 2363.84595, 48.08275, ... ``` --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterStack ```r # plot plot(bioclim[[1:2]], col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-20-1.png" width="60%" height="60%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_landsat.jpg) background-size: 600px background-position: 50% 80% # 3. Importar dados matriciais ## Imagens de satélite ### Landsat - Série de satélites dedicado exclusivamente à observação dos **recursos naturais terrestres**, desenvolvido pela NASA --- background-image: url(img/geo_rs_landsat_timeline.gif) background-size: 700px background-position: 50% 80% # 3. Importar dados matriciais ## Imagens de satélite ### Landsat - 9 Missões <br><br><br><br><br><br><br><br><br><br><br><br><br> [landsat-9](https://landsat.gsfc.nasa.gov/landsat-9) --- background-image: url(img/geo_sr_landsat8.png), url(img/geo_rs_spectrum_satelites_landsat.png), url(img/geo_landsat_composition_bands.png) background-size: 250px, 650px, 500px background-position: 10% 35%, 4% 99%, 95% 75% # 3. Importar dados matriciais ## Imagens de satélite ### Landsat 8 - Bandas --- background-image: url(img/geo_sr_landsat8.png), url(img/geo_rs_bands.jpg) background-size: 300px, 600px background-position: 90% 20%, 50% 80% # 3. Importar dados matriciais ## Imagens de satélite ### Landsat 8 - Bandas como camadas --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # importar landsat_rc <- raster::brick(here::here("03_dados", "imagem", "landsat_rc.tif")) landsat_rc ``` ``` ## class : RasterBrick ## dimensions : 1142, 1047, 1195674, 7 (nrow, ncol, ncell, nlayers) ## resolution : 30, 30 (x, y) ## extent : 215145, 246555, -2496285, -2462025 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +datum=WGS84 +units=m +no_defs ## source : landsat_rc.tif ## names : landsat_rc.1, landsat_rc.2, landsat_rc.3, landsat_rc.4, landsat_rc.5, landsat_rc.6, landsat_rc.7 ## min values : -2000, -2000, -135, -303, -8, -50, 11 ## max values : 8199, 8701, 9440, 9991, 11246, 12168, 11846 ``` --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot plot(landsat_rc$landsat_rc.2) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-22-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_brick.png) background-size: 800px background-position: 50% 65% # 2. Classes raster ## RasterBrick ### Plot RGB (*Red*, *Green* e *Blue*) <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- background-image: url(img/geo_stretch.png) background-size: 1000px background-position: 50% 65% # 3. Importar dados matriciais ## Stretch ### Ajustar o **stretch** da imagem para aumentar ou diminuir o contraste <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - cores naturais plotRGB(landsat_rc, r = 4, g = 3, b = 2, stretch = "lin") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-23-1.png" width="30%" style="display: block; margin: auto;" /> --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - cores naturais plotRGB(landsat_rc, r = 4, g = 3, b = 2, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-24-1.png" width="30%" style="display: block; margin: auto;" /> --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - falsa cor infravermelho plotRGB(landsat_rc, r = 5, g = 4, b = 3, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-25-1.png" width="30%" style="display: block; margin: auto;" /> --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - cores naturais simuladas plotRGB(landsat_rc, r = 7, g = 6, b = 4, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-26-1.png" width="30%" style="display: block; margin: auto;" /> --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - cores naturais simuladas plotRGB(landsat_rc, r = 6, g = 5, b = 4, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-27-1.png" width="30%" style="display: block; margin: auto;" /> --- # 3. Importar dados matriciais ## Importar várias camadas ### RasterBrick ```r # plot - cores naturais simuladas plotRGB(landsat_rc, r = 7, g = 5, b = 3, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-28-1.png" width="30%" style="display: block; margin: auto;" /> --- # 4. Descrição de objetos raster ## Informações geográficas ```r # rio claro dem_rc ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 491, 985 (min, max) ``` - *class*: classe raster do objeto - *dimensions*: número de linhas, colunas, células e camadas - *resolution*: largura e altura da célula - *extent*: coordenadas mínimas e máximas da longitude e latitude - *crs*: Sistema de Referência de Coordenadas - *source*: fonte dos dados (memória ou disco) - *names*: nome das camadas - *values*: valores máximos e mínimos das células --- # 4. Descrição de objetos raster ## Informações geográficas #### Classe ```r # classe class(dem_rc) ``` ``` ## [1] "RasterLayer" ## attr(,"package") ## [1] "raster" ``` -- #### Dimensões ```r # dimensoes dim(dem_rc) ``` ``` ## [1] 370 364 1 ``` -- #### Número de camadas ```r # numero de camadas nlayers(dem_rc) ``` ``` ## [1] 1 ``` --- background-image: url(img/geo_raster.png) background-size: 450px background-position: 50% 80% # 4. Descrição de objetos raster ## Informações geográficas ### Número de linhas, colunas e células <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 4. Descrição de objetos raster ## Informações geográficas #### Número de linhas ```r # numero de linhas nrow(dem_rc) ``` ``` ## [1] 370 ``` -- #### Número de colunas ```r # numero de colunas ncol(dem_rc) ``` ``` ## [1] 364 ``` -- #### Número de células ```r # numero de celulas ncell(dem_rc) ``` ``` ## [1] 134680 ``` --- background-image: url(img/geo_raster_resolution.png) background-size: 700px background-position: 60% 65% # 4. Descrição de objetos raster ## Informações geográficas ### Resolução <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 4. Descrição de objetos raster ## Informações geográficas ### Resolução ```r # resolucao do raster res(dem_rc) ``` ``` ## [1] 0.0008333333 0.0008333333 ``` -- ```r # resolucao do stack res(bioclim) ``` ``` ## [1] 0.1666667 0.1666667 ``` --- background-image: url(img/geo_raster_extent.png) background-size: 500px background-position: 50% 60% # 4. Descrição de objetos raster ## Informações geográficas ### Extensão <br><br><br><br><br><br><br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r) --- # 4. Descrição de objetos raster ## Informações geográficas ### Extensão ```r # extensao do raster extent(dem_rc) ``` ``` ## class : Extent ## xmin : -47.765 ## xmax : -47.46167 ## ymin : -22.55167 ## ymax : -22.24333 ``` -- ```r # extensao do stack extent(bioclim) ``` ``` ## class : Extent ## xmin : -180 ## xmax : 180 ## ymin : -90 ## ymax : 90 ``` --- # 4. Descrição de objetos raster ## Informações geográficas ### Projeção ```r # projecao projection(dem_rc) ``` ``` ## [1] "+proj=longlat +datum=WGS84 +no_defs" ``` -- ```r # projecao projection(bioclim) ``` ``` ## [1] "+proj=longlat +datum=WGS84 +no_defs" ``` --- # 4. Descrição de objetos raster ## Informações geográficas ### Nomes ```r # nomes da camada do raster names(dem_rc) ``` ``` ## [1] "srtm_27_17" ``` -- ```r # nomes das camadas do stack names(bioclim) ``` ``` ## [1] "wc2.1_10m_bio_1" "wc2.1_10m_bio_10" "wc2.1_10m_bio_11" "wc2.1_10m_bio_12" ## [5] "wc2.1_10m_bio_13" "wc2.1_10m_bio_14" "wc2.1_10m_bio_15" "wc2.1_10m_bio_16" ## [9] "wc2.1_10m_bio_17" "wc2.1_10m_bio_18" "wc2.1_10m_bio_19" "wc2.1_10m_bio_2" ## [13] "wc2.1_10m_bio_3" "wc2.1_10m_bio_4" "wc2.1_10m_bio_5" "wc2.1_10m_bio_6" ## [17] "wc2.1_10m_bio_7" "wc2.1_10m_bio_8" "wc2.1_10m_bio_9" ``` --- background-image: url(img/geo_raster_values.gif) background-size: 650px background-position: 50% 70% # 4. Descrição de objetos raster ## Informações geográficas ### Valores <br><br><br><br><br><br><br><br><br><br><br><br><br> [Raster basics - ESRI](https://desktop.arcgis.com/en/arcmap/10.3/manage-data/geodatabases/raster-basics.htm) --- # 4. Descrição de objetos raster ## Informações geográficas ### Valores ```r # valores do raster getValues(dem_rc) %>% head() ``` ``` ## [1] 859 856 856 856 853 852 ``` -- ```r # valores do raster values(dem_rc) %>% head() ``` ``` ## [1] 859 856 856 856 853 852 ``` -- ```r # valores do raster dem_rc[] %>% head() ``` ``` ## [1] 859 856 856 856 853 852 ``` --- # 4. Descrição de objetos raster ## Informações geográficas ### Valores ```r # valores do raster - histograma dem_rc %>% raster::values() %>% hist(col = "steelblue", border = "white", main = NA, xlab = "Elevação (m)", ylab = "Frequência") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-47-1.png" width="25%" style="display: block; margin: auto;" /> --- # 4. Descrição de objetos raster ## Informações geográficas ### Valores ```r # valores do stack values(bioclim[[1:3]]) %>% head() ``` ``` ## wc2.1_10m_bio_1 wc2.1_10m_bio_10 wc2.1_10m_bio_11 ## [1,] NA NA NA ## [2,] NA NA NA ## [3,] NA NA NA ## [4,] NA NA NA ## [5,] NA NA NA ## [6,] NA NA NA ``` --- # 4. Descrição de objetos raster ## Informações geográficas ### Valores ```r # valores do stack - grafico pareado bioclim[[1:3]] %>% raster::values() %>% tibble::as_tibble() %>% dplyr::sample_n(1e3) %>% pairs(cex = 1.4, pch = 20, col = adjustcolor("steelblue", .7)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-49-1.png" width="20%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_reprojection.png) background-size: 550px background-position: 50% 50% # 5. Converter CRS de objetos raster ## Reprojeção <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Hardware Implementation of the Video Polynomial Transformation + LPF](http://vlsi.eelabs.technion.ac.il/projects/hardware-implementation-of-the-video-polynomial-transformation-lpf/) --- background-image: url(img/geo_raster_crs.png) background-size: 800px background-position: 50% 90% # 5. Converter CRS de objetos raster ## Reprojeção 1. Reprojeção vetorial de centroides celulares (muda a **posição e tamanho** do pixel) 1. Cálculo de novos valores dos pixels por meio de reamostragem (muda o **valor** do pixel) <br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 5. Converter CRS de objetos raster ## Converter CRS local ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # projecao do raster raster::projection(dem_rc) ``` ``` ## [1] "+proj=longlat +datum=WGS84 +no_defs" ``` ```r raster::crs(dem_rc) ``` ``` ## CRS arguments: +proj=longlat +datum=WGS84 +no_defs ``` --- background-image: url(img/geo_utm_zones.png) background-size: 500px background-position: 50% 80% # 5. Converter CRS de objetos raster ## Converter CRS local ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # proj4string utm 23s utm23s <- "+init=epsg:31983" ``` <br><br><br><br><br><br><br><br><br><br> [EPSG: 32723](https://epsg.io/32723) [ESRI (2021)](https://pro.arcgis.com/en/pro-app/help/mapping/properties/transverse-mercator.htm) --- # 5. Converter CRS de objetos raster ## Converter CRS local ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # reprojecao dem_rc_utm23s <- raster::projectRaster(dem_rc, crs = utm23s) dem_rc_utm23s ``` ``` ## class : RasterLayer ## dimensions : 386, 381, 147066 (nrow, ncol, ncell) ## resolution : 85.8, 92.3 (x, y) ## extent : 214575.4, 247265.2, 7503009, 7538637 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : srtm_27_17 ## values : 491.6033, 980.4151 (min, max) ``` --- # 5. Converter CRS de objetos raster ## Converter CRS local - especificando parâmetros ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # reprojecao dem_rc_utm23s <- raster::projectRaster(dem_rc, crs = utm23s, res = 90, method = "bilinear") dem_rc_utm23s ``` ``` ## class : RasterLayer ## dimensions : 396, 364, 144144 (nrow, ncol, ncell) ## resolution : 90, 90 (x, y) ## extent : 214554.4, 247314.4, 7502985, 7538625 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : srtm_27_17 ## values : 493.2395, 986.686 (min, max) ``` --- # 5. Converter CRS de objetos raster ## Converter CRS local - especificando parâmetros ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # reprojecao de vector rc_2020_utm23s <- sf::st_transform(rc_2020, crs = utm23s) rc_2020_utm23s ``` ``` ## Simple feature collection with 1 feature and 4 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: 215151.7 ymin: 7503723 xmax: 246580.7 ymax: 7537978 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## code_muni name_muni code_state abbrev_state geom ## 493 3543907 Rio Claro 35 SP MULTIPOLYGON (((232640.1 75... ``` --- # 5. Converter CRS de objetos raster ## Converter CRS local ### WGS84/GCS -> SIRGAS2000/UTM23s (proj4string) ```r # plot plot(dem_rc_utm23s, col = viridis::viridis(10)) plot(rc_2020_utm23s$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-55-1.png" width="30%" style="display: block; margin: auto;" /> --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Datum WGS84 e coordenadas geográficas ```r # WGS84/GCS bioclim$wc2.1_10m_bio_1 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Datum WGS84 e coordenadas geográficas ```r # plot plot(bioclim$wc2.1_10m_bio_1, col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-57-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_proj_moll.png) background-size: 500px background-position: 50% 70% # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção de Mollweide: preserva as relações de área ```r # proj4string mollweide moll <- "+proj=moll" ``` <br><br><br><br><br><br><br><br><br><br> [EPSG: 54009](https://epsg.io/54009) [ESRI (2021)](https://pro.arcgis.com/en/pro-app/help/mapping/properties/mollweide.html) --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção de Mollweide ```r # reprojecao bio01_moll <- raster::projectRaster(bioclim$wc2.1_10m_bio_1, crs = moll, res = 25e3, method = "bilinear") bio01_moll ``` ``` ## class : RasterLayer ## dimensions : 732, 1453, 1063596 (nrow, ncol, ncell) ## resolution : 25000, 25000 (x, y) ## extent : -18159905, 18165095, -9154952, 9145048 (xmin, xmax, ymin, ymax) ## crs : +proj=moll +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ## source : memory ## names : wc2.1_10m_bio_1 ## values : -54.66752, 30.71805 (min, max) ``` --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção de Mollweide ```r # plot plot(bio01_moll, col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-60-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_proj_laea.png) background-size: 280px background-position: 50% 75% # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção Azimutal de Lambert: preserva os tamanhos e senso de direção (centro) ```r # proj4string lambert laea <- "+proj=laea +x_0=0 +y_0=0 +lon_0=0 +lat_0=0" ``` <br><br><br><br><br><br><br><br> [ESRI(2021)](https://pro.arcgis.com/en/pro-app/help/mapping/properties/lambert-azimuthal-equal-area.html) --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção Azimutal de Lambert: preserva os tamanhos e senso de direção (centro) ```r # reprojecao bio01_laea <- raster::projectRaster(bioclim$wc2.1_10m_bio_1, crs = laea, res = 25e3, method = "bilinear") bio01_laea ``` ``` ## class : RasterLayer ## dimensions : 1028, 1029, 1057812 (nrow, ncol, ncell) ## resolution : 25000, 25000 (x, y) ## extent : -12863885, 12861115, -12848994, 12851006 (xmin, xmax, ymin, ymax) ## crs : +proj=laea +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ## source : memory ## names : wc2.1_10m_bio_1 ## values : -54.70442, 30.71119 (min, max) ``` --- # 5. Converter CRS de objetos raster ## Converter CRS global ### Projeção Azimutal de Lambert: preserva os tamanhos e senso de direção (centro) ```r # plot plot(bio01_laea, col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-63-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_focal.png), url(img/geo_raster_aggregate.png) background-size: 450px, 460px background-position: 15% 80%, 85% 80% # 6. Operações de objetos raster ## As operações podem ser separadas em três tipos ### **1. Operações de atributos**: acessar valores, camadas e nome das camadas ### **2. Operações espaciais**: aplicar regras espaciais para mudar valores dos pixels ### **3. Operações geométricas**: mudar a posição, tamanho e número dos pixels <br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- background-image: url(img/geo_raster_values.png) background-size: 600px background-position: 95% 105% # 6. Operações de objetos raster ## **1. Operações de atributos** ### Modificação de objetos *raster* baseado em **informações não espaciais**, como **valores das células e nome das camadas** ### **Operações** ### *1.1. Subconjunto de células ou camadas* ### *1.2. Renomear camadas* ### *1.3. Estatística das células* <br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de valores* ```r # raster - linha 1 e coluna 1 dem_rc[1, 1] ``` ``` ## [1] 859 ``` -- ```r # celula 1 dem_rc[1] ``` ``` ## [1] 859 ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de valores* ```r # stack - linha 1 e coluna 1 bioclim[1, 1] ``` ``` ## wc2.1_10m_bio_1 wc2.1_10m_bio_10 wc2.1_10m_bio_11 wc2.1_10m_bio_12 ## [1,] NA NA NA NA ## wc2.1_10m_bio_13 wc2.1_10m_bio_14 wc2.1_10m_bio_15 wc2.1_10m_bio_16 ## [1,] NA NA NA NA ## wc2.1_10m_bio_17 wc2.1_10m_bio_18 wc2.1_10m_bio_19 wc2.1_10m_bio_2 ## [1,] NA NA NA NA ## wc2.1_10m_bio_3 wc2.1_10m_bio_4 wc2.1_10m_bio_5 wc2.1_10m_bio_6 ## [1,] NA NA NA NA ## wc2.1_10m_bio_7 wc2.1_10m_bio_8 wc2.1_10m_bio_9 ## [1,] NA NA NA ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de valores* ```r # celula 1 bioclim[1] ``` ``` ## wc2.1_10m_bio_1 wc2.1_10m_bio_10 wc2.1_10m_bio_11 wc2.1_10m_bio_12 ## [1,] NA NA NA NA ## wc2.1_10m_bio_13 wc2.1_10m_bio_14 wc2.1_10m_bio_15 wc2.1_10m_bio_16 ## [1,] NA NA NA NA ## wc2.1_10m_bio_17 wc2.1_10m_bio_18 wc2.1_10m_bio_19 wc2.1_10m_bio_2 ## [1,] NA NA NA NA ## wc2.1_10m_bio_3 wc2.1_10m_bio_4 wc2.1_10m_bio_5 wc2.1_10m_bio_6 ## [1,] NA NA NA NA ## wc2.1_10m_bio_7 wc2.1_10m_bio_8 wc2.1_10m_bio_9 ## [1,] NA NA NA ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # selecao de camada num objeto stack utilizando a funcao subset bioclim_bio01 <- raster::subset(bioclim, "wc2.1_10m_bio_1") bioclim_bio01 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # selecao de camada num objeto stack utilizando a funcao raster bioclim_bio01 <- raster::raster(bioclim, layer = 1) bioclim_bio01 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # selecao de camada num objeto stack utilizando os operadores [[]] e o nome bioclim_bio01 <- bioclim[["wc2.1_10m_bio_1"]] bioclim_bio01 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # selecao de camada num objeto stack utilizando os operadores [[]] e a posicao bioclim_bio01 <- bioclim[[1]] bioclim_bio01 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # selecao de camada num objeto stack utilizando o operador $ bioclim_bio01 <- bioclim$wc2.1_10m_bio_1 bioclim_bio01 ``` ``` ## class : RasterLayer ## dimensions : 1080, 2160, 2332800 (nrow, ncol, ncell) ## resolution : 0.1666667, 0.1666667 (x, y) ## extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : wc2.1_10m_bio_1.tif ## names : wc2.1_10m_bio_1 ## values : -54.72435, 30.98764 (min, max) ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.1. Subconjunto - Seleção de camadas* ```r # plot plot(bioclim_bio01, col = viridis::viridis(10)) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-73-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.2. Renomear camadas* ```r # nomes names(dem_rc) ``` ``` ## [1] "srtm_27_17" ``` -- ```r # renomear names(dem_rc) <- "elevation" ``` -- ```r # nomes names(dem_rc) ``` ``` ## [1] "elevation" ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.2. Renomear camadas* ```r # nomes names(bioclim) ``` ``` ## [1] "wc2.1_10m_bio_1" "wc2.1_10m_bio_10" "wc2.1_10m_bio_11" "wc2.1_10m_bio_12" ## [5] "wc2.1_10m_bio_13" "wc2.1_10m_bio_14" "wc2.1_10m_bio_15" "wc2.1_10m_bio_16" ## [9] "wc2.1_10m_bio_17" "wc2.1_10m_bio_18" "wc2.1_10m_bio_19" "wc2.1_10m_bio_2" ## [13] "wc2.1_10m_bio_3" "wc2.1_10m_bio_4" "wc2.1_10m_bio_5" "wc2.1_10m_bio_6" ## [17] "wc2.1_10m_bio_7" "wc2.1_10m_bio_8" "wc2.1_10m_bio_9" ``` -- ```r # renomear names(bioclim) <- c("bio01", paste0("bio", 10:19), paste0("bio0", 2:9)) ``` -- ```r # nomes names(bioclim) ``` ``` ## [1] "bio01" "bio10" "bio11" "bio12" "bio13" "bio14" "bio15" "bio16" "bio17" ## [10] "bio18" "bio19" "bio02" "bio03" "bio04" "bio05" "bio06" "bio07" "bio08" ## [19] "bio09" ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.3. Estatística das células - Média* ```r # media de todas as celulas de altitude raster::cellStats(x = dem_rc, stat = mean) ``` ``` ## [1] 625.8273 ``` -- ```r # media de todas as celulas de cada camada bioclimatica raster::cellStats(x = bioclim, stat = mean) ``` ``` ## bio01 bio10 bio11 bio12 bio13 bio14 ## -4.0378283 7.2035545 -13.8963286 550.0569022 93.4633916 15.3689993 ## bio15 bio16 bio17 bio18 bio19 bio02 ## 74.7084151 241.6525005 55.4149542 156.4237816 108.8950626 9.9432120 ## bio03 bio04 bio05 bio06 bio07 bio08 ## 34.5221528 880.1215546 13.9386423 -19.7938943 33.7325366 -0.9226276 ## bio09 ## -5.3774489 ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.3. Estatística das células - Frequência* ```r # frequencia das celulas raster::freq(x = dem_rc) %>% head() ``` ``` ## value count ## [1,] 491 1 ## [2,] 492 4 ## [3,] 493 9 ## [4,] 494 19 ## [5,] 495 32 ## [6,] 496 44 ``` --- # 6. Operações de objetos raster ## **1. Operações de atributos** ### *1.3. Estatística das células - Frequência* ```r # frequencia das celulas raster::freq(x = bioclim[[1]]) %>% head() ``` ``` ## value count ## [1,] -55 319 ## [2,] -54 4529 ## [3,] -53 5778 ## [4,] -52 6128 ## [5,] -51 6090 ## [6,] -50 7892 ``` --- background-image: url(img/geo_zonal.png) background-size: 330px background-position: 85% 80% # 6. Operações de objetos raster ## **2. Operações espaciais** ### Aplicação de **regras espaciais** para **mudar valores dos pixels**, geralmente com o intuito de **resumir as informações das células** <br> ### **Operações** *2.1. Operações locais (por célula)* *2.2. Operações focais (por bloco de múltiplas células regulares - e.g. 3x3)* *2.3. Operações zonais (por bloco de múltiplas células irregulares)* *2.4. Operações globais (por um ou vários rasters inteiros)* <br><br><br> [The Zonal Statistics function](http://www.geography.hunter.cuny.edu/~jochen/GTECH361/lectures/lecture11/concepts/Zonal%20Statistics.htm) --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster* ```r # soma dem_rc2 <- dem_rc + dem_rc dem_rc2 ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 982, 1970 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster * ```r # plot plot(dem_rc2, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-85-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster* ```r # log10 dem_rc_log10 <- log10(dem_rc) dem_rc_log10 ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 2.691081, 2.993436 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster* ```r # plot plot(dem_rc_log10, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-87-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster - Operador lógico* ```r # acima de 600 dem_rc_acima_600 <- dem_rc > 600 dem_rc_acima_600 ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 0, 1 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster - Operador lógico* ```r # plot plot(dem_rc_acima_600, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-89-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster - Função `calc()`* ```r # produto dos pixel - calc dem_rc_prod <- raster::calc(x = dem_rc, fun = function(x){x * x}) dem_rc_prod ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 241081, 970225 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Álgebra de raster - Função `calc()`* ```r # plot plot(dem_rc_prod, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-91-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_reclass.gif) background-size: 700px background-position: 50% 65% # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Reclassificação* <br><br><br><br><br><br><br><br><br><br><br><br><br> [Reclass by individual values - ESRI](https://desktop.arcgis.com/en/arcmap/10.3/tools/spatial-analyst-toolbox/reclass-by-individual-values.htm) --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### - Reclassificação ```r # matriz de reclassificacao rcl <- matrix( c(400, 600, 1, 600, 800, 2, 800, 1000, 3), ncol = 3, byrow = TRUE) rcl ``` ``` ## [,1] [,2] [,3] ## [1,] 400 600 1 ## [2,] 600 800 2 ## [3,] 800 1000 3 ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Reclassificação* ```r # reclassificao dem_rc_rcl <- raster::reclassify(x = dem_rc, rcl = rcl) dem_rc_rcl ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : elevation ## values : 1, 3 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.1. Operações locais - Reclassificação* ```r # plot plot(dem_rc_rcl, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-94-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_focal.png) background-size: 700px background-position: 50% 75% # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.2 Operação focal - Janela móvel (Moving window)* <br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- background-image: url(img/geo_raster_moving_window.gif) background-size: 450px background-position: 50% 70% # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.2 Operação focal - Janela móvel (Moving window)* <br><br><br><br><br><br><br><br><br><br><br><br><br> [Nowosad & Hesselbarth (2020)](https://r-spatialecology.github.io/ialena-2020/#1) --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.2 Operação focal - Janela móvel (Moving window)* ```r # janela movel dem_rc_focal_sd <- raster::focal(x = dem_rc, w = matrix(data = 1, nrow = 3, ncol = 3), fun = sd) dem_rc_focal_sd ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 0, 50.38959 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.2 Operação focal - Janela móvel (Moving window)* ```r # plot plot(dem_rc_focal_sd, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-96-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *Declividade (Slope)* ```r # declividade dem_rc_dec <- raster::terrain(x = dem_rc, opt = "slope", unit = "degrees") dem_rc_dec ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : slope ## values : 0, 33.18868 (min, max) ``` --- background-image: url(img/geo_raster_slope.png), url(img/geo_raster_slope2.jpg), url(img/geo_raster_slope3.png) background-size: 450px, 450px, 380px background-position: 80% 10%, 80% 85%, 20% 85% # 6. Operações de objetos raster ## **2. Operações espaciais** ### *Declividade (Slope)* --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *Declividade (Slope)* ```r # plot plot(dem_rc_dec, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-98-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.3. Operações zonais - Estatística por zonas* ```r # estatistica zonal dem_rc_zonal <- data.frame(raster::zonal(dem_rc, dem_rc_rcl, fun = "summary")) dem_rc_zonal ``` ``` ## zone value_1 value_2 value_3 value_4 value_5 value_6 ## 1 1 491 552 574.0 567.5995 589 600 ## 2 2 601 620 640.0 650.6829 670 800 ## 3 3 801 817 832.5 834.2732 846 985 ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.3. Operações zonais - Estatística por zonas* ```r # estatistica zonal colnames(dem_rc_zonal) <- c("zona", "min", "1qt", "mediana", "media", "3qt", "max") dem_rc_zonal ``` ``` ## zona min 1qt mediana media 3qt max ## 1 1 491 552 574.0 567.5995 589 600 ## 2 2 601 620 640.0 650.6829 670 800 ## 3 3 801 817 832.5 834.2732 846 985 ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.4. Operações globais - Distância Euclideana* ```r # reclassificacao dem_rc_abaixo_500 <- raster::calc(x = dem_rc, fun = function(x) ifelse(x < 500, 1, NA)) dem_rc_abaixo_500 ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 1, 1 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.4. Operações globais - Distância Euclideana* ```r # plot plot(dem_rc_abaixo_500, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-102-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.4. Operações globais - Distância Euclideana* ```r # distancia euclideana dem_rc_global_dist <- raster::distance(dem_rc_abaixo_500) dem_rc_global_dist ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : layer ## values : 0, 34683.79 (min, max) ``` --- # 6. Operações de objetos raster ## **2. Operações espaciais** ### *2.4. Operações globais - Distância Euclideana* ```r # plot plot(dem_rc_global_dist, col = viridis::viridis(10)) plot(dem_rc_abaixo_500, add = TRUE, col = "white", legend = FALSE) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-104-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_aggregate2.png) background-size: 800px background-position: 85% 70% # 6. Operações de objetos raster ## **3. Operações geométricas** ### Envolve mudar a **posição, tamanho e número dos pixels** e **atribuir novos valores**, geralmente aumentando ou diminuindo o tamanho desses pixels <br> ### **Operações** ### *3.1. Agregação* ### *3.2. Desagregação* ### *3.3. Alinhamento* --- background-image: url(img/geo_raster_resolution_diff.png), url(img/geo_raster_aggregate.png) background-size: 600px, 350px background-position: 50% 40%, 50% 95% # 6. Operações de objetos raster ## **3. Operações geométricas** ### *Agregação e desagregação* --- background-image: url(img/geo_raster_long_lat_dist.gif) background-size: 550px background-position: 50% 85% # 6. Operações de objetos raster ## **3. Operações geométricas** ### *Resolução - Relação de graus e distância em metros* --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.1 Agregação - Aumentar o tamanho do pixel* ```r # resolucao res(dem_rc_utm23s)[1] ``` ``` ## [1] 90 ``` ```r # agregacao - aumentar o tamanho do pixel dem_rc_utm23s_agre_media <- raster::aggregate(x = dem_rc_utm23s, fact = 10, fun = "mean") dem_rc_utm23s_agre_media ``` ``` ## class : RasterLayer ## dimensions : 40, 37, 1480 (nrow, ncol, ncell) ## resolution : 900, 900 (x, y) ## extent : 214554.4, 247854.4, 7502625, 7538625 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : srtm_27_17 ## values : 506.0024, 922.8709 (min, max) ``` --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.1. Agregação - Aumentar o tamanho do pixel* ```r # plot plot(dem_rc_utm23s_agre_media, col = viridis::viridis(10)) plot(rc_2020_utm23s$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-106-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_disaggregate.png) background-size: 700px background-position: 50% 100% # 6. Operações de objetos raster ## **3. Operações geométricas** ### 3.2 Desagregação - Diminuir o tamanho do pixel --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.2. Desagregação - Diminuir o tamanho do pixel* ```r # resolucao res(dem_rc_utm23s)[1] ``` ``` ## [1] 90 ``` ```r # desagregacao - diminuir o tamanho do pixel dem_rc_utm23s_dis_bil <- raster::disaggregate(dem_rc_utm23s, fact = 2, fun = "bilinear") dem_rc_utm23s_dis_bil ``` ``` ## class : RasterLayer ## dimensions : 792, 728, 576576 (nrow, ncol, ncell) ## resolution : 45, 45 (x, y) ## extent : 214554.4, 247314.4, 7502985, 7538625 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : srtm_27_17 ## values : 493.2395, 986.686 (min, max) ``` --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.2. Desagregação - Diminuir o tamanho do pixel* ```r # plot plot(dem_rc_utm23s_dis_bil, col = viridis::viridis(10)) plot(rc_2020_utm23s$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-108-1.png" width="30%" style="display: block; margin: auto;" /> --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.3. Alinhamento - Ajustar extensão, número e origem dos pixels* ```r # reamostragem st_rc <- raster::resample(x = bioclim$bio01, y = dem_rc, method = "bilinear") st_rc ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : bio01 ## values : 19.8383, 20.60492 (min, max) ``` --- # 6. Operações de objetos raster ## **3. Operações geométricas** ### *3.3. Alinhamento - Ajustar extensão, número e origem dos pixels* ```r # plot plot(st_rc, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-110-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_crop_mask_buffer_square.png), url(img/geo_raster_crop_mask_buffer_circular.png), url(img/geo_zonal.png) background-size: 350px, 350px, 330px background-position: 5% 80%, 50% 80%, 90% 70% # 7. Interação raster-vetor ## Podemos fazer operações da **interação entre objetos vetoriais e raster**, com diferentes finalidades, que podem ser diferentes tipos de vetores ### **Interações** #### **1. Corte e máscara: ajuste da extensão e limite** #### **2. Extração dos valores dos pixels para vetores** #### **3. Estatísticas zonais para um vetor** <br><br><br><br><br><br><br> [National Ecological Observatory Network (NEON)](https://www.neonscience.org/resources/learning-hub/tutorials/dc-raster-data-r), [The Zonal Statistics function](http://www.geography.hunter.cuny.edu/~jochen/GTECH361/lectures/lecture11/concepts/Zonal%20Statistics.htm) --- background-image: url(img/geo_raster_crop_mask.png) background-size: 1000px background-position: 50% 70% # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Ajustar o **tamanho de um objeto raster** a uma **área menor de interesse**, geralmente definido por um **objeto vetorial** <br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop - Ajusta a extensão ```r # crop - ajustar da extensao dem_rc_crop <- raster::crop(dem, rc_2020) dem_rc_crop ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 491, 985 (min, max) ``` --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop - Ajusta a extensão ```r # plot plot(dem_rc_crop, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-112-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Mask - Ajusta o limite ```r # mask - ajuste o limite dem_rc_mask <- raster::mask(dem, rc_2020) dem_rc_mask ``` ``` ## class : RasterLayer ## dimensions : 6000, 6000, 3.6e+07 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -50, -45, -25, -20 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 497, 860 (min, max) ``` --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Mask ```r # plot plot(dem_rc_mask, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-114-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop e Mask - Ajuste da extensão e do limite ```r # crop e mask - ajuste da extensao e do limite dem_rc_crop_mask <- dem %>% raster::crop(rc_2020) %>% raster::mask(rc_2020) dem_rc_crop_mask ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 497, 860 (min, max) ``` --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop e Mask - Ajuste da extensão e do limite ```r # plot plot(dem_rc_crop_mask, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-116-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop e Mask inverse - Ajuste da extensão e do limite inverso ```r # crop e mask inversa - ajuste da extensão e do limite inverso dem_rc_crop_mask_inv <- dem %>% raster::crop(rc_2020) %>% raster::mask(rc_2020, inverse = TRUE) dem_rc_crop_mask_inv ``` ``` ## class : RasterLayer ## dimensions : 370, 364, 134680 (nrow, ncol, ncell) ## resolution : 0.0008333333, 0.0008333333 (x, y) ## extent : -47.765, -47.46167, -22.55167, -22.24333 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : memory ## names : srtm_27_17 ## values : 491, 985 (min, max) ``` --- # 7. Interação raster-vetor ## **1. Cortes e máscaras** ### Crop e Mask inverse - Ajuste da extensão e do limite inverso ```r # plot plot(dem_rc_crop_mask_inv, col = viridis::viridis(10)) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-118-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **2. Extração** ### Importar pontos das nascentes ```r # importar pontos rc_nas <- sf::st_read(here::here("03_dados", "vetor", "SP_3543907_NASCENTES.shp"), quiet = TRUE) %>% sf::st_transform(crs = 4326) rc_nas ``` ``` ## Simple feature collection with 1220 features and 5 fields ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: -47.74126 ymin: -22.54837 xmax: -47.46367 ymax: -22.24496 ## Geodetic CRS: WGS 84 ## First 10 features: ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO geometry ## 1 3543907 RIO CLARO SP 35 nascente POINT (-47.74126 -22.32786) ## 2 3543907 RIO CLARO SP 35 nascente POINT (-47.73922 -22.32981) ## 3 3543907 RIO CLARO SP 35 nascente POINT (-47.73773 -22.32894) ## 4 3543907 RIO CLARO SP 35 nascente POINT (-47.73481 -22.32868) ## 5 3543907 RIO CLARO SP 35 nascente POINT (-47.73384 -22.30751) ## 6 3543907 RIO CLARO SP 35 nascente POINT (-47.73384 -22.33055) ## 7 3543907 RIO CLARO SP 35 nascente POINT (-47.73264 -22.3266) ## 8 3543907 RIO CLARO SP 35 nascente POINT (-47.732 -22.30701) ## 9 3543907 RIO CLARO SP 35 nascente POINT (-47.73196 -22.32892) ## 10 3543907 RIO CLARO SP 35 nascente POINT (-47.72989 -22.31052) ``` --- # 7. Interação raster-vetor ## **2. Extração** ### Importar pontos das nascentes ```r # plot plot(rc_nas$geometry, pch = 20, col = "blue", main = NA, axes = TRUE, graticule = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-120-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **2. Extração** ### Extração da altitude para os pontos das nascentes ```r # extracao rc_nas_ele <- rc_nas %>% dplyr::mutate(elev = raster::extract(x = dem_rc_utm23s, y = .)) rc_nas_ele ``` ``` ## Simple feature collection with 1220 features and 6 fields ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: -47.74126 ymin: -22.54837 xmax: -47.46367 ymax: -22.24496 ## Geodetic CRS: WGS 84 ## First 10 features: ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO geometry elev ## 1 3543907 RIO CLARO SP 35 nascente POINT (-47.74126 -22.32786) 728.2511 ## 2 3543907 RIO CLARO SP 35 nascente POINT (-47.73922 -22.32981) 717.5408 ## 3 3543907 RIO CLARO SP 35 nascente POINT (-47.73773 -22.32894) 717.3808 ## 4 3543907 RIO CLARO SP 35 nascente POINT (-47.73481 -22.32868) 706.6163 ## 5 3543907 RIO CLARO SP 35 nascente POINT (-47.73384 -22.30751) 668.4878 ## 6 3543907 RIO CLARO SP 35 nascente POINT (-47.73384 -22.33055) 715.0871 ## 7 3543907 RIO CLARO SP 35 nascente POINT (-47.73264 -22.3266) 720.7030 ## 8 3543907 RIO CLARO SP 35 nascente POINT (-47.732 -22.30701) 665.5738 ## 9 3543907 RIO CLARO SP 35 nascente POINT (-47.73196 -22.32892) 714.9436 ## 10 3543907 RIO CLARO SP 35 nascente POINT (-47.72989 -22.31052) 669.5779 ``` --- # 7. Interação raster-vetor ## **2. Extração** ### Extração da altitude para os pontos das nascentes ```r # plot plot(rc_nas_ele["elev"], pch = 20, main = NA, axes = TRUE, graticule = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-122-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **2. Extração** ### Histograma dos valores ```r # histograma rc_nas_ele %>% dplyr::pull(elev) %>% hist(col = "steelblue", border = "white", main = NA, xlab = "Elevação (m)", ylab = "Frequência") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-123-1.png" width="25%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **3. Estatística zonal** ### Buffers ```r # buffers set.seed(42) rc_nas_buf <- rc_nas %>% dplyr::sample_n(10) %>% sf::as_Spatial() %>% raster::buffer(width = 1000, dissolve = FALSE) %>% sf::st_as_sf() rc_nas_buf ``` ``` ## Simple feature collection with 10 features and 5 fields ## Geometry type: POLYGON ## Dimension: XY ## Bounding box: xmin: -47.73232 ymin: -22.44296 xmax: -47.47012 ymax: -22.2435 ## Geodetic CRS: WGS 84 ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO geometry ## 1 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.61015 -22.355... ## 2 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.638 -22.3553,... ## 3 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.47966 -22.339... ## 4 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.50825 -22.374... ## 5 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.48058 -22.243... ## 6 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.60273 -22.424... ## 7 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.71117 -22.323... ## 8 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.48795 -22.362... ## 9 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.72244 -22.325... ## 10 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.63349 -22.363... ``` --- # 7. Interação raster-vetor ## **3. Estatística zonal** ### Estatística zonal - Buffers ```r # plot plot(rc_nas_buf$geometry, col = adjustcolor("steelblue", .7), pch = 20, main = NA, axes = TRUE, graticule = TRUE) plot(rc_2020$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-125-1.png" width="30%" style="display: block; margin: auto;" /> --- # 7. Interação raster-vetor ## **3. Estatística zonal** ### Estatística zonal ```r # estatistica zonal rc_nas_buf <- rc_nas_buf %>% dplyr::mutate(elev_mean = raster::extract(x = dem_rc, y = rc_nas_buf, fun = mean, na.rm = TRUE)) rc_nas_buf ``` ``` ## Simple feature collection with 10 features and 6 fields ## Geometry type: POLYGON ## Dimension: XY ## Bounding box: xmin: -47.73232 ymin: -22.44296 xmax: -47.47012 ymax: -22.2435 ## Geodetic CRS: WGS 84 ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO geometry ## 1 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.61015 -22.355... ## 2 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.638 -22.3553,... ## 3 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.47966 -22.339... ## 4 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.50825 -22.374... ## 5 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.48058 -22.243... ## 6 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.60273 -22.424... ## 7 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.71117 -22.323... ## 8 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.48795 -22.362... ## 9 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.72244 -22.325... ## 10 3543907 RIO CLARO SP 35 nascente POLYGON ((-47.63349 -22.363... ## elev_mean ## 1 601.4461 ## 2 617.4470 ## 3 656.2843 ## 4 646.9322 ## 5 699.5970 ## 6 577.2166 ## 7 650.4125 ## 8 643.0127 ## 9 659.5418 ## 10 594.8601 ``` --- # 7. Interação raster-vetor ## **3. Estatística zonal** ### Estatística zonal ```r # plot plot(rc_nas_buf["elev_mean"], pch = 20, main = NA, axes = TRUE, graticule = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-127-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_data_convert.png) background-size: 450px background-position: 50% 80% # 8. Conversão raster-vetor ## Podemos fazer operações de conversão entre objetos vetoriais para raster e vice-versa --- background-image: url(img/geo_rasterization.png) background-size: 700px background-position: 50% 60% # 8. Conversão raster-vetor ## Rasterização <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 8. Conversão raster-vetor ## Rasterização de pontos ### Rasterize ```r # importar pontos rc_nas <- sf::st_read(here::here("03_dados", "vetor", "SP_3543907_NASCENTES.shp"), quiet = TRUE) rc_nas ``` ``` ## Simple feature collection with 1220 features and 5 fields ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: 217622.9 ymin: 7504132 xmax: 246367.4 ymax: 7537855 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## First 10 features: ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO geometry ## 1 3543907 RIO CLARO SP 35 nascente POINT (217622.9 7528315) ## 2 3543907 RIO CLARO SP 35 nascente POINT (217836.5 7528103) ## 3 3543907 RIO CLARO SP 35 nascente POINT (217988.9 7528203) ## 4 3543907 RIO CLARO SP 35 nascente POINT (218288.9 7528237) ## 5 3543907 RIO CLARO SP 35 nascente POINT (218346.6 7530583) ## 6 3543907 RIO CLARO SP 35 nascente POINT (218393.1 7528031) ## 7 3543907 RIO CLARO SP 35 nascente POINT (218508.3 7528470) ## 8 3543907 RIO CLARO SP 35 nascente POINT (218535.4 7530642) ## 9 3543907 RIO CLARO SP 35 nascente POINT (218583.5 7528215) ## 10 3543907 RIO CLARO SP 35 nascente POINT (218760.1 7530258) ``` --- # 8. Conversão raster-vetor ## Rasterização de pontos ### Rasterize ```r # rasterizar pontos rc_nas_rasterizacao <- raster::rasterize(x = rc_nas, y = dem_rc_utm23s_agre_media, field = 1, fun = "count") rc_nas_rasterizacao ``` ``` ## class : RasterLayer ## dimensions : 40, 37, 1480 (nrow, ncol, ncell) ## resolution : 900, 900 (x, y) ## extent : 214554.4, 247854.4, 7502625, 7538625 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : layer ## values : 1, 15 (min, max) ``` --- # 8. Conversão raster-vetor ## Rasterização de pontos ### Rasterize ```r # plot plot(rc_nas_rasterizacao, col = viridis::viridis(10)) plot(rc_nas$geometry, pch = 20, cex = .5, col = adjustcolor("gray", .5), add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-130-1.png" width="30%" style="display: block; margin: auto;" /> --- # 8. Conversão raster-vetor ## Rasterização de linhas ### Rasterize ```r # importar linhas rc_hid_simp <- sf::st_read(here::here("03_dados", "vetor", "SP_3543907_RIOS_SIMPLES.shp"), quiet = TRUE) %>% sf::st_simplify(x = ., dTolerance = 1000) rc_hid_simp ``` ``` ## Simple feature collection with 1 feature and 6 fields ## Geometry type: MULTILINESTRING ## Dimension: XY ## Bounding box: xmin: 215155.3 ymin: 7504132 xmax: 246367.4 ymax: 7537978 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## GEOCODIGO MUNICIPIO UF CD_UF HIDRO COMP_KM ## 1 3543907 RIO CLARO SP 35 curso d'água (0 - 10m) 1142.98 ## geometry ## 1 MULTILINESTRING ((231815.7 ... ``` --- # 8. Conversão raster-vetor ## Rasterização de linhas ### Rasterize ```r # rasterizar linhas rc_hid_rasterizacao <- raster::rasterize(x = rc_hid_simp, y = dem_rc_utm23s_agre_media, field = 1, fun = "count") ``` --- # 8. Conversão raster-vetor ## Rasterização de linhas ### Rasterize ```r # plot plot(rc_hid_rasterizacao, col = viridis::viridis(10)) plot(rc_hid_simp$geom, col = "gray", add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-133-1.png" width="30%" style="display: block; margin: auto;" /> --- # 8. Conversão raster-vetor ## Rasterização de polígonos ### Rasterize ```r # importar poligonos rc_cob <- sf::st_read(here::here("03_dados", "vetor", "SP_3543907_USO.shp"), quiet = TRUE) %>% dplyr::mutate(classe = as.factor(CLASSE_USO)) rc_cob ``` ``` ## Simple feature collection with 5 features and 7 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: 215151.7 ymin: 7503723 xmax: 246582.4 ymax: 7537978 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## GEOCODIGO MUNICIPIO UF CD_UF CLASSE_USO AREA_HA ## 1 3543907 RIO CLARO SP 35 água 357.027 ## 2 3543907 RIO CLARO SP 35 área antropizada 37297.800 ## 3 3543907 RIO CLARO SP 35 área edificada 5078.330 ## 4 3543907 RIO CLARO SP 35 formação florestal 7017.990 ## 5 3543907 RIO CLARO SP 35 silvicultura 138.173 ## geometry classe ## 1 MULTIPOLYGON (((235487.6 75... água ## 2 MULTIPOLYGON (((232275 7504... área antropizada ## 3 MULTIPOLYGON (((233123.6 75... área edificada ## 4 MULTIPOLYGON (((232355 7504... formação florestal ## 5 MULTIPOLYGON (((243052.1 75... silvicultura ``` --- # 8. Conversão raster-vetor ## Rasterização de polígonos ### Rasterize ```r # rasterizar poligonos rc_cob_rasterizacao <- raster::rasterize(x = rc_cob, y = dem_rc_utm23s_agre_media, field = "classe") ``` --- # 8. Conversão raster-vetor ## Rasterização de polígonos ### Rasterize ```r # plot plot(rc_cob_rasterizacao, col = viridis::viridis(10)) plot(rc_cob$geom, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-136-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_fasterize.png) background-size: 500px background-position: 50% 80% # 8. Conversão raster-vetor ## Rasterização de polígonos ### Fasterize ```r # package fasterize # install.packages("fasterize") library(fasterize) ``` --- # 8. Conversão raster-vetor ## Rasterização de polígonos ### Fasterize ```r # rasterizacao com fasterize rc_cob_fast <- fasterize::fasterize(sf = rc_cob, raster = dem_rc_utm23s_agre_media, field = "classe") rc_cob_fast ``` ``` ## class : RasterLayer ## dimensions : 40, 37, 1480 (nrow, ncol, ncell) ## resolution : 900, 900 (x, y) ## extent : 214554.4, 247854.4, 7502625, 7538625 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs ## source : memory ## names : layer ## values : 1, 5 (min, max) ``` --- # 8. Conversão raster-vetor ## Rasterização de polígonos ### Fasterize ```r # plot plot(rc_cob_fast, col = viridis::viridis(10)) plot(rc_cob$geom, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-139-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_vectorization_points.png) background-size: 700px background-position: 50% 65% # 8. Conversão raster-vetor ## Vetorização - Raster para pontos <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 8. Conversão raster-vetor ## Vetorização - Raster para pontos ```r # vetorizacao de pontos dem_rc_utm23s_agre_media_pontos <- raster::rasterToPoints(dem_rc_utm23s_agre_media, spatial = TRUE) %>% sf::st_as_sf() dem_rc_utm23s_agre_media_pontos ``` ``` ## Simple feature collection with 1384 features and 1 field ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: 215004.4 ymin: 7503075 xmax: 246504.4 ymax: 7538175 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## First 10 features: ## srtm_27_17 geometry ## 1 861.5798 POINT (222204.4 7538175) ## 2 845.0291 POINT (223104.4 7538175) ## 3 767.5242 POINT (224004.4 7538175) ## 4 666.6461 POINT (224904.4 7538175) ## 5 679.7852 POINT (225804.4 7538175) ## 6 727.4907 POINT (226704.4 7538175) ## 7 716.2133 POINT (227604.4 7538175) ## 8 622.1591 POINT (228504.4 7538175) ## 9 593.3788 POINT (229404.4 7538175) ## 10 618.5790 POINT (230304.4 7538175) ``` --- # 8. Conversão raster-vetor ## Vetorização - Raster para pontos ```r # plot plot(dem_rc_utm23s_agre_media, col = viridis::viridis(10, alpha = .8)) plot(dem_rc_utm23s_agre_media_pontos, pch = 20, cex = .7, main = FALSE, add = TRUE) plot(rc_2020_utm23s$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-141-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_vectorization_lines_contour.png) background-size: 800px background-position: 50% 70% # 8. Conversão raster-vetor ## Vetorização - Raster para linhas <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 8. Conversão raster-vetor ## Vetorização - Raster para linhas ```r # vetorizacao de linhas dem_rc_utm23s_agre_media_linhas <- raster::rasterToContour(x = dem_rc_utm23s_agre_media) %>% sf::st_as_sf() dem_rc_utm23s_agre_media_linhas ``` ``` ## Simple feature collection with 8 features and 1 field ## Geometry type: MULTILINESTRING ## Dimension: XY ## Bounding box: xmin: 215004.4 ymin: 7503506 xmax: 246504.4 ymax: 7538175 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## level geometry ## C_1 550 MULTILINESTRING ((215904.4 ... ## C_2 600 MULTILINESTRING ((215004.4 ... ## C_3 650 MULTILINESTRING ((215004.4 ... ## C_4 700 MULTILINESTRING ((215004.4 ... ## C_5 750 MULTILINESTRING ((215004.4 ... ## C_6 800 MULTILINESTRING ((215004.4 ... ## C_7 850 MULTILINESTRING ((215004.4 ... ## C_8 900 MULTILINESTRING ((215004.4 ... ``` --- # 8. Conversão raster-vetor ## Vetorização - Raster para linhas ```r # plot plot(dem_rc_utm23s_agre_media, col = viridis::viridis(10, alpha = .8)) contour(dem_rc_utm23s_agre_media, levels = seq(500, 900, by = 50), col = "white", pch = 20, lwd = 1.5, labcex = 2, main = FALSE, add = TRUE) plot(rc_2020_utm23s$geom, col = NA, border = "red", lwd = 2, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-143-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_raster_vectorization_polygons.png) background-size: 1000px background-position: 50% 50% # 8. Conversão raster-vetor ## Vetorização - Raster para polígonos <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> [Lovelace et al. (2020)](https://geocompr.robinlovelace.net/) --- # 8. Conversão raster-vetor ## Vetorização - Raster para polígonos ```r # vetorizacao de poligonos rc_cob_rasterizacao_poligonos <- raster::rasterToPolygons(rc_cob_rasterizacao) %>% sf::st_as_sf() rc_cob_rasterizacao_poligonos ``` ``` ## Simple feature collection with 618 features and 1 field ## Geometry type: POLYGON ## Dimension: XY ## Bounding box: xmin: 215454.4 ymin: 7503525 xmax: 246954.4 ymax: 7537725 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## First 10 features: ## layer geometry ## 1 2 POLYGON ((232554.4 7537725,... ## 2 2 POLYGON ((233454.4 7537725,... ## 3 2 POLYGON ((234354.4 7537725,... ## 4 2 POLYGON ((235254.4 7537725,... ## 5 2 POLYGON ((236154.4 7537725,... ## 6 2 POLYGON ((237054.4 7537725,... ## 7 2 POLYGON ((237954.4 7537725,... ## 8 2 POLYGON ((238854.4 7537725,... ## 9 2 POLYGON ((239754.4 7537725,... ## 10 2 POLYGON ((240654.4 7537725,... ``` --- # 8. Conversão raster-vetor ## Vetorização - Raster para polígonos ```r # plot plot(rc_cob_rasterizacao, col = viridis::viridis(10)) plot(rc_cob_rasterizacao_poligonos$geometry, col = NA, border = "gray", lwd = 1, main = FALSE, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-145-1.png" width="30%" style="display: block; margin: auto;" /> --- # 8. Conversão raster-vetor ## Vetorização - Raster para polígonos dissolvidos ```r # vetorizacao de poligonos dissolvendo rc_cob_rasterizacao_poligonos_dissolvidos <- raster::rasterToPolygons(rc_cob_rasterizacao, dissolve = TRUE) %>% sf::st_as_sf() rc_cob_rasterizacao_poligonos_dissolvidos ``` ``` ## Simple feature collection with 5 features and 1 field ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: 215454.4 ymin: 7503525 xmax: 246954.4 ymax: 7537725 ## Projected CRS: SIRGAS 2000 / UTM zone 23S ## layer geometry ## 1 1 MULTIPOLYGON (((227154.4 75... ## 2 2 MULTIPOLYGON (((227154.4 75... ## 3 3 MULTIPOLYGON (((234354.4 75... ## 4 4 MULTIPOLYGON (((229854.4 75... ## 5 5 MULTIPOLYGON (((245154.4 75... ``` --- # 8. Conversão raster-vetor ## Vetorização - Raster para polígonos dissolvidos ```r # plot plot(rc_cob_rasterizacao, col = viridis::viridis(10)) plot(rc_cob_rasterizacao_poligonos_dissolvidos$geometry, col = NA, border = "gray", lwd = 1, main = FALSE, add = TRUE) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-147-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_sr_spectral_index.png) background-size: 600px background-position: 70% 90% # 9. Índices espectrais ## **Definição** ### **Equação matemática** aplicada por pixel em **várias bandas espectrais** de uma imagem, cuja finalidade é **realçar alguma característica na imagem** ## **Aplicações** 1. Vegetação 1. Solo 1. Incêndios 1. Água 1. .... <br><br><br> [Wegmann et al. (2016)](http://book.ecosens.org/rsebook/) --- background-image: url(img/geo_sr_spectral_index_list.png) background-size: 500px background-position: 50% 70% # 9. Índices espectrais ## Lista de índices espectrais (quase infinita...) --- background-image: url(img/geo_sr_ndvi.png), url(img/geo_sr_ndvi_response2.jpg), url(img/ndvi.jpg) background-size: 300px, 550px, 350px background-position: 20% 90%, 85% 90%, 95% 15% # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) - Os valores do NDVI variam de -1 a +1 - Valores **próximos de 1** indicam **maior atividade fotossintética** da vegetação - Valores **próximos de 0** são geralmente **áreas sem vegetação** - Valores **próximos de -1** geralmente indicam **água** --- background-image: url(img/geo_sr_landsat8.png), url(img/geo_sr_ndvi_response3.png), url(img/geo_sr_ndvi.jpg) background-size: 300px, 550px, 550px background-position: 20% 20%, 6% 83%, 92% 71% # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) --- # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ### Landsat 8 - Rio Claro/SP ```r # landsat 8 - Rio Claro/SP landsat_rc ``` ``` ## class : RasterBrick ## dimensions : 1142, 1047, 1195674, 7 (nrow, ncol, ncell, nlayers) ## resolution : 30, 30 (x, y) ## extent : 215145, 246555, -2496285, -2462025 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +datum=WGS84 +units=m +no_defs ## source : landsat_rc.tif ## names : landsat_rc.1, landsat_rc.2, landsat_rc.3, landsat_rc.4, landsat_rc.5, landsat_rc.6, landsat_rc.7 ## min values : -2000, -2000, -135, -303, -8, -50, 11 ## max values : 8199, 8701, 9440, 9991, 11246, 12168, 11846 ``` --- # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ### Landsat 8 - Rio Claro/SP ```r # plot - cores naturais plotRGB(landsat_rc, r = 4, g = 3, b = 2, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-149-1.png" width="30%" style="display: block; margin: auto;" /> --- # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ### Landsat 8 - Rio Claro/SP ```r # plot - falsa cor infravermelho plotRGB(landsat_rc, r = 5, g = 4, b = 3, stretch = "hist") ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-150-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/geo_sr_rstbx.png), url(img/geo_sr_rstbx_image.png) background-size: 250px, 650px background-position: 13% 73%, 80% 90% # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ### RStoolbox ```r # package RStoolbox # install.packages("RStoolbox") library(RStoolbox) ``` <br><br><br><br><br><br><br><br><br> [RStoolbox](http://bleutner.github.io/RStoolbox/) --- # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ```r # ndvi landsat_rc_ndvi <- RStoolbox::spectralIndices(img = landsat_rc, red = 4, nir = 5, indices = "NDVI") landsat_rc_ndvi ``` ``` ## class : RasterLayer ## dimensions : 1142, 1047, 1195674 (nrow, ncol, ncell) ## resolution : 30, 30 (x, y) ## extent : 215145, 246555, -2496285, -2462025 (xmin, xmax, ymin, ymax) ## crs : +proj=utm +zone=23 +datum=WGS84 +units=m +no_defs ## source : memory ## names : NDVI ## values : -0.9387755, 1 (min, max) ``` --- # 9. Índices espectrais ## *Normalized Difference Vegetation Index* (NDVI) ```r # plot plot(landsat_rc_ndvi) ``` <img src="08_slides_intro_geoespacial_r_files/figure-html/unnamed-chunk-153-1.png" width="30%" style="display: block; margin: auto;" /> --- background-image: url(img/general_subdirectory.jpeg) background-size: 300px background-position: 50% 90% # 10. Exportar objetos raster ## Exportar raster ### Criar um diretório ```r # diretorio dir.create(here::here("03_dados", "raster", "exportados")) ``` --- background-image: url(img/geo_raster_single_raster.png) background-size: 250px background-position: 50% 90% # 10. Exportar objetos raster ## Exportar raster ```r # exportar raster layer raster::writeRaster(dem_rc, filename = here::here("03_dados", "raster", "exportados", "elevation_rio_claro"), format = "GTiff", datatype = "INT2S", options = c("COMPRESS=DEFLATE", "TFW=YES"), progress = "text", overwrite = TRUE) ``` --- background-image: url(img/geo_raster_multi_raster.png) background-size: 230px background-position: 50% 95% # 10. Exportar objetos raster ## Exportar stack ou brick ```r # exportar raster stack ou brick raster::writeRaster(x = bioclim[[1:3]], filename = here::here("03_dados", "raster", "exportados", names(bioclim[[1:3]])), bylayer = TRUE, format = "GTiff", datatype = "INT2S", options = c("COMPRESS=DEFLATE", "TFW=YES"), progress = "text", overwrite = TRUE) ``` --- class: inverse, middle, center # Dúvidas? --- class: clear, middle background-image: url(img/gif_frog.gif), url(img/gif_frogs.gif), url(img/package_xaringan.png) background-size: 250px, 500px, 130px background-position: 35% 50%, 90% 55%, 5% 86% ## Maurício Vancine <br><br> Contatos: <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;fill:#23373b;" xmlns="http://www.w3.org/2000/svg"> <path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg> [mauricio.vancine@gmail.com]() <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;fill:#23373b;" xmlns="http://www.w3.org/2000/svg"> <path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg> [@mauriciovancine](https://twitter.com/mauriciovancine) <svg viewBox="0 0 496 512" style="height:1em;position:relative;display:inline-block;top:.1em;fill:#23373b;" xmlns="http://www.w3.org/2000/svg"> <path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> [mauriciovancine](https://github.com/mauriciovancine) <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;fill:#23373b;" xmlns="http://www.w3.org/2000/svg"> <path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg> [mauriciovancine.github.io](https://mauriciovancine.github.io) <br><br><br><br><br> Slides criados via pacote [xaringan](https://github.com/yihui/xaringan) e tema [Metropolis](https://github.com/pat-s/xaringan-metropolis). Animação dos sapos por [@probzz](https://twitter.com/probzz/status/1367613720294170627).