Información espacial en formato ráster en R
Existen varios paquetes en R que permiten manejar datos espaciales, ya sea en formato de vector o raster. Algunos de ellos incluyen: sp, rgdal, rgeos, sf, stars, raster, terra
. Sin embargo, en este curso nos enfocaremos en utilizar sf
para el manejo de información vectorial y stars
para el manejo de rasters.
Introducción a stars
stars
es un paquete creado para trabajar de manera sencilla con información raster y fue creado por el mismo grupo de trabajo que creo sf
, así que muchas funciones y sintaxis son compartidas con dicho paquete.
Rasters
El objeto básico en stars
son los spatiotemporal arrays (stars), es decir arreglos espacio temporales. Recordemos que un arreglo corresponde a cualquier objeto organizado en dimensiones. Por ejemplo, una arreglo de dos dimensiones podría corresponder a una matriz que cuenta con una dimensión vertical (filas) y horizontal (columnas). De igual manera, un arreglo de tres dimensiones podría corresponder a una imagen raster con dos dimensiones espaciales (vertical y horizontal) y una dimensión espectral (bandas). Adicionalmente, un arreglo con cuatro dimensiones podría incluir una dimensión temporal.
Al igual que en sf
cada raster va a estar asociado a un sistema de coordenadas de referencia (CRS). Por lo cual, dicho CRS indicará la proyección de los datos y el datum.
Estructura de datos stars
Los datos stars van a estar organizados en un formato de array
, es decir, de una tabla o cuadro de datos de n dimensiones. Para ver un ejemplos carguemos un archivo raster.
library(stars)
## Loading required package: abind
## Loading required package: sf
## Linking to GEOS 3.9.1, GDAL 3.2.1, PROJ 7.2.1; sf_use_s2() is TRUE
tif = system.file("tif/L7_ETMs.tif", package = "stars")
x = read_stars(tif)
x
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## L7_ETMs.tif 1 54 69 68.91242 86 255
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 349 288776 28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [x]
## y 1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [y]
## band 1 6 NA NA NA NA NULL
Analicemos qué dice esta información. Primero nos dice que se trata de un objeto stars de tres dimensiones y un atributo. Además, nos da algunas estadísticas de la información que contiene. A continuación, podemos ver las tres dimensiones: x, y y band, es decir, dos dimensiones espaciales y una espectral. Adicionalmente, se puede consultar el número de celdas en cada dimensión (from y to), la coordenada inicial en cada dimensión (offset), el tamaño de la celda en cada dimensión (delta), el sistema de referencia en el que se encuentra la información (refsys), si corresponde a puntos (point) y los valores de secuencia en caso de que la dimensión no sea regular (e.g., geometrías).
La misma información se puede consultar de manera más sintética.
st_dimensions(x)
## from to offset delta refsys point values x/y
## x 1 349 288776 28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [x]
## y 1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [y]
## band 1 6 NA NA NA NA NULL
Lectura y escritura de datos
Para leer y escribir datos desde archivos externos se utilizan las funciones read_stars
y write_stars
. Por ejemplo, carguemos un archivo que viene en el paquete stars
:
filename <- system.file("tif/L7_ETMs.tif", package = "stars")
x <- read_stars(filename)
x
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## L7_ETMs.tif 1 54 69 68.91242 86 255
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 349 288776 28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [x]
## y 1 352 9120761 -28.5 SIRGAS 2000 / UTM zone 25S FALSE NULL [y]
## band 1 6 NA NA NA NA NULL
Para escribir un vector al disco:
write_stars(x,
"x_exp.tif")
Las funciones st_read
y st_write
contienen más argumentos para definir ## Visualización de datos
Por último, el visualizar los datos nos puede dar una muy buena idea de los productos intermedios en un flujo de trabajo o verificar que la información que importamos o exportamos es la correcta. Para ver el objecto stars con todos sus atributos:
plot(x)
También se puede hacer un RGB en color natural o falso color.
plot(x,
rgb = c(3,2,1))
plot(x,
rgb = c(4,3,2))
Descargar información de trabajo
Primero vamos a cargar información desde mi github.
## [1] "D:\\Drive\\Jonathan_trabaggio\\Doctorado\\R\\SIG\\Curso\\Data\\Sentinel2-2A_10B_2020-01-01_2020-12-30.tif"
## [2] "D:\\Drive\\Jonathan_trabaggio\\Doctorado\\R\\SIG\\Curso\\Data\\SRTM_area.tif"
## [3] "D:\\Drive\\Jonathan_trabaggio\\Doctorado\\R\\SIG\\Curso\\Data\\roi.zip"
Veamos qué descargamos.
im1 <- read_stars(paste0(getwd(), "/Data/", "Sentinel2-2A_10B_2020-01-01_2020-12-30.tif"))
im1
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2-2A_10B_2020-01-01_20... 6 913 1552 1501.178 2010.75 5041
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 103 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 81 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
## band 1 10 NA NA NA NA B2,...,B12
plot(im1)
Operaciones básicas
Elegir parte basado en los índices de los objetos stars
Para elegir parte de los rasters, se puede hacerlo eligiendo parte del arreglo. Esto se puede hacer utilizando la notación tradicional de objetos stars o usando la forma tidyverse-esque.
En la primera forma se utiliza la notación de arreglos [], en la que la primera dimensión corresponde a la dimensión de atributos, la segunda a la primera dimensión espacial (horizontal, x), la tercera a la segunda dimensión temporal (vertical, y) y la cuarta corresponde a la dimensión espectral (bandas).
im1[,1:10,1:20]
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2-2A_10B_2020-01-01_20... 73 691.25 1149 1315.034 1693.25 5041
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 10 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 20 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
## band 1 10 NA NA NA NA B2,...,B12
im1_sub1 <- im1[,1:10,1:20, 2]
im1_sub1
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2-2A_10B_2020-01-01_20... 189 485.75 556.5 555.88 635 889
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 10 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 20 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
## band 2 2 NA NA NA NA B3
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.1.1 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## x readr::parse_date() masks curl::parse_date()
im1_sub2 <- im1 |>
slice(x, 1:10) |>
slice(y, 1:20) |>
slice(band, 2)
im1_sub2
## stars object with 2 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2-2A_10B_2020-01-01_20... 189 485.75 556.5 555.88 635 889
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 10 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 20 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
Elegir parte basado en los valores de los objetos stars
Además podríamos estar interesados en filtrar valores de los rasters en función de los valores de cierta banda. Para ello, podemos hacer la función filter
.
library(cubelyr)
im1_sub3 <- im1 |>
filter(x < -101.2332, x > -101.235,
y > 19.6564, y < 19.6582,
band > 3 )
plot(im1_sub3)
Elegir parte basado en un vector
Para seleccionar parte de un raster basado en un vector se puede utilizar la notación tradicional de corchetes []
o la función st_crop
.
roi <- st_read(paste0(getwd(), "/Data/", "roi.shp"))
## Reading layer `roi' from data source
## `D:\Drive\Jonathan_trabaggio\Doctorado\R\SIG\Curso\Data\roi.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 1 feature and 1 field
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -101.2307 ymin: 19.64597 xmax: -101.2206 ymax: 19.65094
## Geodetic CRS: WGS 84
plot(roi)
im1_crop <- im1[roi]
plot(im1_crop)
im1_crop2 <- st_crop(im1,
roi)
plot(im1_crop2)
Extraer parte de los objetos stars
Para extraer los valores del objeto stars y convertirlos a arreglos se puede usar la función pull
. Usando esta función se extrae el atributo indicado dentro de pull
.
im_pull <- im1 |>
pull(1)
# Mostrar únicamente el encabezado y algunos datos de muestra
head(im_pull)
## , , 1
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 434 482 414 401 414 415 386 333 200 205 227 264 259 317
## [2,] 434 482 441 398 401 411 440 513 533 478 372 398 397 411
## [3,] 443 487 400 354 339 337 371 399 479 494 462 490 444 367
## [4,] 488 441 326 309 325 333 359 324 390 511 501 489 463 393
## [5,] 560 409 309 320 314 244 114 84 104 303 466 538 402 367
## [6,] 594 418 321 306 255 73 134 225 296 300 208 453 471 275
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 155 316 402 424 426 434 422 403 369 367 189 456
## [2,] 244 224 357 419 382 398 420 392 350 346 270 408
## [3,] 192 171 257 422 478 415 394 347 336 268 459 251
## [4,] 149 153 160 343 456 465 397 320 219 193 247 109
## [5,] 130 133 136 292 416 447 435 372 171 211 155 125
## [6,] 115 107 100 207 348 460 444 373 169 559 194 225
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 350 625 290 457 886 977 748 984 730 728 587 415
## [2,] 268 1015 814 1119 807 531 406 378 347 405 436 324
## [3,] 317 317 561 603 642 625 819 470 448 579 712 886
## [4,] 259 278 664 718 374 946 814 365 285 474 713 661
## [5,] 199 328 831 1035 447 995 588 414 330 734 1551 998
## [6,] 308 485 1242 799 493 636 294 890 1186 1449 902 803
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 527 548 722 632 975 955 1417 828 645 1251 639 815
## [2,] 631 1060 1049 717 1335 667 679 596 724 508 521 738
## [3,] 431 304 688 513 662 932 549 375 632 611 535 555
## [4,] 506 383 581 582 633 1319 342 611 626 748 1037 477
## [5,] 298 279 393 629 716 1144 907 898 860 786 923 870
## [6,] 590 1003 1012 796 1155 1320 750 1144 1341 450 595 1233
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 612 304 149 105 198 254 783 756 711 627 495 680
## [2,] 965 639 185 110 174 234 817 699 891 907 597 560
## [3,] 535 444 477 204 130 275 484 974 749 890 679 692
## [4,] 690 424 1140 392 102 174 210 596 733 927 937 770
## [5,] 1019 825 662 505 321 89 100 477 405 1350 1211 770
## [6,] 618 818 827 673 420 160 100 477 405 1350 1211 1016
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 271 334 467 1429 396 781 1410 847 718 570 775 564
## [2,] 507 636 564 637 1280 1241 937 985 1004 783 690 1146
## [3,] 909 832 610 965 1300 1042 818 985 1004 783 690 1146
## [4,] 1098 1088 1220 965 1300 1042 818 928 1225 809 882 1280
## [5,] 1098 1088 1220 1130 713 881 1396 647 468 549 1516 1060
## [6,] 1078 756 856 620 444 460 1285 798 792 784 771 613
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1169 1099 1250 1012 1258 1114 776
## [2,] 1169 1099 1250 1012 1119 1352 1038
## [3,] 936 1132 821 704 883 937 1143
## [4,] 885 766 896 1327 1115 1047 582
## [5,] 707 1021 1393 1542 964 1324 844
## [6,] 558 809 1572 1467 1384 922 872
##
## , , 2
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 662 695 612 616 600 651 617 623 441 440 454 485 501 591
## [2,] 662 695 640 587 599 611 634 754 866 779 655 636 656 708
## [3,] 685 707 603 507 489 507 552 614 666 721 665 697 668 692
## [4,] 729 661 505 458 463 493 540 488 574 719 689 680 708 722
## [5,] 803 619 470 475 471 369 206 202 250 477 682 742 636 749
## [6,] 889 619 469 473 404 189 291 449 508 509 442 670 774 666
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 354 616 622 618 598 606 601 575 524 509 388 728
## [2,] 576 532 631 622 542 570 591 545 511 529 520 686
## [3,] 509 497 567 638 657 579 556 519 531 465 695 471
## [4,] 482 475 435 590 675 656 583 505 381 389 441 279
## [5,] 494 489 495 580 625 635 617 539 347 448 299 368
## [6,] 491 478 451 561 631 633 641 540 371 804 439 458
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 546 765 525 739 1014 1196 1030 1196 997 994 832 638
## [2,] 451 1211 1060 1333 966 722 666 633 580 655 739 563
## [3,] 548 527 811 892 931 873 1113 699 738 845 957 1136
## [4,] 475 556 897 1014 573 1112 1086 651 518 678 919 902
## [5,] 460 586 1025 1267 611 1300 825 651 537 1022 1935 1227
## [6,] 646 769 1521 1064 811 927 591 1132 1436 1634 1180 1050
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 681 855 957 846 1254 1153 1607 1181 1036 1885 869 1012
## [2,] 872 1281 1247 841 1392 965 1011 895 1094 819 830 1100
## [3,] 608 456 929 759 964 1185 758 657 850 854 856 903
## [4,] 785 649 765 836 752 1514 586 819 825 943 1472 665
## [5,] 545 540 611 863 900 1365 1111 1150 1021 1189 1111 1070
## [6,] 783 1256 1188 923 1295 1526 1052 1385 1653 757 971 1402
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 959 538 309 253 432 465 975 1008 885 806 816 906
## [2,] 1212 1011 456 320 361 477 1037 898 1030 1163 869 737
## [3,] 914 779 779 418 308 526 662 1172 1008 1130 937 864
## [4,] 830 760 1406 588 325 439 449 874 956 1112 1034 1040
## [5,] 1331 1105 985 770 577 320 275 693 605 1551 1448 1040
## [6,] 937 1052 1121 1041 665 396 275 693 605 1551 1448 1204
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 451 540 728 1702 667 1057 1646 1067 985 826 1027 897
## [2,] 697 734 791 996 1432 1421 1058 1169 1172 960 949 1411
## [3,] 1119 1122 809 1194 1556 1278 1054 1169 1172 960 949 1411
## [4,] 1283 1263 1537 1194 1556 1278 1054 1108 1492 1007 1002 1552
## [5,] 1283 1263 1537 1283 904 1088 1728 850 613 731 1772 1327
## [6,] 1251 1082 1037 850 673 695 1369 959 967 915 881 744
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1321 1295 1544 1302 1529 1336 996
## [2,] 1321 1295 1544 1302 1327 1576 1240
## [3,] 1129 1317 1073 879 1000 1232 1397
## [4,] 1023 1010 1173 1584 1252 1209 798
## [5,] 914 1130 1583 1844 1136 1448 1140
## [6,] 821 942 1729 1615 1701 1130 1033
##
## , , 3
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 939 986 839 840 824 881 815 791 414 445 507 580 556 644
## [2,] 939 986 886 780 817 857 892 1007 1127 969 784 759 824 799
## [3,] 960 978 815 696 674 693 765 842 941 993 898 944 898 782
## [4,] 1028 929 683 636 652 671 741 685 792 987 970 954 981 801
## [5,] 1091 847 653 671 656 505 295 227 272 559 905 1021 843 737
## [6,] 1203 866 662 671 563 226 277 420 589 595 453 922 976 569
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 367 625 815 858 834 805 787 778 728 705 443 767
## [2,] 553 524 727 820 764 782 818 764 701 708 554 730
## [3,] 454 397 610 865 898 781 773 732 737 601 738 483
## [4,] 353 330 360 726 895 884 805 676 533 414 423 272
## [5,] 282 263 286 624 833 857 854 758 408 404 311 320
## [6,] 230 232 226 408 778 864 878 744 416 869 422 457
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 609 830 522 732 1120 1357 1204 1245 1161 1185 1240 841
## [2,] 528 1335 1189 1544 1136 817 773 636 645 895 916 629
## [3,] 586 567 868 1100 1091 990 1242 726 788 1283 1275 1272
## [4,] 490 570 1190 1682 688 1233 1172 681 515 751 1027 1187
## [5,] 408 543 1135 1539 721 1415 914 717 593 1200 2212 1484
## [6,] 643 790 1792 1255 916 1064 593 1194 1500 1775 1272 1082
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 876 1056 1120 993 1360 1319 1735 1296 1241 2006 1024 1126
## [2,] 993 1421 1470 1018 1670 1098 1176 988 1367 1045 1038 1325
## [3,] 642 500 1034 885 1149 1408 877 790 990 1044 1079 1037
## [4,] 1145 756 896 899 885 1620 611 1069 985 1139 1517 997
## [5,] 573 521 609 912 1087 1671 1265 1341 1180 1239 1373 1230
## [6,] 800 1234 1248 1130 1539 1803 1195 1439 1708 977 1147 1449
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 1012 564 291 224 385 429 1113 1044 1026 1023 881 981
## [2,] 1635 1317 471 236 334 469 1140 1078 1100 1474 1019 857
## [3,] 952 966 907 357 272 516 719 1287 1128 1213 991 1103
## [4,] 924 835 1564 538 220 345 412 994 1045 1182 1213 1209
## [5,] 1444 1176 1157 883 553 217 235 688 719 1683 1504 1209
## [6,] 1078 1210 1274 1200 773 345 235 688 719 1683 1504 1300
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 455 525 749 1680 617 1122 1724 1225 1098 935 1173 1113
## [2,] 726 779 853 958 1472 1538 1244 1396 1339 1076 1079 1728
## [3,] 1242 1224 954 1333 1876 1471 1211 1396 1339 1076 1079 1728
## [4,] 1396 1567 1734 1333 1876 1471 1211 1232 1606 1202 1167 1777
## [5,] 1396 1567 1734 1416 1257 1240 1864 883 657 994 1970 1409
## [6,] 1354 1159 1164 1059 894 710 1565 1160 1098 983 945 831
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1560 1543 1869 1469 1919 1555 1183
## [2,] 1560 1543 1869 1469 1555 1816 1433
## [3,] 1374 1456 1202 985 1234 1628 1580
## [4,] 1195 1118 1310 1637 1316 1255 870
## [5,] 1039 1245 1744 1939 1295 1668 1282
## [6,] 874 1022 2013 1786 1940 1452 1289
##
## , , 4
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1078 1072 972 991 1036 1066 1187 1172 970 906 864 815 1065 984
## [2,] 1078 1072 1017 926 940 982 1002 1219 1378 1251 1072 1032 1153 1201
## [3,] 1096 1111 961 809 768 777 859 959 1105 1220 1109 1049 1115 1211
## [4,] 1168 1063 815 733 744 788 827 816 876 1075 1061 1058 1116 1265
## [5,] 1271 1011 752 759 770 566 360 409 508 913 1153 1147 1177 1222
## [6,] 1345 1149 759 783 610 399 597 850 984 867 856 1062 1404 1213
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 878 1081 1065 962 936 926 922 856 852 820 823 946
## [2,] 1080 1010 1130 980 883 879 920 882 846 786 1001 1044
## [3,] 1023 986 1057 1068 1006 926 891 847 803 860 1032 809
## [4,] 1036 924 903 1013 1090 986 899 784 658 732 669 551
## [5,] 1012 906 916 1030 1082 970 970 869 650 756 668 685
## [6,] 957 939 897 979 1104 1019 991 862 872 972 841 897
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 915 1058 1065 1217 1259 1300 1440 1491 1433 1402 1426 1152
## [2,] 828 1222 1472 1894 1248 1188 1202 1008 936 1345 1358 945
## [3,] 906 925 1156 1431 1159 1343 1558 1148 1110 1402 1446 1331
## [4,] 865 876 1507 1816 1132 1399 1410 1025 918 1027 1348 1651
## [5,] 920 877 1381 1591 1047 1581 1120 1009 1036 1536 2175 1631
## [6,] 1049 1166 1968 1552 1234 1511 1127 1468 1685 1813 1604 1104
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1152 1271 1342 1303 1393 1476 1599 1530 1598 2419 1517 1444
## [2,] 1137 1479 1437 1310 1760 1493 1534 1576 1671 1412 1397 1776
## [3,] 1102 949 1173 1106 1460 1397 1234 1114 1246 1394 1486 1492
## [4,] 1455 1055 1103 1050 1259 1439 1068 1205 1262 1323 1694 1368
## [5,] 994 932 1059 1036 1474 1834 1361 1465 1416 1593 1789 1551
## [6,] 1114 1353 1431 1287 1635 1705 1379 1710 1736 1419 1362 1583
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 1382 1005 628 618 711 829 1245 1359 1236 1280 1342 1248
## [2,] 1997 1713 965 636 671 856 1266 1281 1225 1513 1423 994
## [3,] 1379 1365 1353 749 641 846 1048 1339 1430 1199 1243 1381
## [4,] 1167 1271 1540 894 600 775 842 1190 1363 1310 1470 1378
## [5,] 1636 1532 1492 1257 924 643 585 891 1016 1775 1637 1378
## [6,] 1455 1319 1593 1579 1111 733 585 891 1016 1775 1637 1303
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 826 840 1089 1202 1057 1402 1680 1461 1422 1179 1425 1638
## [2,] 960 1158 1129 1368 1813 1809 1366 1402 1409 1307 1331 1762
## [3,] 1417 1342 1145 1510 1882 1604 1530 1402 1409 1307 1331 1762
## [4,] 1489 1673 1701 1510 1882 1604 1530 1368 1437 1413 1609 1731
## [5,] 1489 1673 1701 1474 1472 1514 1852 1304 805 1354 1913 1534
## [6,] 1446 1457 1437 1396 1131 1169 1565 1226 1181 1248 1116 1077
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1559 1759 1940 1692 1996 1627 1583
## [2,] 1559 1759 1940 1692 1660 1795 1639
## [3,] 1665 1445 1305 1273 1377 1759 1708
## [4,] 1301 1330 1417 1644 1461 1435 1161
## [5,] 1209 1386 1822 2042 1571 1782 1578
## [6,] 1114 1063 2397 2174 1617 1621 1438
##
## , , 5
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1200 1128 1139 1219 1298 1410 1644 1632 1762 1640 1350 1337 1648 1754
## [2,] 1200 1128 1067 1021 1025 1038 1151 1524 1966 1979 1676 1638 1694 2047
## [3,] 1179 1156 1077 975 886 883 928 1074 1225 1353 1207 1161 1203 1954
## [4,] 1237 1165 910 755 758 906 967 863 937 1141 1160 1182 1397 2180
## [5,] 1313 1106 802 827 814 547 502 704 1175 1507 1528 1286 1575 2381
## [6,] 1624 1225 871 834 617 676 1375 1866 1766 1522 1538 1523 1959 2747
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 1557 2128 1529 1209 1099 1021 951 968 1004 879 1350 1877
## [2,] 2076 1990 1679 1201 957 1001 1035 964 933 1049 1684 1594
## [3,] 2337 2208 1901 1501 1145 1003 994 902 958 1141 1752 1326
## [4,] 2777 2672 2099 1621 1295 1097 1021 876 759 1455 1315 1380
## [5,] 2996 3032 2832 2120 1414 1156 1116 869 1138 1458 1207 1850
## [6,] 3236 3008 3117 2547 1676 1212 1124 1000 1478 1959 1540 1930
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1329 1547 1798 2064 1537 1834 1965 1912 2004 1986 1857 1515
## [2,] 1355 1660 1991 2051 1457 1586 1967 1879 1566 1855 1930 1472
## [3,] 1458 1342 1868 2146 1433 1555 2115 1976 1692 1736 1850 1757
## [4,] 1778 1770 2042 2094 1233 1822 1913 1844 1733 1731 1842 1938
## [5,] 1983 2024 1909 1768 1421 2012 1754 1626 1603 2099 2435 2011
## [6,] 2058 1856 2177 1445 1991 1967 1555 1910 1965 1904 1679 1465
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1462 1630 1485 1627 1912 1767 2125 2427 2285 2109 1716 2190
## [2,] 1486 1650 1721 1634 1959 1857 1946 2082 2135 2136 2199 2470
## [3,] 1690 1542 1368 1705 1893 1805 1850 1923 1693 1850 2163 2432
## [4,] 1928 1698 1434 1519 1644 2051 1533 1601 1569 1955 2314 1829
## [5,] 1718 1741 1547 1610 1638 1888 1591 1679 1968 2188 1980 1913
## [6,] 1562 1847 1877 1686 1854 1804 1520 1944 2213 2000 2193 2228
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 2382 1954 1558 1428 1670 1483 1504 1853 1591 1747 2130 1765
## [2,] 2567 2400 1671 1514 1624 1708 1754 1746 1498 1629 1896 1639
## [3,] 2348 2013 1803 1597 1469 1470 1536 1653 1748 1517 1812 1592
## [4,] 1810 2024 1959 1585 1874 1776 1464 1664 1708 1615 1507 1403
## [5,] 1982 2037 2288 1939 1946 1954 1510 1601 1493 1891 1844 1403
## [6,] 1932 1907 2137 2202 1881 1470 1510 1601 1493 1891 1844 1577
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1484 1494 1841 2080 1903 1949 1799 1545 1717 1698 1758 2023
## [2,] 1602 1593 1639 1717 2291 2085 1667 1496 1505 1652 1732 2013
## [3,] 1429 1390 1426 1691 2100 1855 1655 1496 1505 1652 1732 2013
## [4,] 1618 1814 1851 1691 2100 1855 1655 1546 1657 1779 1748 1888
## [5,] 1618 1814 1851 1720 1623 1717 1959 1261 1362 1445 1896 1837
## [6,] 1759 1991 1862 1754 1892 1854 1958 1362 1493 1507 1589 1496
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1791 1780 1967 1714 2059 1715 1565
## [2,] 1791 1780 1967 1714 1740 1913 1757
## [3,] 1672 1807 1620 1514 1510 1841 1891
## [4,] 1419 1402 1459 1802 1704 1527 1646
## [5,] 1411 1494 2038 2236 1472 1757 1779
## [6,] 1466 1433 2122 2400 1977 1723 1572
##
## , , 6
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1246 1271 1268 1252 1259 1473 1689 2021 2088 1716 1603 1578 1866 1810
## [2,] 1246 1271 1156 1135 1156 1225 1301 1650 2214 2454 1938 1629 1776 2510
## [3,] 1244 1235 1187 1030 944 978 1039 1153 1344 1303 1184 1299 1457 2308
## [4,] 1314 1255 998 859 884 918 873 747 1009 1297 1332 1333 1479 2470
## [5,] 1423 1241 887 901 892 707 712 1070 1440 1638 1641 1412 1781 2882
## [6,] 1863 1350 918 883 700 700 1261 1945 1915 1928 1918 1800 2230 3187
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 1849 2326 1596 1186 1118 1198 1183 1094 985 886 1602 2139
## [2,] 2513 2332 1912 1361 1074 1070 1115 1085 1076 1230 1906 1696
## [3,] 2616 2477 2191 1648 1259 1132 1090 1010 1003 1350 2138 1628
## [4,] 3260 3198 2465 1807 1460 1258 1149 972 951 1509 1487 1491
## [5,] 3622 3610 3435 2520 1605 1267 1192 1019 1316 1717 1537 2025
## [6,] 3726 3651 3742 3216 2019 1421 1251 1125 1738 1966 1727 2234
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1511 1755 2200 2470 1555 1677 2148 2163 2061 2064 1985 1577
## [2,] 1314 1493 2081 2229 1594 1898 2348 2029 1793 2051 2071 1670
## [3,] 1902 1697 2160 2181 1519 1735 2427 2284 1865 1762 1962 1766
## [4,] 1982 1933 2153 2228 1323 1829 2008 2251 1918 1857 1944 2165
## [5,] 2367 2246 2015 1732 1535 2185 1723 1673 1859 2271 2435 2006
## [6,] 2282 2113 2529 1546 2293 2156 1850 2072 2081 2026 1863 1567
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1680 1821 1698 1757 1837 1798 2103 2549 2459 2456 2008 2468
## [2,] 1785 1704 1714 1712 2101 1942 2213 2438 2406 2421 2514 2760
## [3,] 1641 1601 1542 1860 2115 1928 2163 2077 1771 2085 2452 2685
## [4,] 2326 2009 1676 1669 1710 1909 1681 1809 1758 2125 2498 2038
## [5,] 1778 1892 1823 1670 1866 2107 1620 1760 2172 2375 2149 2013
## [6,] 1795 1866 1881 1803 1866 1742 1635 2080 2371 2287 2324 2391
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 2667 2159 1796 1857 1926 1716 1678 2097 1639 1949 2383 1980
## [2,] 2757 2579 1936 1843 1842 1841 1832 1826 1487 1778 2028 1818
## [3,] 2673 2321 2038 1765 1694 1765 1747 1830 1838 1593 1901 1717
## [4,] 2032 2332 2072 1836 2172 1978 1713 1849 1816 1669 1576 1407
## [5,] 2112 2324 2539 2286 2254 2290 1777 1797 1634 2097 1866 1407
## [6,] 2103 1920 2235 2403 2127 1853 1777 1797 1634 2097 1866 1614
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1673 1724 2010 2182 2190 2086 1861 1566 1898 1832 1918 2167
## [2,] 1786 1784 1879 1911 2436 2204 1747 1454 1632 1794 1878 2032
## [3,] 1563 1437 1525 1782 2212 1886 1744 1454 1632 1794 1878 2032
## [4,] 1636 1829 1840 1782 2212 1886 1744 1590 1718 1803 1827 1949
## [5,] 1636 1829 1840 1767 1674 1811 1994 1409 1470 1512 1957 1918
## [6,] 1894 2131 1937 1895 2030 2091 1997 1426 1709 1636 1725 1634
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1768 1820 1934 1744 2073 1771 1707
## [2,] 1768 1820 1934 1744 1716 1966 1873
## [3,] 1749 1821 1744 1660 1576 1896 1851
## [4,] 1480 1518 1515 1967 1706 1693 1798
## [5,] 1452 1554 2137 2192 1496 1802 1790
## [6,] 1653 1398 2207 2378 2023 1814 1656
##
## , , 7
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1318 1372 1324 1338 1383 1619 1868 2271 2197 1884 1620 1586 1925 2182
## [2,] 1318 1372 1248 1233 1357 1336 1343 1686 2531 2585 2089 1937 2015 2760
## [3,] 1327 1354 1267 1120 1005 1046 1134 1208 1398 1474 1348 1417 1455 2533
## [4,] 1386 1399 1104 938 976 989 1095 1012 1218 1463 1427 1424 1619 2743
## [5,] 1504 1322 973 1010 960 807 591 912 1249 1751 1739 1581 1872 3018
## [6,] 2108 1390 1028 986 858 668 1523 2383 2210 1974 2039 1880 2463 3438
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 1877 2681 1633 1361 1305 1241 1273 1231 1191 1184 1522 2377
## [2,] 2719 2481 2175 1432 1175 1184 1238 1179 1156 1303 2172 1665
## [3,] 2896 2767 2424 1811 1404 1219 1186 1135 1177 1373 2353 1627
## [4,] 3585 3357 2545 2059 1570 1396 1225 1061 950 1710 1621 1626
## [5,] 3939 3867 3723 2707 1707 1370 1350 1208 1208 2090 1312 2346
## [6,] 4087 3874 3986 3524 2174 1500 1415 1348 1567 2469 1816 2279
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1722 1797 2202 2239 1625 1780 2396 2099 2344 2174 1848 1830
## [2,] 1394 1892 1849 2119 1670 1984 2374 2222 1653 2178 2127 1737
## [3,] 2032 1381 2425 2169 1562 1873 2507 2394 2218 1848 2035 1874
## [4,] 2115 2123 2305 2324 1226 1993 2017 2457 1888 1952 2005 2350
## [5,] 2491 2420 2121 1790 1553 2287 1843 1886 1883 2311 2574 2068
## [6,] 2684 2239 2320 1481 2620 1956 1845 2195 2018 2092 1816 1630
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1533 1824 1693 1848 1899 1742 2413 2753 2602 2981 1949 2619
## [2,] 1928 1861 1846 1736 2265 1940 2269 2425 2705 2716 2677 2977
## [3,] 1727 1735 1588 1955 2163 1986 2291 2329 1895 2345 2800 2914
## [4,] 2383 2173 1646 1861 1613 2012 1922 1935 1800 2097 2588 2047
## [5,] 1881 2161 1770 1796 1900 2081 1680 1802 2199 2640 2311 2141
## [6,] 1799 1941 2070 1960 1962 1975 1612 2234 2312 2300 2366 2544
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 2912 2447 1906 1811 2109 1852 1725 2124 1716 2052 2439 2086
## [2,] 2773 2819 1905 2007 1927 2062 1967 2083 1575 1883 2370 1908
## [3,] 2931 2385 2157 2057 1724 2038 1586 1912 1906 1542 1821 1644
## [4,] 2016 2653 2424 1837 2543 2179 1829 1932 1859 1625 1687 1584
## [5,] 2144 2337 2860 2168 2335 2223 1657 1984 1669 2251 2015 1584
## [6,] 2292 1955 2405 2697 2191 2222 1657 1984 1669 2251 2015 1617
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1795 1895 2036 2427 2226 2203 2009 1459 2107 1832 2068 2095
## [2,] 1908 1801 1875 1840 2575 2264 1720 1454 1803 1848 1940 2218
## [3,] 1629 1686 1621 1881 2240 1870 1685 1454 1803 1848 1940 2218
## [4,] 1655 1770 1962 1881 2240 1870 1685 1472 1792 1778 1754 2105
## [5,] 1655 1770 1962 1792 1788 1796 2444 1106 1696 1553 2261 1937
## [6,] 2043 2077 1919 1936 2194 2040 2060 1429 1828 1675 1594 1778
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1719 1926 2236 1721 2040 1912 1753
## [2,] 1719 1926 2236 1721 1778 1964 1715
## [3,] 1568 1858 1754 1712 1537 1862 1890
## [4,] 1493 1620 1713 2018 1583 1784 1802
## [5,] 1422 1692 1954 2276 1539 1938 1585
## [6,] 1583 1521 2389 2206 2269 1672 1637
##
## , , 8
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1412 1394 1445 1371 1454 1671 1929 2432 2313 1977 1834 1773 2173 2053
## [2,] 1412 1394 1294 1263 1382 1416 1473 1878 2560 2673 2160 1811 2094 2717
## [3,] 1372 1435 1330 1132 1076 1088 1196 1285 1531 1485 1428 1431 1725 2587
## [4,] 1380 1393 1172 1022 1052 1064 993 957 1185 1500 1455 1454 1691 2865
## [5,] 1588 1406 1041 1029 1031 808 756 1198 1447 1799 1861 1607 2056 3175
## [6,] 2062 1584 1034 1059 839 727 1419 2113 2044 2031 2054 1991 2653 3539
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 2173 2465 1946 1403 1307 1403 1407 1279 1145 1155 1779 2189
## [2,] 2870 2581 2235 1543 1270 1246 1268 1283 1285 1316 2134 1908
## [3,] 2947 2770 2475 1856 1500 1310 1225 1153 1158 1611 2249 1724
## [4,] 3585 3511 2702 2131 1731 1451 1351 1119 1079 1680 1703 1672
## [5,] 3940 4064 3669 2818 1843 1493 1433 1248 1419 2061 1688 2169
## [6,] 4042 4030 3999 3535 2313 1629 1429 1387 1898 2101 2118 2352
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1746 1752 2485 2700 1604 1841 2367 2204 2198 2242 1964 1722
## [2,] 1366 1642 2174 2475 1711 2114 2605 2280 1961 2263 2122 1891
## [3,] 2057 1842 2349 2311 1626 1899 2563 2468 1898 1886 2040 1827
## [4,] 2106 1976 2351 2207 1484 1797 2201 2406 2085 2083 2084 2380
## [5,] 2740 2355 2149 1681 1683 2279 1860 1968 1978 2392 2564 2084
## [6,] 2477 2429 2368 1963 2235 2166 1964 2153 2092 2094 1939 1630
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1769 1825 1868 1863 1897 1956 2346 2625 2677 2665 2085 2741
## [2,] 1918 1813 1839 1874 2228 2031 2388 2593 2850 2725 2817 3007
## [3,] 1834 1772 1680 2028 2229 1964 2407 2426 2047 2384 2821 2931
## [4,] 2506 2224 1858 1856 1779 1823 1963 1960 1900 2286 2628 2162
## [5,] 1957 2142 2044 1810 1999 2038 1774 1861 2187 2505 2284 2189
## [6,] 1801 1956 2050 1895 1948 1935 1770 2205 2367 2481 2386 2605
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 2926 2511 2102 1960 2096 1942 1772 2162 1758 2006 2476 2195
## [2,] 2950 2677 2325 2102 1964 2131 1977 2079 1559 1973 2229 2011
## [3,] 2984 2604 2235 2055 1812 1996 1744 1980 1857 1740 1984 1798
## [4,] 2116 2613 2279 1974 2260 2268 1807 1993 1916 1713 1691 1515
## [5,] 2146 2526 2706 2472 2441 2412 1955 1925 1798 2126 1975 1515
## [6,] 2291 2102 2500 2582 2298 2064 1955 1925 1798 2126 1975 1714
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1831 1911 2060 2307 2308 2268 1876 1717 2042 1854 2076 2137
## [2,] 1860 1934 1887 1902 2428 2438 1733 1562 1807 1868 2019 2064
## [3,] 1630 1571 1666 1891 2216 1942 1798 1562 1807 1868 2019 2064
## [4,] 1749 1849 1920 1891 2216 1942 1798 1539 1722 1788 1879 2041
## [5,] 1749 1849 1920 1824 1707 1929 2184 1502 1370 1688 2069 1960
## [6,] 2026 2112 1967 2005 2113 2306 2022 1699 1742 1769 1813 1854
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 1694 1868 2024 1818 2018 1864 1946
## [2,] 1694 1868 2024 1818 1790 1931 1953
## [3,] 1837 1783 1862 1739 1682 1746 1894
## [4,] 1620 1607 1680 1926 1647 1846 1854
## [5,] 1548 1698 2210 2162 1637 1869 1679
## [6,] 1787 1533 2376 2222 2003 1912 1755
##
## , , 9
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1909 1893 1870 1809 1834 1967 1998 2006 1730 1550 1696 1754 1978 1788
## [2,] 1909 1893 1742 1742 1818 1865 1990 2189 2252 2194 1940 1885 2054 2223
## [3,] 1856 1882 1761 1668 1603 1605 1675 1833 2036 2094 2033 2083 2098 2244
## [4,] 1908 1849 1679 1559 1533 1538 1469 1404 1612 2009 2050 2091 2134 2229
## [5,] 2054 1851 1587 1568 1497 1185 928 913 1108 1532 1976 2131 2321 2226
## [6,] 2588 2151 1665 1508 1219 900 1004 1328 1568 1577 1647 2057 2504 2082
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 1584 2019 2279 2168 2086 2095 2080 2036 1950 1803 1687 1695
## [2,] 2037 2000 2217 2160 1997 1959 1956 1895 1844 1777 1760 1584
## [3,] 1911 1791 2130 2346 2249 2050 1929 1831 1780 1747 1726 1415
## [4,] 1875 1692 1831 2186 2433 2312 2056 1735 1493 1414 1303 1273
## [5,] 1777 1642 1701 2111 2347 2329 2189 1908 1516 1371 1220 1353
## [6,] 1596 1594 1631 1942 2329 2379 2279 2151 1900 1720 1534 1655
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1581 1630 1687 2141 2019 1978 2153 2314 2345 2077 1961 1870
## [2,] 1513 2000 2112 2465 1958 1924 2103 2029 1992 2082 1964 1726
## [3,] 1686 1609 2043 2398 1857 1863 2132 1926 1939 2156 2089 1906
## [4,] 1679 1734 2225 2376 1765 1947 2030 1862 1637 1916 2276 2344
## [5,] 1708 1807 2121 2133 1764 2301 1733 1573 1747 2408 2886 2476
## [6,] 1911 1980 2384 1798 1876 1955 1642 1790 2202 2453 2443 2018
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1976 2117 2086 2009 2063 1994 2353 2468 2635 2651 2375 2556
## [2,] 1835 2139 2261 2004 2174 1985 2145 2540 3014 2929 2730 2865
## [3,] 1664 1697 2153 2061 2120 2165 2145 2427 2581 2638 2795 2660
## [4,] 2209 1961 2043 1854 1840 2049 1936 2202 2110 2286 2362 2143
## [5,] 1935 1682 1786 1807 1918 2176 2159 2269 2195 2266 2239 2193
## [6,] 1775 1966 2067 2012 2381 2448 2216 2347 2430 2430 2495 2429
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 2587 2065 1332 1106 1370 1454 1830 2025 1959 2113 2266 2046
## [2,] 2983 2730 1735 1174 1298 1531 2064 2154 1958 2042 2153 1914
## [3,] 2498 2520 2133 1381 1239 1494 1808 2077 2132 2050 2175 2010
## [4,] 2135 2292 2308 1610 1270 1386 1446 1778 1989 1998 1952 1990
## [5,] 2239 2307 2330 2017 1618 1232 1135 1481 1704 2258 2182 1990
## [6,] 2309 2227 2296 2356 1934 1372 1135 1481 1704 2258 2182 2049
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1600 1594 1784 1854 1849 2143 2227 2079 2055 2006 2024 2189
## [2,] 1676 1703 1668 1775 2124 2265 2141 2043 2022 2003 2116 2352
## [3,] 1947 1918 1890 2031 2403 2241 2077 2043 2022 2003 2116 2352
## [4,] 2202 2284 2188 2031 2403 2241 2077 1887 1886 1966 2103 2250
## [5,] 2202 2284 2188 2085 2112 2250 2214 1558 1410 1807 2126 2086
## [6,] 2145 2119 2019 2012 2006 2052 2184 1826 1878 1935 1939 1875
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 2192 2409 2448 2288 2507 2349 2311
## [2,] 2192 2409 2448 2288 2330 2589 2409
## [3,] 2303 2215 2041 1864 2130 2585 2343
## [4,] 1970 1995 1911 2019 2000 2085 2116
## [5,] 1952 2167 2746 2542 2156 2304 2167
## [6,] 1868 1990 2826 2773 2373 2208 2178
##
## , , 10
##
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1480 1488 1448 1391 1399 1439 1500 1418 1118 1129 1194 1196 1329 1207
## [2,] 1480 1488 1411 1362 1404 1457 1524 1705 1699 1508 1438 1516 1524 1417
## [3,] 1469 1495 1384 1305 1276 1294 1363 1502 1696 1853 1784 1709 1639 1443
## [4,] 1483 1444 1331 1270 1258 1278 1250 1186 1353 1675 1802 1771 1624 1419
## [5,] 1602 1485 1308 1293 1249 1011 698 600 720 1149 1613 1787 1682 1344
## [6,] 1925 1700 1348 1263 1025 662 669 857 1100 1082 1161 1473 1732 1237
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 967 1219 1648 1758 1693 1707 1708 1682 1574 1444 1168 1107
## [2,] 1176 1180 1553 1760 1696 1647 1687 1609 1517 1366 1247 1223
## [3,] 1082 1017 1325 1785 1925 1795 1625 1540 1442 1296 1233 989
## [4,] 1006 831 1022 1517 1973 2025 1771 1460 1152 968 842 737
## [5,] 906 780 888 1302 1806 1975 1869 1597 1061 903 796 796
## [6,] 783 735 765 1068 1622 1921 1914 1711 1286 1166 1038 1002
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1197 1371 1348 1813 1784 1554 1666 1832 1869 1615 1513 1524
## [2,] 1164 1694 1944 2578 1904 1628 1507 1426 1576 1604 1460 1288
## [3,] 1116 1266 1580 1960 1555 1542 1636 1344 1440 1709 1716 1720
## [4,] 1070 1179 1772 2129 1641 1746 1638 1317 1138 1466 1891 1954
## [5,] 1035 1191 1759 2042 1479 1958 1379 1139 1276 2058 2795 2263
## [6,] 1151 1411 2318 2014 1456 1641 1171 1317 1878 2246 2229 1803
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1676 1897 1839 1746 1938 1834 1997 1900 1911 2084 1844 1859
## [2,] 1403 1894 2222 1769 1952 1768 1752 1898 2240 2094 1965 2159
## [3,] 1473 1427 1895 1624 1782 1838 1541 1656 1951 1920 1826 1863
## [4,] 1631 1315 1726 1651 1612 1829 1597 1779 1719 1817 1846 1722
## [5,] 1514 1261 1442 1531 1644 1984 2042 1953 1814 1855 1826 1836
## [6,] 1552 1746 1849 1825 2226 2318 2029 2183 2255 1993 1913 1926
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 1801 1435 821 613 811 1012 1657 1674 1638 1808 1789 1556
## [2,] 2256 1933 1138 682 757 1033 1753 1802 1710 1783 1756 1467
## [3,] 1830 1766 1574 936 724 971 1456 1813 1934 1876 1982 1869
## [4,] 1696 1680 1837 1220 727 833 949 1362 1823 1771 1810 1848
## [5,] 2060 1874 1744 1530 1115 746 692 1057 1369 1878 1919 1848
## [6,] 1903 1872 1928 1790 1474 860 692 1057 1369 1878 1919 1892
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1109 1173 1383 1471 1400 1760 2154 2059 1864 1707 1748 1814
## [2,] 1322 1417 1332 1466 1815 2213 2112 2035 1936 1818 1871 2119
## [3,] 1822 1868 1696 1806 2438 2347 2042 2035 1936 1818 1871 2119
## [4,] 2092 2214 2123 1806 2438 2347 2042 1855 1795 1812 1876 2060
## [5,] 2092 2214 2123 1972 1865 1921 1924 1386 1206 1498 1880 1915
## [6,] 2027 1868 1807 1722 1528 1570 1869 1689 1625 1704 1720 1563
## [,75] [,76] [,77] [,78] [,79] [,80] [,81]
## [1,] 2026 2274 2359 2254 2495 2443 2402
## [2,] 2026 2274 2359 2254 2278 2625 2568
## [3,] 2199 2084 1830 1685 1920 2164 2106
## [4,] 1878 1942 1804 1891 1908 2030 1852
## [5,] 1824 2048 2751 2488 2102 2182 2015
## [6,] 1647 1812 2697 2733 2209 2019 2068
Agregar un nuevo atributo
Para agregar un nuevo atributo en función de los que ya existen.
names(im1) <- "Sentinel2"
im2 <- im1 |>
mutate(band2 = 2 * Sentinel2)
im2
## stars object with 3 dimensions and 2 attributes
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2 6 913 1552 1501.178 2010.75 5041
## band2 12 1826 3104 3002.356 4021.50 10082
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 103 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 81 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
## band 1 10 NA NA NA NA B2,...,B12
Ahora ya tenemos dos atributos.
Para seleccionar ciertos atributos
Para seleccionar algunos atributos se usa select
.
im2 |>
select(band2)
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## band2 12 1826 3104 3002.356 4021.5 10082
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 103 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 81 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
## band 1 10 NA NA NA NA B2,...,B12
Cálculo de índices
En algunos casos estaremos más interesados en calcular índices que resalten algunas características de la superficie terrestre. Por ejemplo, algún índice de vegetación. Esto se puede realizar al seleccionar las bandas de interés y aplicar la fórmula.
NIR <- im1[,,,8]
R <- im1 [,,,4]
# Tidyverse-esque
# Si no se agrega drop = F, se elimina la tercera dimensión y luego ya no permite concatenar esta banda con el resto de la imagen.
NIR <- im1 |>
slice(band, 8, drop = F)
R <- im1 |>
slice(band, 4, drop = F)
NDVI <- (NIR - R) / (NIR + R)
plot(NDVI)
Agregar bandas a un raster
Para agregar una banda a un raster se utiliza la función c
.
im1_cNDVI <- c(im1,
NDVI,
along = 3)
Transformaciones de formato
Transformación de datos stars a sf
Para transformar un vector a raster se utiliza la función st_rasterize
. Para ello, hay que determinar la resolución a la que se quiere rasterizar esta información. Utilizamos los valores de resolución que tiene el objeto im1. Recordemos que estos valores están en las unidades del CRS de la capa. En este caso, el CRS está en coordenadas geográficas, por eso se utilizarán valores en grados.
roi_rast <- st_rasterize(roi["id"], dx = 0.000179663, dy = -0.000179663)
plot(roi_rast)
## Warning in plot.stars(roi_rast): breaks="quantile" leads to a single class;
## maybe try breaks="equal" instead?
Transformación de raster a vector
Para transformar de raster a un vector de puntos se puede utilizar la función st_as_sf
, utilizando el argumento de as_points
. Además, si se desean obtener los datos en formato largo en lugar de ancho se puede utilizar el argumento long
.
st_as_sf(im1,
as_points = TRUE,
merge = FALSE)
## Simple feature collection with 8343 features and 10 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: -101.2352 ymin: 19.64373 xmax: -101.2169 ymax: 19.6581
## Geodetic CRS: WGS 84
## First 10 features:
## B2 B3 B4 B5 B6 B7 B8 B8A B11 B12 geometry
## 1 434 662 939 1078 1200 1246 1318 1412 1909 1480 POINT (-101.2352 19.6581)
## 2 434 662 939 1078 1200 1246 1318 1412 1909 1480 POINT (-101.235 19.6581)
## 3 443 685 960 1096 1179 1244 1327 1372 1856 1469 POINT (-101.2348 19.6581)
## 4 488 729 1028 1168 1237 1314 1386 1380 1908 1483 POINT (-101.2347 19.6581)
## 5 560 803 1091 1271 1313 1423 1504 1588 2054 1602 POINT (-101.2345 19.6581)
## 6 594 889 1203 1345 1624 1863 2108 2062 2588 1925 POINT (-101.2343 19.6581)
## 7 461 693 980 1257 1480 1604 1709 1862 2636 1926 POINT (-101.2341 19.6581)
## 8 420 645 907 1067 1152 1321 1561 1701 2432 1814 POINT (-101.2339 19.6581)
## 9 436 635 920 1047 1187 1349 1544 1679 2429 1796 POINT (-101.2338 19.6581)
## 10 345 528 745 990 1185 1381 1333 1621 2329 1695 POINT (-101.2336 19.6581)
Utilizando la misma función se puede convertir de raster a vector de polígonos. En este caso, se indica como argumentos que no se desea obtener una capa de puntos y en merge
se puede indicar si se desea fusionar los polígonos con un mismo valor o no.
im1_poly <- st_as_sf(im1,
as_points = F,
merge = T)
plot(im1_poly)
Operaciones espaciales
Reproyección de rasters
Para reproyectar un raster se utiliza la función st_transform
. Al igual que en sf
se necesita indicar el CRS objetivo ya sea mediante el código EPSG o obteniendo dicha clave con st_crs
. Este tipo de reproyección no presenta pérdida de información debido a las diferencias entre proyecciones. Por lo tanto, los pixeles pueden no ser de dimensiones homogeneas en toda la imagen. Ve la siguiente función para hacer reproyecciones más clásicas.
im1_utm <- st_transform(im1,
32614)
im1_utm
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## Sentinel2 6 913 1552 1501.178 2010.75 5041
## dimension(s):
## from to offset delta refsys point
## x 1 103 NA NA WGS 84 / UTM zone 14N FALSE
## y 1 81 NA NA WGS 84 / UTM zone 14N FALSE
## band 1 10 NA NA NA NA
## values x/y
## x [103x81] 265619,...,267562 [x]
## y [103x81] 2173570,...,2175186 [y]
## band B2,...,B12
## curvilinear grid
Resampling
Para cambiar la resolución de un raster o reproyectar con pérdida de información se utiliza la función st_warp
. Esta función permite definir el tamaño de celda objetivo mediante el argumento cellsize
, así como el CRS objetivo. Esta función hace la reproyección donde todos los tamaños de celda son iguales y quizás es con la que cualquier usuario esté más familiarizado.
im1_utm_20m <- st_warp(im1,
crs = st_crs(im1),
cellsize = c(20, 20))
im1_utm_20m
## stars object with 3 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## Sentinel2 NA NA NA NaN NA NA 10
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 1 -101.235 20 WGS 84 NA NULL [x]
## y 1 1 19.6582 -20 WGS 84 NA NULL [y]
## band 1 10 NA NA NA NA B2,...,B12
Crear mosaicos a partir de varios rasters
Para crear un mosaico a partir de dos o más imágenes se utiliza la función st_mosaic
.
im_mosaic <- st_mosaic(im1_sub2, im1_sub3)
plot(im_mosaic)
Operaciones basadas en los valores de raster
Reclasificar
Para reclasificar un raster se puede realizar con la función cut
, indicando los intervalos para las clases.
reclass_NDVI <- cut(NDVI,
breaks = c(-1, 0, 0.2, 0.5, 1),
labels = F)
plot(reclass_NDVI)
Enmascarar
Para enmascarar algún raster utilizando otro. De igual manera se pueden emascarar los valores que no cumplan con algún criterio de interés.
im_mask <- reclass_NDVI
im_mask[im_mask != 2] <- NA
reclass_NDVI2 <- reclass_NDVI
reclass_NDVI2[is.na(im_mask)] <- NA
plot(reclass_NDVI2)
## Warning in plot.stars(reclass_NDVI2): breaks="quantile" leads to a single class;
## maybe try breaks="equal" instead?
Cálculo de métricas por banda
Para calcular métrias por banda se puede utilizar la función pull
para obtener el atributo del que se desea obtener la información. En este caso la imagen solo cuenta con un atributo, así que seleccionamos esa entrada. Después, podemos utilizar la función apply
para calcular la media sobre la dimensión 3 del arreglo. Otra forma de acceder a los datos en formato de arreglo es con [[]]
.
# Opción con pull
im1 |>
pull(1) |>
apply(3, mean)
## [1] 527.6186 772.9070 935.5342 1230.8505 1700.1954 1874.5490 2004.2371
## [8] 2076.1721 2236.3476 1653.3689
# Opción con doble corchete
im1[[1]] |>
apply(3, mean)
## [1] 527.6186 772.9070 935.5342 1230.8505 1700.1954 1874.5490 2004.2371
## [8] 2076.1721 2236.3476 1653.3689
Aplicar una función sobre todos los pixeles
Si se desea aplicar una función sobre todas las bandas de una imagen por pixel, se puede utilizar la función st_apply
para facilitar el cálculo de variables. Esto es muy utilizado para análisis con series de tiempo y obtener por ejemplo la media de cada pixel.
mean_allBands <- st_apply(im1,
1:2,
mean)
mean_allBands
## stars object with 2 dimensions and 1 attribute
## attribute(s):
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## mean 225.8 1253 1502.2 1501.178 1716.45 4223.5
## dimension(s):
## from to offset delta refsys point values x/y
## x 1 103 -101.235 0.000179663 WGS 84 FALSE NULL [x]
## y 1 81 19.6582 -0.000179663 WGS 84 FALSE NULL [y]
plot(mean_allBands)
Tabla de frecuencias
Para obtener una tabla de las frecuencias por el valor de pixel se utiliza la función table
.
table(reclass_NDVI)
## reclass_NDVI
## 1 2 3 4
## 64 2364 5527 388
Objetos stars proxy
En algunos casos los archivos raster con los que se desea trabajar son muy pesados y no caben en la memoria disponible RAM. Por ello, al llamar read_stars
se crea automáticamente un objeto proxy stars. Estos objetos permite cargar los datos únicamente cuando se vayan a utilizar. Para cargar los datos ya que se vayan a utilizar se usa la función st_as_stars
.
Visualizacion avanzada
Para generar visualizaciones más avanzadas podemos utilizar otros paquetes como ggplot2
o tmap
. Aquí veremos un ejemplo de cada uno.
ggplot2
En ggplot se puede determinar directamente el color y relleno de cada capa vectorial. En este ejemplo se carga la biblioteca viridis para usar dicha escala de color.
library(viridis)
## Loading required package: viridisLite
## Loading required package: viridisLite
ggplot() +
geom_stars(data = im1) +
coord_equal() +
facet_wrap(~band) +
theme_void() +
scale_fill_viridis() +
scale_x_discrete(expand = c(0, 0)) +
scale_y_discrete(expand = c(0, 0))
tmap
La opción de tmap require de utilizar algún atributo de la información para determinar el color de relleno de cada polígono de acuerdo a los valores de ese atributo. Es similar a ggplot
utilizando la opción de aes
. Podemos ver algunas de las paletas que ya vienen pre hechas tanto para ggplot como para tmap con tmaptools::palette_explorer()
library(tmap)
# Cargar shapr
tm_shape(im1) +
# Elegir forma de visualización
tm_raster()
</div>
</div>