Primera parte: Introducción a SIG y Teledetección en R

1 Conceptos básicos



2 Leyendo rasters

library(raster)
# file.choose()
lulc <- raster("rasterscurso/1/lulc.tif")
lulc
## class      : RasterLayer 
## dimensions : 208, 178, 37024  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359560, 361340, 6314590, 6316670  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : lulc.tif 
## names      : lulc 
## values     : 1, 3  (min, max)
plot(lulc)



3 Cambiar sistema de coordenadas de un raster

Leemos un raster

pacman::p_load(raster,magrittr)
lulc <- raster("rasterscurso/2/lulc.tif")
lulc
## class      : RasterLayer 
## dimensions : 208, 178, 37024  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359560, 361340, 6314590, 6316670  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : lulc.tif 
## names      : lulc 
## values     : 1, 3  (min, max)

Para cambiar las coordenadas utilizamos la función projectRaster

luc <- lulc %>% projectRaster(crs = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ")
luc
## class      : RasterLayer 
## dimensions : 222, 192, 42624  (nrow, ncol, ncell)
## resolution : 0.000107, 9.02e-05  (x, y)
## extent     : -70.50895, -70.48841, -33.29937, -33.27934  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : lulc 
## values     : 1, 3  (min, max)


4 Cálculos sobre raster

library(raster)
dem <- raster("rasterscurso/3/dem.tif")
dem2 <- dem/2
dem2
## class      : RasterLayer 
## dimensions : 67, 68, 4556  (nrow, ncol, ncell)
## resolution : 0.0002694946, 0.0002694946  (x, y)
## extent     : -70.50799, -70.48967, -33.29835, -33.28029  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : dem 
## values     : 641, 953  (min, max)

Suma de rasters:

dem3 <- dem + dem2
dem3
## class      : RasterLayer 
## dimensions : 67, 68, 4556  (nrow, ncol, ncell)
## resolution : 0.0002694946, 0.0002694946  (x, y)
## extent     : -70.50799, -70.48967, -33.29835, -33.28029  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : layer 
## values     : 1923, 2859  (min, max)

Division:

dem2 <- dem/2
dem2
## class      : RasterLayer 
## dimensions : 67, 68, 4556  (nrow, ncol, ncell)
## resolution : 0.0002694946, 0.0002694946  (x, y)
## extent     : -70.50799, -70.48967, -33.29835, -33.28029  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : dem 
## values     : 641, 953  (min, max)

Para realizar operaciones mas complejas hay que extraer valores del raster:

dem %>% values
##    [1] 1490 1486 1491 1503 1521 1531 1541 1549 1549 1558 1562 1564 1567 1570
##   [15] 1570 1568 1567 1565 1567 1568 1567 1570 1575 1582 1589 1594 1593 1597
##   [29] 1605 1612 1622 1628 1635 1642 1650 1655 1659 1666 1679 1692 1703 1703
##   [43] 1716 1731 1745 1752 1760 1767 1772 1775 1785 1796 1801 1807 1814 1821
##   [57] 1827 1834 1839 1844 1851 1856 1865 1873 1880 1889 1897 1906 1476 1476
##   [71] 1487 1503 1519 1529 1535 1541 1541 1548 1553 1557 1562 1567 1567 1565
##   [85] 1559 1559 1560 1560 1560 1560 1567 1575 1581 1587 1589 1592 1597 1605
##   [99] 1611 1618 1623 1630 1638 1643 1648 1656 1671 1684 1699 1699 1714 1732
##  [113] 1745 1755 1762 1768 1773 1779 1790 1799 1803 1805 1811 1816 1822 1830
##  [127] 1835 1840 1847 1853 1859 1868 1879 1887 1896 1903 1476 1476 1487 1503
##  [141] 1519 1529 1535 1541 1541 1548 1553 1557 1562 1567 1567 1565 1559 1559
##  [155] 1560 1560 1560 1560 1567 1575 1581 1587 1589 1592 1597 1605 1611 1618
##  [169] 1623 1630 1638 1643 1648 1656 1671 1684 1699 1699 1714 1732 1745 1755
##  [183] 1762 1768 1773 1779 1790 1799 1803 1805 1811 1816 1822 1830 1835 1840
##  [197] 1847 1853 1859 1868 1879 1887 1896 1903 1469 1477 1488 1504 1515 1524
##  [211] 1529 1533 1533 1538 1542 1548 1553 1558 1560 1559 1555 1551 1551 1553
##  [225] 1554 1559 1567 1576 1582 1589 1594 1595 1597 1601 1606 1613 1619 1626
##  [239] 1632 1640 1648 1657 1673 1682 1694 1694 1709 1725 1741 1751 1760 1767
##  [253] 1774 1783 1791 1798 1801 1803 1807 1812 1817 1825 1832 1837 1844 1850
##  [267] 1857 1864 1874 1884 1891 1898 1465 1477 1489 1498 1507 1516 1522 1528
##  [281] 1528 1530 1532 1537 1541 1544 1547 1548 1543 1543 1543 1547 1555 1565
##  [295] 1578 1587 1593 1601 1604 1605 1605 1608 1612 1619 1627 1634 1640 1646
##  [309] 1654 1667 1679 1687 1699 1699 1715 1730 1739 1748 1757 1766 1774 1781
##  [323] 1788 1795 1798 1801 1805 1811 1817 1822 1832 1836 1842 1848 1854 1861
##  [337] 1869 1877 1883 1889 1459 1470 1480 1488 1495 1504 1513 1518 1518 1520
##  [351] 1523 1525 1530 1532 1534 1533 1530 1532 1539 1547 1557 1572 1587 1596
##  [365] 1602 1608 1611 1613 1617 1620 1623 1629 1636 1641 1646 1656 1668 1678
##  [379] 1687 1697 1709 1709 1724 1734 1742 1748 1756 1765 1770 1778 1786 1794
##  [393] 1798 1799 1806 1812 1815 1821 1827 1835 1839 1843 1848 1854 1861 1868
##  [407] 1876 1883 1450 1457 1466 1475 1481 1488 1496 1500 1500 1503 1507 1514
##  [421] 1518 1520 1522 1523 1521 1524 1537 1548 1560 1574 1588 1602 1609 1617
##  [435] 1627 1628 1627 1630 1632 1636 1640 1646 1654 1668 1679 1688 1695 1705
##  [449] 1716 1716 1727 1737 1747 1755 1764 1769 1773 1778 1786 1793 1800 1801
##  [463] 1805 1811 1815 1819 1823 1829 1834 1835 1839 1848 1854 1860 1868 1877
##  [477] 1444 1448 1455 1462 1466 1472 1478 1484 1484 1490 1497 1502 1505 1511
##  [491] 1520 1524 1526 1530 1542 1555 1571 1584 1599 1609 1621 1635 1642 1642
##  [505] 1642 1643 1645 1645 1649 1653 1662 1673 1685 1692 1705 1715 1723 1723
##  [519] 1734 1746 1755 1763 1770 1775 1775 1778 1784 1791 1797 1803 1807 1809
##  [533] 1812 1816 1822 1828 1831 1833 1837 1844 1851 1858 1864 1870 1447 1455
##  [547] 1462 1464 1467 1472 1477 1483 1483 1490 1493 1502 1509 1513 1529 1541
##  [561] 1542 1547 1555 1570 1587 1605 1618 1625 1636 1646 1652 1655 1655 1656
##  [575] 1657 1658 1658 1663 1671 1681 1691 1700 1712 1725 1736 1736 1745 1755
##  [589] 1761 1768 1775 1775 1778 1781 1787 1791 1798 1803 1808 1810 1809 1814
##  [603] 1820 1824 1828 1834 1837 1842 1849 1857 1860 1863 1455 1463 1474 1477
##  [617] 1478 1483 1489 1495 1495 1499 1507 1518 1526 1534 1544 1550 1557 1565
##  [631] 1577 1588 1605 1621 1632 1644 1652 1659 1663 1665 1664 1666 1667 1669
##  [645] 1672 1677 1682 1693 1699 1709 1723 1735 1748 1748 1760 1767 1771 1775
##  [659] 1779 1782 1787 1793 1795 1797 1800 1803 1807 1809 1810 1813 1819 1820
##  [673] 1821 1832 1838 1839 1844 1851 1858 1862 1464 1474 1486 1494 1495 1500
##  [687] 1503 1510 1510 1519 1527 1536 1542 1547 1555 1563 1571 1580 1591 1602
##  [701] 1615 1629 1646 1663 1670 1675 1680 1679 1679 1680 1679 1679 1683 1687
##  [715] 1692 1698 1708 1718 1732 1745 1754 1754 1767 1774 1778 1781 1783 1789
##  [729] 1797 1799 1798 1797 1800 1799 1801 1806 1806 1812 1815 1816 1816 1828
##  [743] 1837 1837 1839 1846 1853 1861 1469 1481 1495 1506 1512 1515 1519 1524
##  [757] 1524 1533 1540 1546 1551 1559 1568 1579 1586 1592 1600 1607 1619 1635
##  [771] 1653 1666 1679 1686 1692 1693 1690 1690 1691 1689 1693 1700 1706 1712
##  [785] 1722 1733 1743 1753 1761 1761 1769 1774 1777 1781 1785 1790 1794 1793
##  [799] 1792 1790 1789 1787 1788 1790 1794 1803 1810 1815 1816 1826 1832 1832
##  [813] 1833 1842 1850 1848 1471 1483 1497 1508 1517 1524 1529 1535 1535 1541
##  [827] 1546 1552 1560 1567 1574 1583 1593 1599 1604 1611 1621 1638 1655 1669
##  [841] 1680 1693 1702 1702 1702 1702 1703 1704 1705 1712 1720 1725 1735 1742
##  [855] 1749 1757 1763 1763 1768 1771 1774 1779 1782 1786 1785 1780 1780 1778
##  [869] 1768 1765 1767 1771 1776 1788 1798 1802 1812 1817 1820 1824 1824 1829
##  [883] 1832 1826 1474 1486 1497 1510 1522 1531 1537 1543 1543 1548 1552 1557
##  [897] 1563 1567 1575 1584 1592 1599 1605 1613 1624 1639 1658 1671 1684 1700
##  [911] 1712 1718 1719 1722 1718 1715 1719 1724 1728 1734 1740 1746 1750 1754
##  [925] 1758 1758 1762 1763 1767 1772 1776 1776 1773 1769 1764 1758 1749 1742
##  [939] 1745 1750 1760 1772 1783 1787 1791 1798 1801 1802 1806 1800 1796 1795
##  [953] 1476 1487 1499 1512 1528 1537 1542 1549 1549 1554 1556 1559 1564 1568
##  [967] 1574 1581 1589 1596 1604 1616 1627 1640 1658 1676 1691 1708 1722 1730
##  [981] 1734 1735 1732 1730 1733 1735 1734 1736 1740 1742 1743 1746 1750 1750
##  [995] 1752 1753 1755 1761 1763 1762 1760 1753 1747 1737 1730 1725 1725 1734
## [1009] 1744 1757 1766 1770 1773 1777 1782 1781 1780 1776 1769 1771 1482 1492
## [1023] 1505 1517 1527 1536 1544 1552 1552 1557 1563 1564 1566 1572 1578 1584
## [1037] 1591 1598 1606 1616 1628 1644 1666 1687 1704 1717 1726 1731 1735 1735
## [1051] 1736 1736 1737 1737 1734 1730 1731 1733 1735 1736 1738 1738 1738 1740
## [1065] 1744 1749 1750 1748 1743 1734 1720 1715 1710 1708 1708 1716 1727 1741
## [1079] 1745 1748 1748 1753 1757 1761 1764 1762 1753 1753 1491 1505 1517 1525
## [1093] 1531 1538 1548 1555 1555 1562 1570 1571 1574 1580 1589 1593 1599 1603
## [1107] 1611 1622 1635 1654 1677 1692 1706 1717 1722 1725 1728 1730 1731 1732
## [1121] 1733 1732 1729 1726 1725 1724 1727 1727 1727 1727 1725 1726 1732 1735
## [1135] 1736 1732 1730 1715 1701 1695 1693 1689 1690 1698 1710 1719 1722 1724
## [1149] 1728 1731 1734 1739 1745 1745 1740 1735 1499 1514 1526 1534 1541 1549
## [1163] 1556 1560 1560 1567 1573 1578 1583 1592 1600 1605 1610 1616 1622 1630
## [1177] 1640 1658 1676 1689 1700 1710 1715 1718 1723 1725 1726 1725 1724 1724
## [1191] 1724 1723 1720 1718 1716 1718 1716 1716 1715 1714 1718 1721 1721 1720
## [1205] 1720 1709 1691 1681 1674 1668 1673 1682 1691 1695 1699 1704 1710 1714
## [1219] 1713 1715 1722 1724 1724 1716 1510 1521 1534 1545 1554 1560 1565 1571
## [1233] 1571 1576 1583 1588 1595 1603 1612 1620 1625 1632 1640 1648 1651 1663
## [1247] 1676 1689 1698 1703 1707 1713 1718 1720 1719 1718 1715 1714 1716 1713
## [1261] 1710 1707 1706 1704 1702 1702 1703 1705 1707 1709 1710 1712 1711 1702
## [1275] 1684 1664 1657 1654 1651 1662 1668 1671 1677 1683 1690 1692 1692 1695
## [1289] 1701 1707 1704 1692 1516 1525 1537 1549 1559 1567 1574 1582 1582 1589
## [1303] 1593 1598 1603 1612 1623 1632 1640 1647 1655 1661 1669 1674 1684 1693
## [1317] 1700 1705 1706 1711 1715 1714 1713 1710 1708 1706 1703 1699 1697 1694
## [1331] 1695 1692 1692 1692 1694 1696 1697 1699 1700 1704 1705 1695 1676 1654
## [1345] 1643 1635 1632 1633 1646 1647 1654 1660 1664 1668 1673 1677 1684 1686
## [1359] 1680 1668 1521 1527 1536 1548 1558 1568 1579 1588 1588 1596 1602 1606
## [1373] 1612 1623 1638 1648 1653 1658 1664 1672 1680 1690 1696 1700 1705 1706
## [1387] 1708 1710 1711 1710 1705 1702 1700 1699 1695 1691 1687 1687 1688 1685
## [1401] 1682 1682 1686 1690 1691 1693 1694 1698 1699 1688 1670 1647 1634 1620
## [1415] 1616 1619 1627 1631 1635 1642 1644 1646 1652 1656 1665 1663 1653 1651
## [1429] 1529 1531 1538 1547 1559 1569 1579 1591 1591 1601 1614 1621 1626 1640
## [1443] 1653 1659 1663 1666 1671 1678 1686 1698 1704 1705 1705 1707 1707 1707
## [1457] 1705 1702 1698 1693 1692 1688 1687 1684 1681 1680 1680 1676 1675 1675
## [1471] 1678 1683 1684 1684 1686 1689 1689 1678 1661 1641 1624 1610 1599 1603
## [1485] 1610 1617 1621 1625 1625 1627 1631 1636 1642 1639 1633 1632 1538 1540
## [1499] 1542 1548 1557 1568 1579 1590 1590 1607 1622 1631 1639 1649 1656 1662
## [1513] 1667 1672 1677 1683 1695 1704 1709 1707 1708 1706 1704 1702 1698 1694
## [1527] 1690 1686 1683 1678 1675 1675 1670 1672 1671 1669 1669 1669 1671 1673
## [1541] 1673 1674 1675 1678 1676 1664 1650 1636 1609 1593 1587 1584 1591 1600
## [1555] 1606 1607 1604 1605 1611 1614 1618 1617 1612 1609 1553 1551 1549 1552
## [1569] 1561 1570 1580 1593 1593 1606 1619 1631 1639 1649 1656 1663 1670 1678
## [1583] 1684 1693 1702 1708 1709 1709 1707 1703 1699 1697 1692 1687 1681 1677
## [1597] 1673 1669 1665 1662 1660 1662 1664 1661 1662 1662 1666 1667 1668 1667
## [1611] 1670 1671 1665 1653 1641 1622 1595 1580 1576 1572 1575 1583 1591 1588
## [1625] 1582 1583 1589 1593 1595 1594 1593 1588 1563 1563 1559 1560 1565 1574
## [1639] 1583 1594 1594 1605 1616 1627 1637 1647 1658 1665 1671 1680 1689 1698
## [1653] 1705 1708 1709 1707 1703 1699 1695 1691 1687 1680 1672 1668 1662 1658
## [1667] 1657 1654 1651 1653 1655 1654 1654 1654 1660 1663 1664 1662 1664 1665
## [1681] 1661 1645 1631 1614 1590 1575 1567 1562 1561 1568 1575 1571 1564 1566
## [1695] 1571 1573 1572 1571 1574 1574 1569 1569 1567 1566 1570 1578 1587 1595
## [1709] 1595 1606 1620 1629 1642 1654 1664 1671 1675 1682 1691 1699 1704 1707
## [1723] 1707 1703 1699 1695 1690 1686 1681 1672 1665 1658 1653 1650 1648 1645
## [1737] 1643 1647 1651 1652 1651 1651 1654 1658 1657 1654 1657 1657 1653 1639
## [1751] 1625 1604 1587 1572 1561 1551 1548 1552 1559 1558 1551 1549 1552 1555
## [1765] 1557 1557 1557 1561 1576 1576 1574 1573 1574 1583 1592 1600 1600 1610
## [1779] 1622 1638 1651 1663 1669 1673 1679 1688 1693 1698 1702 1704 1702 1699
## [1793] 1695 1689 1685 1680 1675 1665 1656 1649 1643 1640 1639 1638 1637 1642
## [1807] 1648 1648 1647 1647 1648 1649 1647 1646 1648 1651 1645 1635 1617 1598
## [1821] 1584 1569 1551 1540 1539 1540 1543 1544 1537 1532 1534 1541 1545 1544
## [1835] 1544 1548 1585 1585 1581 1578 1580 1588 1597 1604 1604 1614 1629 1640
## [1849] 1653 1663 1670 1675 1683 1692 1697 1699 1698 1699 1697 1692 1686 1681
## [1863] 1677 1673 1667 1657 1648 1641 1635 1631 1630 1632 1635 1639 1644 1643
## [1877] 1643 1643 1641 1640 1640 1638 1639 1639 1637 1625 1609 1594 1578 1559
## [1891] 1545 1535 1530 1528 1527 1527 1524 1519 1520 1525 1530 1533 1535 1539
## [1905] 1590 1590 1586 1584 1584 1592 1601 1607 1607 1618 1630 1642 1653 1663
## [1919] 1670 1677 1685 1693 1697 1694 1692 1691 1689 1684 1678 1673 1667 1663
## [1933] 1658 1647 1639 1635 1628 1624 1623 1627 1632 1636 1638 1638 1635 1635
## [1947] 1634 1630 1631 1630 1625 1624 1621 1610 1593 1579 1567 1557 1544 1531
## [1961] 1523 1515 1513 1515 1512 1509 1509 1512 1518 1522 1526 1531 1594 1594
## [1975] 1592 1590 1590 1595 1600 1609 1609 1623 1635 1643 1654 1665 1672 1676
## [1989] 1684 1692 1694 1687 1685 1682 1678 1674 1669 1662 1657 1653 1645 1636
## [2003] 1630 1623 1617 1613 1615 1621 1626 1631 1631 1629 1629 1629 1627 1621
## [2017] 1618 1618 1611 1606 1604 1592 1580 1569 1562 1555 1541 1525 1515 1504
## [2031] 1503 1503 1500 1496 1499 1504 1510 1515 1520 1525 1604 1601 1598 1594
## [2045] 1593 1595 1600 1611 1611 1626 1637 1646 1657 1668 1674 1679 1683 1687
## [2059] 1685 1681 1675 1672 1667 1664 1659 1653 1646 1638 1630 1623 1615 1608
## [2073] 1603 1603 1607 1613 1621 1625 1627 1626 1626 1626 1624 1616 1610 1611
## [2087] 1603 1596 1589 1577 1566 1560 1551 1543 1532 1518 1508 1496 1491 1488
## [2101] 1487 1490 1493 1500 1509 1513 1521 1529 1609 1609 1604 1598 1597 1601
## [2115] 1605 1613 1613 1629 1640 1650 1659 1667 1677 1682 1682 1679 1674 1669
## [2129] 1666 1661 1657 1655 1651 1642 1636 1626 1617 1610 1603 1595 1592 1594
## [2143] 1601 1607 1614 1620 1624 1627 1626 1626 1623 1617 1612 1612 1608 1586
## [2157] 1579 1565 1553 1545 1537 1529 1520 1511 1503 1491 1481 1479 1479 1486
## [2171] 1495 1505 1513 1521 1528 1537 1614 1614 1607 1603 1605 1609 1615 1621
## [2185] 1621 1631 1645 1653 1659 1665 1670 1674 1672 1669 1662 1660 1653 1647
## [2199] 1644 1644 1642 1635 1627 1617 1605 1599 1591 1587 1582 1584 1591 1600
## [2213] 1606 1613 1618 1622 1623 1623 1621 1618 1616 1615 1608 1579 1569 1558
## [2227] 1544 1534 1526 1518 1511 1506 1493 1480 1473 1471 1471 1483 1494 1509
## [2241] 1521 1527 1537 1548 1620 1618 1613 1608 1607 1613 1617 1623 1623 1636
## [2255] 1647 1656 1661 1663 1665 1663 1659 1657 1655 1649 1641 1634 1633 1634
## [2269] 1632 1628 1621 1610 1597 1587 1581 1575 1572 1574 1581 1590 1597 1602
## [2283] 1605 1610 1611 1611 1615 1616 1615 1613 1601 1572 1563 1553 1545 1526
## [2297] 1515 1509 1500 1488 1476 1469 1463 1462 1467 1478 1494 1508 1522 1531
## [2311] 1542 1554 1623 1623 1618 1613 1611 1614 1620 1626 1626 1640 1652 1659
## [2325] 1665 1667 1663 1657 1652 1647 1643 1636 1629 1621 1621 1620 1620 1616
## [2339] 1610 1600 1587 1575 1566 1561 1559 1560 1570 1576 1585 1588 1589 1590
## [2353] 1596 1596 1604 1610 1608 1603 1594 1575 1563 1552 1543 1520 1514 1506
## [2367] 1489 1478 1469 1460 1456 1458 1465 1477 1492 1509 1520 1532 1546 1558
## [2381] 1623 1623 1618 1613 1611 1614 1620 1626 1626 1640 1652 1659 1665 1667
## [2395] 1663 1657 1652 1647 1643 1636 1629 1621 1621 1620 1620 1616 1610 1600
## [2409] 1587 1575 1566 1561 1559 1560 1570 1576 1585 1588 1589 1590 1596 1596
## [2423] 1604 1610 1608 1603 1594 1575 1563 1552 1543 1520 1514 1506 1489 1478
## [2437] 1469 1460 1456 1458 1465 1477 1492 1509 1520 1532 1546 1558 1624 1625
## [2451] 1620 1615 1615 1617 1621 1629 1629 1640 1651 1658 1666 1665 1660 1653
## [2465] 1647 1640 1632 1625 1617 1609 1606 1605 1604 1600 1597 1590 1576 1564
## [2479] 1558 1552 1548 1548 1553 1561 1567 1571 1572 1575 1581 1581 1591 1596
## [2493] 1593 1589 1581 1577 1565 1549 1541 1528 1523 1512 1495 1475 1467 1456
## [2507] 1450 1454 1464 1479 1493 1509 1525 1537 1550 1562 1621 1625 1621 1618
## [2521] 1617 1619 1625 1632 1632 1641 1648 1654 1659 1659 1652 1647 1641 1633
## [2535] 1625 1618 1608 1597 1591 1587 1586 1587 1585 1578 1568 1560 1551 1544
## [2549] 1538 1539 1542 1547 1550 1552 1552 1559 1566 1566 1574 1577 1571 1571
## [2563] 1569 1568 1559 1548 1540 1531 1525 1514 1497 1482 1466 1452 1444 1448
## [2577] 1463 1478 1494 1509 1526 1541 1554 1567 1620 1620 1621 1619 1621 1624
## [2591] 1629 1635 1635 1642 1649 1653 1653 1651 1647 1642 1636 1628 1621 1616
## [2605] 1602 1589 1581 1575 1574 1572 1571 1567 1561 1554 1545 1533 1525 1524
## [2619] 1529 1533 1538 1538 1539 1544 1552 1552 1557 1552 1550 1551 1552 1552
## [2633] 1551 1547 1542 1528 1516 1508 1493 1486 1467 1443 1439 1446 1457 1471
## [2647] 1488 1504 1520 1539 1553 1564 1624 1622 1620 1621 1623 1627 1632 1638
## [2661] 1638 1644 1652 1654 1650 1646 1643 1638 1631 1627 1620 1613 1600 1587
## [2675] 1578 1569 1564 1563 1559 1557 1552 1543 1533 1522 1513 1510 1510 1514
## [2689] 1518 1521 1527 1536 1541 1541 1545 1539 1533 1534 1535 1535 1535 1535
## [2703] 1534 1520 1513 1501 1492 1480 1459 1439 1437 1442 1453 1469 1487 1502
## [2717] 1517 1531 1547 1556 1629 1627 1626 1628 1627 1630 1635 1642 1642 1649
## [2731] 1653 1653 1649 1642 1637 1634 1627 1624 1619 1610 1597 1584 1575 1567
## [2745] 1557 1552 1548 1544 1539 1532 1525 1516 1506 1499 1498 1498 1497 1503
## [2759] 1514 1526 1533 1533 1535 1526 1517 1514 1515 1514 1516 1518 1518 1512
## [2773] 1503 1496 1486 1470 1454 1433 1432 1437 1448 1462 1480 1495 1507 1516
## [2787] 1525 1537 1637 1636 1635 1633 1634 1634 1640 1645 1645 1649 1649 1648
## [2801] 1644 1637 1632 1626 1621 1620 1614 1607 1594 1581 1572 1563 1552 1543
## [2815] 1538 1533 1527 1525 1519 1511 1503 1490 1485 1484 1488 1492 1502 1512
## [2829] 1520 1520 1517 1512 1498 1492 1492 1496 1502 1504 1502 1494 1488 1483
## [2843] 1475 1456 1438 1425 1425 1430 1440 1455 1467 1480 1488 1493 1500 1513
## [2857] 1647 1644 1640 1638 1639 1640 1645 1648 1648 1647 1645 1642 1640 1633
## [2871] 1627 1620 1614 1609 1606 1599 1589 1576 1564 1555 1548 1539 1531 1525
## [2885] 1521 1519 1516 1509 1499 1482 1469 1466 1468 1486 1491 1500 1503 1503
## [2899] 1499 1491 1483 1477 1476 1480 1487 1491 1481 1476 1467 1460 1449 1438
## [2913] 1423 1416 1419 1425 1434 1442 1455 1468 1476 1480 1487 1497 1657 1651
## [2927] 1648 1645 1646 1648 1648 1649 1649 1648 1643 1640 1635 1629 1622 1617
## [2941] 1612 1605 1599 1593 1584 1575 1560 1553 1543 1534 1526 1519 1514 1511
## [2955] 1508 1502 1491 1476 1463 1453 1453 1464 1476 1484 1485 1485 1481 1469
## [2969] 1462 1462 1460 1464 1467 1468 1466 1457 1446 1436 1426 1419 1412 1407
## [2983] 1411 1419 1426 1433 1440 1453 1463 1472 1478 1486 1670 1665 1659 1655
## [2997] 1655 1656 1653 1649 1649 1646 1642 1639 1635 1628 1620 1616 1609 1601
## [3011] 1595 1588 1581 1571 1562 1552 1540 1529 1521 1516 1507 1501 1495 1492
## [3025] 1483 1472 1457 1445 1446 1449 1455 1461 1464 1464 1456 1451 1445 1439
## [3039] 1442 1442 1445 1440 1439 1436 1422 1415 1412 1406 1400 1403 1407 1412
## [3053] 1417 1423 1428 1435 1447 1457 1466 1471 1682 1678 1677 1668 1667 1664
## [3067] 1660 1656 1656 1645 1638 1636 1635 1628 1620 1615 1609 1597 1590 1583
## [3081] 1577 1567 1556 1548 1535 1524 1518 1511 1503 1495 1487 1480 1474 1462
## [3095] 1451 1438 1432 1437 1440 1441 1440 1440 1435 1432 1433 1425 1421 1419
## [3109] 1415 1411 1411 1404 1402 1400 1399 1396 1395 1398 1403 1409 1412 1419
## [3123] 1424 1429 1431 1443 1457 1463 1694 1689 1686 1680 1672 1669 1664 1659
## [3137] 1659 1646 1637 1633 1630 1628 1622 1616 1611 1601 1589 1582 1575 1566
## [3151] 1552 1541 1532 1523 1517 1510 1500 1491 1482 1474 1467 1458 1448 1430
## [3165] 1422 1422 1423 1422 1419 1419 1413 1411 1414 1411 1405 1403 1396 1390
## [3179] 1386 1385 1386 1389 1390 1390 1392 1398 1407 1414 1419 1425 1431 1436
## [3193] 1438 1445 1453 1461 1705 1698 1694 1684 1675 1672 1669 1664 1664 1650
## [3207] 1643 1634 1630 1624 1620 1615 1611 1602 1592 1587 1577 1566 1554 1541
## [3221] 1530 1523 1518 1512 1499 1492 1474 1478 1463 1456 1447 1428 1415 1409
## [3235] 1405 1404 1400 1400 1393 1393 1396 1391 1389 1388 1379 1373 1374 1376
## [3249] 1379 1383 1385 1389 1393 1401 1414 1423 1432 1439 1447 1453 1455 1458
## [3263] 1464 1468 1712 1704 1701 1694 1686 1678 1678 1669 1669 1658 1652 1649
## [3277] 1635 1628 1621 1612 1608 1602 1594 1590 1580 1567 1556 1549 1535 1526
## [3291] 1519 1513 1508 1502 1499 1494 1469 1454 1447 1432 1413 1402 1393 1388
## [3305] 1386 1386 1380 1379 1380 1376 1371 1368 1365 1364 1366 1372 1379 1386
## [3319] 1392 1397 1402 1409 1420 1431 1444 1455 1463 1472 1474 1475 1477 1481
## [3333] 1714 1706 1700 1700 1694 1689 1688 1678 1678 1668 1662 1651 1643 1636
## [3347] 1629 1618 1611 1605 1597 1594 1588 1576 1564 1554 1539 1527 1521 1516
## [3361] 1515 1515 1510 1499 1481 1461 1451 1439 1420 1407 1391 1383 1379 1379
## [3375] 1374 1372 1368 1363 1358 1355 1356 1360 1364 1374 1385 1396 1402 1409
## [3389] 1413 1421 1432 1444 1456 1470 1486 1492 1493 1493 1501 1502 1708 1704
## [3403] 1697 1694 1693 1692 1693 1689 1689 1677 1666 1647 1640 1639 1633 1624
## [3417] 1620 1615 1607 1603 1597 1586 1569 1558 1545 1533 1526 1524 1525 1520
## [3431] 1509 1498 1483 1464 1451 1440 1426 1412 1403 1387 1381 1381 1376 1370
## [3445] 1360 1354 1352 1349 1351 1359 1369 1380 1392 1402 1412 1418 1427 1436
## [3459] 1449 1461 1474 1489 1501 1506 1506 1510 1515 1520 1693 1694 1694 1689
## [3473] 1690 1689 1691 1686 1686 1677 1655 1640 1636 1634 1633 1626 1625 1620
## [3487] 1614 1610 1604 1594 1579 1567 1559 1551 1539 1534 1530 1521 1509 1494
## [3501] 1480 1467 1452 1443 1433 1423 1414 1398 1387 1387 1380 1368 1356 1349
## [3515] 1345 1345 1350 1362 1374 1387 1398 1410 1421 1429 1440 1453 1467 1479
## [3529] 1490 1501 1511 1518 1527 1534 1533 1535 1670 1676 1680 1683 1679 1684
## [3543] 1681 1675 1675 1661 1641 1632 1628 1625 1620 1623 1623 1620 1612 1611
## [3557] 1605 1597 1585 1577 1574 1564 1549 1540 1531 1521 1506 1491 1481 1472
## [3571] 1461 1450 1444 1437 1424 1407 1392 1392 1381 1366 1351 1340 1338 1340
## [3585] 1351 1365 1381 1394 1406 1421 1431 1441 1454 1467 1481 1491 1501 1512
## [3599] 1522 1535 1544 1548 1548 1547 1651 1653 1660 1664 1663 1664 1663 1658
## [3613] 1658 1639 1628 1620 1615 1613 1605 1606 1613 1612 1607 1606 1600 1597
## [3627] 1588 1581 1575 1564 1550 1543 1530 1519 1510 1492 1482 1479 1470 1458
## [3641] 1447 1438 1425 1408 1390 1390 1371 1359 1342 1333 1331 1339 1352 1370
## [3655] 1387 1401 1413 1426 1437 1449 1460 1471 1484 1496 1505 1512 1521 1529
## [3669] 1538 1544 1547 1549 1631 1632 1637 1645 1645 1641 1637 1624 1624 1614
## [3683] 1608 1604 1599 1594 1588 1586 1591 1595 1593 1593 1592 1592 1587 1579
## [3697] 1571 1557 1546 1535 1526 1515 1507 1488 1482 1480 1471 1456 1444 1430
## [3711] 1417 1402 1381 1381 1359 1349 1336 1328 1330 1341 1356 1371 1388 1400
## [3725] 1413 1426 1437 1447 1458 1469 1481 1490 1499 1504 1510 1515 1522 1529
## [3739] 1536 1547 1613 1614 1617 1625 1629 1627 1616 1604 1604 1591 1587 1581
## [3753] 1576 1569 1564 1565 1569 1576 1574 1572 1574 1578 1579 1573 1563 1549
## [3767] 1538 1524 1513 1503 1495 1485 1479 1476 1467 1453 1437 1419 1408 1390
## [3781] 1364 1364 1349 1340 1334 1329 1330 1345 1359 1371 1381 1396 1407 1419
## [3795] 1430 1439 1447 1460 1467 1474 1482 1490 1498 1503 1509 1519 1530 1541
## [3809] 1594 1594 1598 1605 1612 1610 1599 1586 1586 1575 1564 1555 1550 1541
## [3823] 1541 1542 1545 1552 1551 1552 1556 1566 1568 1562 1546 1535 1523 1515
## [3837] 1502 1492 1484 1477 1473 1468 1460 1445 1430 1414 1399 1380 1355 1355
## [3851] 1341 1330 1327 1327 1330 1343 1361 1370 1380 1389 1399 1409 1418 1425
## [3865] 1435 1444 1451 1454 1461 1469 1477 1489 1499 1510 1524 1537 1573 1575
## [3879] 1579 1584 1587 1583 1573 1561 1561 1552 1540 1536 1525 1522 1519 1518
## [3893] 1521 1524 1529 1532 1540 1547 1556 1548 1532 1516 1507 1497 1491 1480
## [3907] 1476 1469 1463 1458 1450 1438 1425 1408 1389 1363 1347 1347 1334 1320
## [3921] 1319 1325 1331 1342 1355 1368 1377 1383 1389 1397 1405 1410 1416 1427
## [3935] 1436 1442 1448 1455 1465 1478 1493 1506 1516 1530 1556 1554 1554 1559
## [3949] 1561 1556 1549 1539 1539 1529 1517 1509 1503 1502 1500 1500 1500 1505
## [3963] 1509 1513 1516 1525 1532 1533 1520 1505 1489 1480 1475 1472 1467 1462
## [3977] 1453 1447 1438 1428 1415 1398 1374 1349 1337 1337 1323 1312 1316 1325
## [3991] 1333 1343 1353 1363 1372 1376 1380 1386 1392 1397 1402 1411 1423 1434
## [4005] 1441 1450 1461 1473 1485 1500 1514 1526 1537 1532 1534 1535 1543 1543
## [4019] 1533 1525 1525 1516 1503 1491 1484 1476 1472 1476 1480 1481 1487 1495
## [4033] 1500 1508 1514 1515 1507 1496 1479 1469 1463 1461 1458 1449 1440 1434
## [4047] 1425 1414 1397 1379 1355 1337 1326 1326 1313 1307 1315 1326 1332 1340
## [4061] 1346 1354 1365 1369 1372 1373 1377 1383 1391 1401 1414 1427 1438 1447
## [4075] 1461 1475 1488 1499 1511 1524 1516 1511 1516 1518 1525 1527 1524 1514
## [4089] 1514 1505 1493 1483 1468 1457 1454 1455 1456 1459 1466 1470 1482 1491
## [4103] 1500 1499 1492 1487 1470 1462 1457 1451 1446 1432 1420 1415 1410 1395
## [4117] 1378 1358 1342 1329 1318 1318 1303 1303 1313 1323 1328 1333 1338 1345
## [4131] 1355 1362 1364 1366 1370 1379 1387 1399 1413 1427 1440 1451 1462 1475
## [4145] 1485 1494 1502 1509 1496 1495 1499 1500 1499 1500 1498 1493 1493 1489
## [4159] 1475 1462 1451 1440 1438 1436 1437 1443 1447 1453 1457 1474 1482 1479
## [4173] 1475 1471 1457 1451 1446 1442 1432 1418 1406 1400 1387 1375 1359 1350
## [4187] 1338 1328 1315 1315 1302 1301 1307 1318 1322 1325 1330 1337 1345 1353
## [4201] 1359 1363 1373 1381 1387 1399 1409 1423 1434 1443 1452 1464 1474 1483
## [4215] 1489 1495 1481 1478 1480 1475 1468 1465 1465 1467 1467 1461 1447 1442
## [4229] 1433 1426 1421 1418 1418 1425 1436 1440 1446 1455 1463 1463 1460 1455
## [4243] 1448 1440 1434 1429 1420 1408 1397 1386 1374 1359 1349 1342 1336 1321
## [4257] 1306 1306 1296 1297 1307 1314 1318 1320 1323 1330 1338 1346 1355 1366
## [4271] 1378 1385 1395 1400 1409 1419 1428 1433 1440 1449 1458 1468 1476 1481
## [4285] 1466 1456 1453 1450 1443 1444 1448 1449 1449 1441 1433 1427 1421 1409
## [4299] 1400 1399 1400 1407 1414 1425 1428 1435 1441 1446 1442 1438 1436 1432
## [4313] 1421 1418 1410 1394 1382 1371 1360 1347 1340 1332 1323 1311 1294 1294
## [4327] 1290 1294 1306 1314 1317 1319 1321 1326 1335 1345 1354 1365 1377 1386
## [4341] 1392 1400 1406 1412 1417 1421 1428 1435 1445 1455 1462 1469 1449 1432
## [4355] 1430 1428 1428 1430 1436 1437 1437 1432 1424 1419 1408 1392 1381 1384
## [4369] 1385 1387 1390 1401 1404 1406 1417 1426 1425 1421 1422 1419 1412 1404
## [4383] 1396 1383 1366 1352 1341 1330 1323 1320 1309 1300 1293 1293 1288 1293
## [4397] 1305 1314 1319 1322 1325 1328 1335 1345 1352 1359 1370 1377 1382 1390
## [4411] 1395 1401 1405 1410 1418 1425 1431 1444 1451 1458 1436 1422 1416 1416
## [4425] 1413 1415 1421 1421 1421 1414 1408 1402 1393 1374 1369 1369 1370 1372
## [4439] 1379 1384 1386 1389 1398 1405 1408 1408 1407 1401 1394 1387 1379 1367
## [4453] 1352 1335 1322 1314 1304 1299 1294 1289 1287 1287 1289 1294 1305 1314
## [4467] 1319 1324 1330 1335 1343 1350 1356 1357 1365 1371 1374 1381 1387 1391
## [4481] 1396 1401 1408 1416 1420 1432 1442 1452 1427 1416 1406 1403 1399 1400
## [4495] 1404 1402 1402 1395 1382 1378 1370 1361 1356 1357 1356 1360 1366 1369
## [4509] 1368 1372 1379 1383 1386 1392 1393 1390 1378 1371 1360 1349 1333 1321
## [4523] 1309 1301 1291 1285 1282 1282 1286 1286 1292 1301 1310 1316 1320 1325
## [4537] 1333 1343 1351 1359 1363 1366 1369 1373 1377 1380 1384 1391 1396 1400
## [4551] 1405 1410 1417 1426 1440 1453

Aplicación de promedios:

dem %>% values %>% mean
## [1] 1573.888

Despliegues detallados:

dem %>% values %>% summary
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1282    1483    1578    1574    1659    1906

Podemos normalizar los valores (la forma dificil)

dem4 <- (dem-min(values(dem))) / (max(values(dem)) - min(values(dem)))
dem4
## class      : RasterLayer 
## dimensions : 67, 68, 4556  (nrow, ncol, ncell)
## resolution : 0.0002694946, 0.0002694946  (x, y)
## extent     : -70.50799, -70.48967, -33.29835, -33.28029  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : dem 
## values     : 0, 1  (min, max)

Podemos normalizar los valores (la forma facil)

dem5 <- (dem-minValue(dem)) / ((maxValue(dem)) - minValue(dem))
dem5
## class      : RasterLayer 
## dimensions : 67, 68, 4556  (nrow, ncol, ncell)
## resolution : 0.0002694946, 0.0002694946  (x, y)
## extent     : -70.50799, -70.48967, -33.29835, -33.28029  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs 
## source     : memory
## names      : dem 
## values     : 0, 1  (min, max)


5 Convertir de vector a raster (rasterizar)

pacman::p_load(raster,sf)
parches <- read_sf("rasterscurso/4/parches.shp")
parches
## Simple feature collection with 6 features and 1 field
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 352937.7 ymin: 8996964 xmax: 375159.4 ymax: 9008475
## Projected CRS: WGS 84 / UTM zone 24S
## # A tibble: 6 x 2
##     area                                                                geometry
##    <dbl>                                                           <POLYGON [m]>
## 1 3080.  ((367059.9 9007941, 367059.9 9007911, 367089.6 9007911, 367089.6 90079~
## 2   62.4 ((363054.7 9007199, 363025 9007199, 363025 9007229, 362995.3 9007229, ~
## 3  730.  ((372518.9 9001206, 372518.9 9001236, 372489.2 9001236, 372489.2 90012~
## 4 1095.  ((354065.1 9000435, 354065.1 9000375, 354094.8 9000375, 354094.8 90004~
## 5  150.  ((358782.4 9001295, 358782.4 9001384, 358723.1 9001384, 358723.1 90013~
## 6   45.4 ((357447.3 8999159, 357447.3 8999218, 357477 8999218, 357477 8999278, ~
plot(parches)

Creamos un raster ficticio

r <-raster(resolution = c(30,30),
           crs = crs(parches),    # <- se crea raster vacio
           ext = extent(parches))
r
## class      : RasterLayer 
## dimensions : 384, 741, 284544  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 352937.7, 375167.7, 8996955, 9008475  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=24 +south +datum=WGS84 +units=m +no_defs

Para hacer la conversión utilizamos la función rasterize y el ráster ficticio que hicimos anteriormente

par_ras <- rasterize(parches, r, field =parches$area)
par_ras
## class      : RasterLayer 
## dimensions : 384, 741, 284544  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 352937.7, 375167.7, 8996955, 9008475  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=24 +south +datum=WGS84 +units=m +no_defs 
## source     : memory
## names      : layer 
## values     : 45.43273, 3080.226  (min, max)
plot(par_ras)

para guardar el raster:

#writeRaster(par_ras, "esunraster.tif")


6 Convertir de raster a vectorial

pacman::p_load(raster,sf,tidyverse,sp)
lulc <- raster("rasterscurso/5/lulc.tif")
shp <- rasterToPolygons(lulc) %>% st_as_sf #<- cada pixel es un vector
shp
## Simple feature collection with 33264 features and 1 field
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 359610 ymin: 6314640 xmax: 361290 ymax: 6316620
## Projected CRS: WGS 84 / UTM zone 19S
## First 10 features:
##    lulc                       geometry
## 1     3 POLYGON ((359610 6316620, 3...
## 2     3 POLYGON ((359620 6316620, 3...
## 3     3 POLYGON ((359630 6316620, 3...
## 4     3 POLYGON ((359640 6316620, 3...
## 5     3 POLYGON ((359650 6316620, 3...
## 6     3 POLYGON ((359660 6316620, 3...
## 7     3 POLYGON ((359670 6316620, 3...
## 8     3 POLYGON ((359680 6316620, 3...
## 9     3 POLYGON ((359690 6316620, 3...
## 10    2 POLYGON ((359700 6316620, 3...
plot(shp)

Vemos que existen las clases de uso de suelo en el que cada pixel se convirtio en un archivo vectorial, pero eso no es lo ideal. Para hacer la conversión de manera correcta colocamos el parámetro dissolve

shp <- rasterToPolygons(lulc, dissolve = T) %>% st_as_sf #<- cada pixel es un vector
## Loading required namespace: rgeos
shp
## Simple feature collection with 3 features and 1 field
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 359610 ymin: 6314640 xmax: 361290 ymax: 6316620
## Projected CRS: WGS 84 / UTM zone 19S
##   lulc                       geometry
## 1    1 MULTIPOLYGON (((360420 6314...
## 2    2 MULTIPOLYGON (((360710 6314...
## 3    3 MULTIPOLYGON (((361290 6314...
plot(shp)

Si quisiéramos polígonos independientes utilizamos la función disaggregate para tener varios polígonos independientes

shp <- rasterToPolygons(lulc, dissolve = T) %>% disaggregate %>% st_as_sf #<- separa poligonos
plot(shp)



7 Reclasificar los valores de un Raster

Valores Discretos

library(raster)
# mapa de uso y cobertura de suelo, vemos que tiene valores del 1 al 3
lulc <- raster("rasterscurso/6/lulc.tif")
plot(lulc)

Tiene valores del 1 al 3:

1: suelo desnudo 2: matorral abierto 3: matorral denso

si quisieramos unir las clases 2 y 3 en una sola, debemos construir una matriz, llamemosla cambio,

Creamos una matriz, en la primera columna pondremos los valores que posee el ráster y en la segunda pondremos los valores que queremos asignar

cambio <- cbind(c(1,2,3),
                c(1,2,2))
cambio
##      [,1] [,2]
## [1,]    1    1
## [2,]    2    2
## [3,]    3    2

Para efectuar el cambio se utiliza la función reclassify que junto con el parámetro rcl parece tener una función similar al merge con la asignación de valores

reclass <- reclassify(lulc, rcl = cambio)
plot(reclass)

Y juntamos la vegetacion, que eran los matorrales en una sola clase.

Vamos a guardar a a leer este raster:

writeRaster(reclass, "lulc_rec.tif", overwrite = TRUE)
lulc_666 <- raster("lulc_rec.tif")
lulc_666
## class      : RasterLayer 
## dimensions : 208, 178, 37024  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359560, 361340, 6314590, 6316670  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : lulc_rec.tif 
## names      : lulc_rec 
## values     : 1, 2  (min, max)
plot(lulc_666)

Valores Continuos

Leemos el raster

ndvi <- raster("rasterscurso/6/ndvi.tif")
ndvi
## class      : RasterLayer 
## dimensions : 198, 168, 33264  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359610, 361290, 6314640, 6316620  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : ndvi.tif 
## names      : ndvi
plot(ndvi)

Para poder reclasificar el NDVI necesitamos extraer sus valores

ndvi %>%  values %>% summary
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  0.0410  0.2850  0.3623  0.3638  0.4310  0.8282     607

Se crea un vector con los valores que ocupemos

m <- c(0, 0.2850, 1, #<- valor minimo(0) hasta 1er quartil
       0.2850, 0.3623, 2,#<- del primer cuartil hasta mediana
       0.3623, 0.4310, 3,#<- de mediana a 3er quartil
       0.4310, 1, 4)#<- 3se quartil hasta valor maximo(1)
m
##  [1] 0.0000 0.2850 1.0000 0.2850 0.3623 2.0000 0.3623 0.4310 3.0000 0.4310
## [11] 1.0000 4.0000

Convertimos el vector a matriz

mat <- matrix(m, ncol = 3, byrow = T)
mat
##        [,1]   [,2] [,3]
## [1,] 0.0000 0.2850    1
## [2,] 0.2850 0.3623    2
## [3,] 0.3623 0.4310    3
## [4,] 0.4310 1.0000    4

Este sera el rango de valores y el numero al que serán nuevamente clasificados los valores continuos en valores discretos del 1 al 4.

Utilizamos nuevamente la función reclassify para hacer la reclasificación:

reclass <- reclassify(ndvi, mat)
plot(reclass)



8 Cambiar tamaño de pixel (Resampling)

library(raster)
#file.choose()
lulc <- raster("rasterscurso/7/lulc.tif")
lulc
## class      : RasterLayer 
## dimensions : 208, 178, 37024  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359560, 361340, 6314590, 6316670  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : lulc.tif 
## names      : lulc 
## values     : 1, 3  (min, max)
plot(lulc)

Creamos un ráster vacío con el tamaño de los pixeles que queramos:

r <- raster(resolution = c(30,30),
            crs = crs(lulc),
            ext = extent(lulc))
r
## class      : RasterLayer 
## dimensions : 69, 59, 4071  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 359560, 361330, 6314600, 6316670  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs

Con la función resample y el method ngb hacemos la asignación del resampling con una resolucion más baja.

ras_lulc <- resample(lulc, r, method = "ngb")
plot(ras_lulc)



9 Cortar raster usando un archivo vectorial

pacman::p_load(sf,raster)
#file.choose()
ndvi <- raster("rasterscurso/8/ndvi.tif")
plot(ndvi)

area <- read_sf("rasterscurso/8/area.shp")
area
## Simple feature collection with 1 feature and 1 field
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 359917.8 ymin: 6315245 xmax: 360968.3 ymax: 6316102
## Projected CRS: WGS 84 / UTM zone 19S
## # A tibble: 1 x 2
##      id                                                                 geometry
##   <dbl>                                                            <POLYGON [m]>
## 1    NA ((359917.8 6316094, 360968.3 6316102, 360968.3 6315245, 359917.8 631524~
plot(area)
## Warning in min(x): ningún argumento finito para min; retornando Inf
## Warning in max(x): ningun argumento finito para max; retornando -Inf

Para poder hacer el corte vamos a utilizar la función crop acompañada de la función mask, esto debido a que en algunos casos cuando el archivo vectorial es muy grande tiende a hacer el corte mal.

ndvi2 <- ndvi %>%  crop(area) %>% mask(area)
plot(ndvi2)



10 Calcular NDVI de una imagen Sentinel 2

# Leemos el area y las bandas:
library(raster,sf)
        
area_est <- read_sf("rasterscurso/9/area_est.shp")

red <- raster("rasterscurso/9/B04_10m.jp2") %>% 
  crop(area_est) %>% mask(area_est)
nir <- raster("rasterscurso/9/B08_10m.jp2") %>% 
  crop(area_est) %>% mask(area_est)

plot(red)

Calculamos el NDVI

ndvi <- ((nir/10000 - red/10000)/(nir/10000 + red/10000))
plot(ndvi)



11 Extraer informacion de un raster a traves de puntos contenidos en un archivo shp

Es importante saber que para poder extraer información, todos los archivos deben tener el mismo formato de coordenadas.

En nuestro caso el raster dem tiene un formato diferente al resto por lo que tendremos que modificarlo, deben estar en 19 Sur

pacman::p_load(tidyverse, sf, raster)
ndvi <- raster("rasterscurso/10/ndvi.tif")
ndvi
## class      : RasterLayer 
## dimensions : 198, 168, 33264  (nrow, ncol, ncell)
## resolution : 10, 10  (x, y)
## extent     : 359610, 361290, 6314640, 6316620  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : ndvi.tif 
## names      : ndvi
dem <- raster("rasterscurso/10/dem.tif")
dem <- dem %>%  projectRaster(crs = "+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
dem
## class      : RasterLayer 
## dimensions : 78, 81, 6318  (nrow, ncol, ncell)
## resolution : 25.1, 29.9  (x, y)
## extent     : 359419.6, 361452.7, 6314467, 6316799  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs 
## source     : memory
## names      : dem 
## values     : 1284.318, 1905.975  (min, max)
puntos <- read_sf("rasterscurso/10/ptos_ext.shp")
puntos
## Simple feature collection with 25 features and 1 field
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 359648 ymin: 6314753 xmax: 361194.9 ymax: 6316476
## Projected CRS: WGS 84 / UTM zone 19S
## # A tibble: 25 x 2
##    id              geometry
##    <chr>        <POINT [m]>
##  1 1a    (360741.6 6315008)
##  2 1b    (360094.1 6316379)
##  3 1c    (359777.5 6314972)
##  4 2a    (360086.9 6315835)
##  5 2b    (361194.9 6316476)
##  6 3a    (361166.1 6314807)
##  7 4a      (360533 6315857)
##  8 4b    (360040.1 6315310)
##  9 4c      (359648 6316238)
## 10 4d    (360586.9 6316321)
## # ... with 15 more rows

Extraemos los puntos de nuestros raster con la función extract especificando que es del paquete raster

puntos_ndvi <- ndvi %>%  raster::extract(puntos)
puntos_ndvi
##  [1] 0.7343023 0.1086287 0.3745211 0.1927354 0.3509145 0.3861652 0.2750328
##  [8] 0.3364091 0.2085416 0.2442323 0.5354497 0.4275474 0.2075085 0.3552812
## [15] 0.2352472 0.3864459 0.2599479 0.6421672 0.4039985 0.8155236 0.4612694
## [22] 0.3052277 0.2175824 0.4027994 0.5198761
puntos_dem <- dem %>% raster::extract(puntos)
puntos_dem
##  [1] 1329.260 1592.197 1598.493 1699.412 1860.689 1451.905 1646.668 1601.824
##  [9] 1505.952 1750.277 1463.408 1492.438 1636.169 1491.298 1792.912 1464.119
## [17] 1611.592 1517.712 1545.260 1292.042 1575.207 1586.838 1594.268 1690.540
## [25] 1396.227

Extracción de nombres de los puntos

ptos_info <- tibble(id = puntos$id,
                    ndvi = puntos_ndvi,
                    altitud = puntos_dem)
ptos_info
## # A tibble: 25 x 3
##    id     ndvi altitud
##    <chr> <dbl>   <dbl>
##  1 1a    0.734   1329.
##  2 1b    0.109   1592.
##  3 1c    0.375   1598.
##  4 2a    0.193   1699.
##  5 2b    0.351   1861.
##  6 3a    0.386   1452.
##  7 4a    0.275   1647.
##  8 4b    0.336   1602.
##  9 4c    0.209   1506.
## 10 4d    0.244   1750.
## # ... with 15 more rows

Extraigamos la correlación entre ndvi y la altitud. Menos 1 porque no necesitamos la primera columna, la de la correlación.

cor(ptos_info[,-1])
##               ndvi    altitud
## ndvi     1.0000000 -0.6818164
## altitud -0.6818164  1.0000000

Del siguiente grafico podemos deducir que mayor altura, el índice NDVI es mas bajo.

ptos_info %>% ggplot(aes(x = altitud, y = ndvi)) + 
  geom_line()+
  stat_smooth(method = "lm", se = F)
## `geom_smooth()` using formula 'y ~ x'