Diego Arturo Gonzalez Delgadillo

23 de marzo de 2020

1.Introducción

Primero se debe instalar las librerias requeridas

install.packages(c("tidyverse", "sf"))
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing packages into 㤼㸱C:/Users/ASUS/Documents/R/win-library/3.6㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
also installing the dependencies 㤼㸱desc㤼㸲, 㤼㸱pkgbuild㤼㸲, 㤼㸱rprojroot㤼㸲, 㤼㸱pkgload㤼㸲, 㤼㸱praise㤼㸲, 㤼㸱colorspace㤼㸲, 㤼㸱sys㤼㸲, 㤼㸱ps㤼㸲, 㤼㸱plyr㤼㸲, 㤼㸱testthat㤼㸲, 㤼㸱farver㤼㸲, 㤼㸱labeling㤼㸲, 㤼㸱munsell㤼㸲, 㤼㸱RColorBrewer㤼㸲, 㤼㸱viridisLite㤼㸲, 㤼㸱askpass㤼㸲, 㤼㸱rematch㤼㸲, 㤼㸱prettyunits㤼㸲, 㤼㸱processx㤼㸲, 㤼㸱backports㤼㸲, 㤼㸱generics㤼㸲, 㤼㸱reshape2㤼㸲, 㤼㸱assertthat㤼㸲, 㤼㸱fansi㤼㸲, 㤼㸱R6㤼㸲, 㤼㸱tidyselect㤼㸲, 㤼㸱ellipsis㤼㸲, 㤼㸱pkgconfig㤼㸲, 㤼㸱BH㤼㸲, 㤼㸱plogr㤼㸲, 㤼㸱gtable㤼㸲, 㤼㸱isoband㤼㸲, 㤼㸱scales㤼㸲, 㤼㸱withr㤼㸲, 㤼㸱vctrs㤼㸲, 㤼㸱curl㤼㸲, 㤼㸱openssl㤼㸲, 㤼㸱utf8㤼㸲, 㤼㸱clipr㤼㸲, 㤼㸱cellranger㤼㸲, 㤼㸱progress㤼㸲, 㤼㸱callr㤼㸲, 㤼㸱fs㤼㸲, 㤼㸱whisker㤼㸲, 㤼㸱selectr㤼㸲, 㤼㸱lifecycle㤼㸲, 㤼㸱e1071㤼㸲, 㤼㸱broom㤼㸲, 㤼㸱cli㤼㸲, 㤼㸱crayon㤼㸲, 㤼㸱dbplyr㤼㸲, 㤼㸱dplyr㤼㸲, 㤼㸱forcats㤼㸲, 㤼㸱ggplot2㤼㸲, 㤼㸱haven㤼㸲, 㤼㸱hms㤼㸲, 㤼㸱httr㤼㸲, 㤼㸱lubridate㤼㸲, 㤼㸱modelr㤼㸲, 㤼㸱pillar㤼㸲, 㤼㸱purrr㤼㸲, 㤼㸱readr㤼㸲, 㤼㸱readxl㤼㸲, 㤼㸱reprex㤼㸲, 㤼㸱rstudioapi㤼㸲, 㤼㸱rvest㤼㸲, 㤼㸱tibble㤼㸲, 㤼㸱tidyr㤼㸲, 㤼㸱xml2㤼㸲, 㤼㸱classInt㤼㸲, 㤼㸱DBI㤼㸲, 㤼㸱units㤼㸲

  There is a binary version available but the source version is
  later:

  Binaries will be installed
probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/desc_1.2.0.zip'
Content type 'application/zip' length 288537 bytes (281 KB)
downloaded 281 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/pkgbuild_1.0.6.zip'
Content type 'application/zip' length 137457 bytes (134 KB)
downloaded 134 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/rprojroot_1.3-2.zip'
Content type 'application/zip' length 84822 bytes (82 KB)
downloaded 82 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/pkgload_1.0.2.zip'
Content type 'application/zip' length 156858 bytes (153 KB)
downloaded 153 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/praise_1.0.0.zip'
Content type 'application/zip' length 19727 bytes (19 KB)
downloaded 19 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/colorspace_1.4-1.zip'
Content type 'application/zip' length 2550276 bytes (2.4 MB)
downloaded 2.4 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/sys_3.3.zip'
Content type 'application/zip' length 59818 bytes (58 KB)
downloaded 58 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/ps_1.3.2.zip'
Content type 'application/zip' length 311193 bytes (303 KB)
downloaded 303 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/plyr_1.8.6.zip'
Content type 'application/zip' length 1311789 bytes (1.3 MB)
downloaded 1.3 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/testthat_2.3.2.zip'
Content type 'application/zip' length 1799683 bytes (1.7 MB)
downloaded 1.7 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/farver_2.0.3.zip'
Content type 'application/zip' length 1912135 bytes (1.8 MB)
downloaded 1.8 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/labeling_0.3.zip'
Content type 'application/zip' length 62937 bytes (61 KB)
downloaded 61 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/munsell_0.5.0.zip'
Content type 'application/zip' length 245856 bytes (240 KB)
downloaded 240 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/RColorBrewer_1.1-2.zip'
Content type 'application/zip' length 55569 bytes (54 KB)
downloaded 54 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/viridisLite_0.3.0.zip'
Content type 'application/zip' length 60729 bytes (59 KB)
downloaded 59 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/askpass_1.1.zip'
Content type 'application/zip' length 64691 bytes (63 KB)
downloaded 63 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/rematch_1.0.1.zip'
Content type 'application/zip' length 16114 bytes (15 KB)
downloaded 15 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/prettyunits_1.1.1.zip'
Content type 'application/zip' length 37617 bytes (36 KB)
downloaded 36 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/processx_3.4.2.zip'
Content type 'application/zip' length 428083 bytes (418 KB)
downloaded 418 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/backports_1.1.5.zip'
Content type 'application/zip' length 68649 bytes (67 KB)
downloaded 67 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/generics_0.0.2.zip'
Content type 'application/zip' length 65367 bytes (63 KB)
downloaded 63 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/reshape2_1.4.3.zip'
Content type 'application/zip' length 626328 bytes (611 KB)
downloaded 611 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/assertthat_0.2.1.zip'
Content type 'application/zip' length 54922 bytes (53 KB)
downloaded 53 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/fansi_0.4.1.zip'
Content type 'application/zip' length 223895 bytes (218 KB)
downloaded 218 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/R6_2.4.1.zip'
Content type 'application/zip' length 59297 bytes (57 KB)
downloaded 57 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/tidyselect_1.0.0.zip'
Content type 'application/zip' length 244673 bytes (238 KB)
downloaded 238 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/ellipsis_0.3.0.zip'
Content type 'application/zip' length 44551 bytes (43 KB)
downloaded 43 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/pkgconfig_2.0.3.zip'
Content type 'application/zip' length 22307 bytes (21 KB)
downloaded 21 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/BH_1.72.0-3.zip'
Content type 'application/zip' length 18270741 bytes (17.4 MB)
downloaded 17.4 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/plogr_0.2.0.zip'
Content type 'application/zip' length 18855 bytes (18 KB)
downloaded 18 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/gtable_0.3.0.zip'
Content type 'application/zip' length 434011 bytes (423 KB)
downloaded 423 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/isoband_0.2.0.zip'
Content type 'application/zip' length 2899951 bytes (2.8 MB)
downloaded 2.8 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/scales_1.1.0.zip'
Content type 'application/zip' length 554722 bytes (541 KB)
downloaded 541 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/withr_2.1.2.zip'
Content type 'application/zip' length 152278 bytes (148 KB)
downloaded 148 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/vctrs_0.2.4.zip'
Content type 'application/zip' length 1026941 bytes (1002 KB)
downloaded 1002 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/curl_4.3.zip'
Content type 'application/zip' length 4129210 bytes (3.9 MB)
downloaded 3.9 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/openssl_1.4.1.zip'
Content type 'application/zip' length 3971221 bytes (3.8 MB)
downloaded 3.8 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/utf8_1.1.4.zip'
Content type 'application/zip' length 215232 bytes (210 KB)
downloaded 210 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/clipr_0.7.0.zip'
Content type 'application/zip' length 52077 bytes (50 KB)
downloaded 50 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/cellranger_1.1.0.zip'
Content type 'application/zip' length 104937 bytes (102 KB)
downloaded 102 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/progress_1.2.2.zip'
Content type 'application/zip' length 85392 bytes (83 KB)
downloaded 83 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/callr_3.4.2.zip'
Content type 'application/zip' length 387520 bytes (378 KB)
downloaded 378 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/fs_1.3.2.zip'
Content type 'application/zip' length 989356 bytes (966 KB)
downloaded 966 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/whisker_0.4.zip'
Content type 'application/zip' length 83295 bytes (81 KB)
downloaded 81 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/selectr_0.4-2.zip'
Content type 'application/zip' length 494439 bytes (482 KB)
downloaded 482 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/lifecycle_0.2.0.zip'
Content type 'application/zip' length 101554 bytes (99 KB)
downloaded 99 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/e1071_1.7-3.zip'
Content type 'application/zip' length 1022673 bytes (998 KB)
downloaded 998 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/broom_0.5.5.zip'
Content type 'application/zip' length 1974271 bytes (1.9 MB)
downloaded 1.9 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/cli_2.0.2.zip'
Content type 'application/zip' length 398241 bytes (388 KB)
downloaded 388 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/crayon_1.3.4.zip'
Content type 'application/zip' length 750041 bytes (732 KB)
downloaded 732 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/dbplyr_1.4.2.zip'
Content type 'application/zip' length 603990 bytes (589 KB)
downloaded 589 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/dplyr_0.8.5.zip'
Content type 'application/zip' length 3229510 bytes (3.1 MB)
downloaded 3.1 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/forcats_0.5.0.zip'
Content type 'application/zip' length 356355 bytes (348 KB)
downloaded 348 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/ggplot2_3.3.0.zip'
Content type 'application/zip' length 4020700 bytes (3.8 MB)
downloaded 3.8 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/haven_2.2.0.zip'
Content type 'application/zip' length 1045338 bytes (1020 KB)
downloaded 1020 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/hms_0.5.3.zip'
Content type 'application/zip' length 109609 bytes (107 KB)
downloaded 107 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/httr_1.4.1.zip'
Content type 'application/zip' length 515022 bytes (502 KB)
downloaded 502 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/lubridate_1.7.4.zip'
Content type 'application/zip' length 1577992 bytes (1.5 MB)
downloaded 1.5 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/modelr_0.1.6.zip'
Content type 'application/zip' length 203302 bytes (198 KB)
downloaded 198 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/pillar_1.4.3.zip'
Content type 'application/zip' length 184511 bytes (180 KB)
downloaded 180 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/purrr_0.3.3.zip'
Content type 'application/zip' length 425620 bytes (415 KB)
downloaded 415 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/readr_1.3.1.zip'
Content type 'application/zip' length 1562889 bytes (1.5 MB)
downloaded 1.5 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/readxl_1.3.1.zip'
Content type 'application/zip' length 1524529 bytes (1.5 MB)
downloaded 1.5 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/reprex_0.3.0.zip'
Content type 'application/zip' length 430395 bytes (420 KB)
downloaded 420 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/rstudioapi_0.11.zip'
Content type 'application/zip' length 280935 bytes (274 KB)
downloaded 274 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/rvest_0.3.5.zip'
Content type 'application/zip' length 665264 bytes (649 KB)
downloaded 649 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/tibble_2.1.3.zip'
Content type 'application/zip' length 337452 bytes (329 KB)
downloaded 329 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/tidyr_1.0.2.zip'
Content type 'application/zip' length 1295353 bytes (1.2 MB)
downloaded 1.2 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/xml2_1.2.5.zip'
Content type 'application/zip' length 3498080 bytes (3.3 MB)
downloaded 3.3 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/classInt_0.4-2.zip'
Content type 'application/zip' length 90856 bytes (88 KB)
downloaded 88 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/DBI_1.1.0.zip'
Content type 'application/zip' length 607244 bytes (593 KB)
downloaded 593 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/units_0.6-5.zip'
Content type 'application/zip' length 1756224 bytes (1.7 MB)
downloaded 1.7 MB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/tidyverse_1.3.0.zip'
Content type 'application/zip' length 440114 bytes (429 KB)
downloaded 429 KB

probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/sf_0.8-1.zip'
Content type 'application/zip' length 39623129 bytes (37.8 MB)
downloaded 37.8 MB
package ‘desc’ successfully unpacked and MD5 sums checked
package ‘pkgbuild’ successfully unpacked and MD5 sums checked
package ‘rprojroot’ successfully unpacked and MD5 sums checked
package ‘pkgload’ successfully unpacked and MD5 sums checked
package ‘praise’ successfully unpacked and MD5 sums checked
package ‘colorspace’ successfully unpacked and MD5 sums checked
package ‘sys’ successfully unpacked and MD5 sums checked
package ‘ps’ successfully unpacked and MD5 sums checked
package ‘plyr’ successfully unpacked and MD5 sums checked
package ‘testthat’ successfully unpacked and MD5 sums checked
package ‘farver’ successfully unpacked and MD5 sums checked
package ‘labeling’ successfully unpacked and MD5 sums checked
package ‘munsell’ successfully unpacked and MD5 sums checked
package ‘RColorBrewer’ successfully unpacked and MD5 sums checked
package ‘viridisLite’ successfully unpacked and MD5 sums checked
package ‘askpass’ successfully unpacked and MD5 sums checked
package ‘rematch’ successfully unpacked and MD5 sums checked
package ‘prettyunits’ successfully unpacked and MD5 sums checked
package ‘processx’ successfully unpacked and MD5 sums checked
package ‘backports’ successfully unpacked and MD5 sums checked
package ‘generics’ successfully unpacked and MD5 sums checked
package ‘reshape2’ successfully unpacked and MD5 sums checked
package ‘assertthat’ successfully unpacked and MD5 sums checked
package ‘fansi’ successfully unpacked and MD5 sums checked
package ‘R6’ successfully unpacked and MD5 sums checked
package ‘tidyselect’ successfully unpacked and MD5 sums checked
package ‘ellipsis’ successfully unpacked and MD5 sums checked
package ‘pkgconfig’ successfully unpacked and MD5 sums checked
package ‘BH’ successfully unpacked and MD5 sums checked
package ‘plogr’ successfully unpacked and MD5 sums checked
package ‘gtable’ successfully unpacked and MD5 sums checked
package ‘isoband’ successfully unpacked and MD5 sums checked
package ‘scales’ successfully unpacked and MD5 sums checked
package ‘withr’ successfully unpacked and MD5 sums checked
package ‘vctrs’ successfully unpacked and MD5 sums checked
package ‘curl’ successfully unpacked and MD5 sums checked
package ‘openssl’ successfully unpacked and MD5 sums checked
package ‘utf8’ successfully unpacked and MD5 sums checked
package ‘clipr’ successfully unpacked and MD5 sums checked
package ‘cellranger’ successfully unpacked and MD5 sums checked
package ‘progress’ successfully unpacked and MD5 sums checked
package ‘callr’ successfully unpacked and MD5 sums checked
package ‘fs’ successfully unpacked and MD5 sums checked
package ‘whisker’ successfully unpacked and MD5 sums checked
package ‘selectr’ successfully unpacked and MD5 sums checked
package ‘lifecycle’ successfully unpacked and MD5 sums checked
package ‘e1071’ successfully unpacked and MD5 sums checked
package ‘broom’ successfully unpacked and MD5 sums checked
package ‘cli’ successfully unpacked and MD5 sums checked
package ‘crayon’ successfully unpacked and MD5 sums checked
package ‘dbplyr’ successfully unpacked and MD5 sums checked
package ‘dplyr’ successfully unpacked and MD5 sums checked
package ‘forcats’ successfully unpacked and MD5 sums checked
package ‘ggplot2’ successfully unpacked and MD5 sums checked
package ‘haven’ successfully unpacked and MD5 sums checked
package ‘hms’ successfully unpacked and MD5 sums checked
package ‘httr’ successfully unpacked and MD5 sums checked
package ‘lubridate’ successfully unpacked and MD5 sums checked
package ‘modelr’ successfully unpacked and MD5 sums checked
package ‘pillar’ successfully unpacked and MD5 sums checked
package ‘purrr’ successfully unpacked and MD5 sums checked
package ‘readr’ successfully unpacked and MD5 sums checked
package ‘readxl’ successfully unpacked and MD5 sums checked
package ‘reprex’ successfully unpacked and MD5 sums checked
package ‘rstudioapi’ successfully unpacked and MD5 sums checked
package ‘rvest’ successfully unpacked and MD5 sums checked
package ‘tibble’ successfully unpacked and MD5 sums checked
package ‘tidyr’ successfully unpacked and MD5 sums checked
package ‘xml2’ successfully unpacked and MD5 sums checked
package ‘classInt’ successfully unpacked and MD5 sums checked
package ‘DBI’ successfully unpacked and MD5 sums checked
package ‘units’ successfully unpacked and MD5 sums checked
package ‘tidyverse’ successfully unpacked and MD5 sums checked
package ‘sf’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\ASUS\AppData\Local\Temp\RtmpEHe6Uf\downloaded_packages

Se debe cargar las 2 librerias

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.0     ✓ purrr   0.3.3
## ✓ tibble  2.1.3     ✓ dplyr   0.8.5
## ✓ tidyr   1.0.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(sf)
## Linking to GEOS 3.5.1, GDAL 2.2.2, PROJ 4.9.2
  1. Lectura datos vectoriales

Se leere el archivo que representa los departamentos de Colombia,descargado de DIVA-GIS

deptos <-  read_sf("C:/Users/ASUS/Documents/ARAUCA/COL_adm1.shp")

Se conoce el contenido de “deptos” con:

head(deptos) 
Simple feature collection with 6 features and 9 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -77.149 ymin: -4.228429 xmax: -69.36835 ymax: 11.10792
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs

En la libreria “sf” se conoce los sistemas de referencia de los datos vectoriales usando la función “st_crs”

st_crs(deptos)
Coordinate Reference System:
  EPSG: 4326 
  proj4string: "+proj=longlat +datum=WGS84 +no_defs"
## Coordinate Reference System:
##   EPSG: 4326 
##   proj4string: "+proj=longlat +datum=WGS84 +no_defs"
  1. uso de “ggplot” para visualizar datos geoespaciales

Utilizar las funcionalidades de ggplot

ggplot() + geom_sf(data = deptos)

Se puede usar otro sistema de referencia para el comando de los datos

# The CRS 3978 is used in Canada
ggplot() + geom_sf(data = deptos) + coord_sf(crs=st_crs(3978))

Convertir de EPSG4326 a EPSG:32618

deptos_utm <- st_transform(deptos, crs = st_crs(32618))
deptos_utm
Simple feature collection with 32 features and 9 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -245935.3 ymin: -469204.3 xmax: 1407491 ymax: 1763314
epsg (SRID):    32618
proj4string:    +proj=utm +zone=18 +datum=WGS84 +units=m +no_defs
ggplot() + geom_sf(data = deptos_utm)

  1. Filtrar datos geoespaciales basados en atributos

Filtar el codigo para el departamento elegido

arauca <-  deptos %>%   filter(NAME_1 == "Arauca")
ggplot() + geom_sf(data = arauca)

munic <-  read_sf("C:/Users/ASUS/Documents/ARAUCA/COL_adm2.shp")
mun_arauca <- munic %>% filter(NAME_1 == "Arauca")
ggplot() + geom_sf(data = mun_arauca)

mun_arauca
Simple feature collection with 7 features and 11 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -72.42239 ymin: 5.988501 xmax: -69.43657 ymax: 7.092551
epsg (SRID):    4326
proj4string:    +proj=longlat +datum=WGS84 +no_defs
arauca_points<- st_centroid(mun_arauca)
st_centroid assumes attributes are constant over geometries of xst_centroid does not give correct centroids for longitude/latitude data
arauca_points <- cbind(mun_arauca, st_coordinates(st_centroid(mun_arauca$geometry)))

Otra alternativa de producir el comando es:

ggplot(arauca) +
    geom_sf() +
    geom_sf(data = arauca_points, fill = "antiquewhite") + 
    geom_text(data = arauca_points, aes(x=X, y=Y,label = ID_2), size = 2) +
    coord_sf(xlim = c(-72.42239 ymin: 5.988501 xmax: -69.43657 ymax: 7.092551), ylim = c(5.3, 9), expand = FALSE)
Error: unexpected symbol in:
"    geom_text(data = arauca_points, aes(x=X, y=Y,label = ID_2), size = 2) +
    coord_sf(xlim = c(-72.42239 ymin"
library(scales)
## 
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
## 
##     discard
## The following object is masked from 'package:readr':
## 
##     col_factor
ggplot(arauca) + 
  geom_sf(data=arauca_points, aes(x=X, y=Y, fill =
                                       ID_2), color = "black", size = 0.25) +
  geom_text(data = arauca_points, aes(x=X, y=Y,label = ID_2), size = 2) +
  theme(aspect.ratio=1)+
  scale_fill_distiller(name="ID_2", palette = "YlGn", breaks = pretty_breaks(n = 5))+
  labs(title="Another  Map of Arauca")
ggsave("arauca_municipios.pdf")
## Saving 7 x 5 in image
ggsave("map_arauca.png", width = 6, height = 6, dpi = "screen")

5.Usar “leaflet” para visualizar los datos

s Se instala la libreria requerida

install.packages("leaflet")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into 㤼㸱C:/Users/ASUS/Documents/R/win-library/3.6㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/leaflet_2.0.3.zip'
Content type 'application/zip' length 2335279 bytes (2.2 MB)
downloaded 2.2 MB
package ‘leaflet’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\ASUS\AppData\Local\Temp\RtmpEHe6Uf\downloaded_packages

Cargar la libreria

library(leaflet)

Se debe convertir a puntos espaciales para usar la libreria

ant_points <- as(arauca_points, 'Spatial')

Se debe ejecutar el siguiente comando

#head(ant_points)

Para tener el area de los municipios se debe instalar:

install.packages("lwgeom")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into 㤼㸱C:/Users/ASUS/Documents/R/win-library/3.6㤼㸲
(as 㤼㸱lib㤼㸲 is unspecified)
probando la URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/lwgeom_0.2-1.zip'
Content type 'application/zip' length 5355998 bytes (5.1 MB)
downloaded 5.1 MB
package ‘lwgeom’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\ASUS\AppData\Local\Temp\RtmpEHe6Uf\downloaded_packages
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6'
## (as 'lib' is unspecified

Cargar la libreria

library(lwgeom)
Linking to liblwgeom 3.0.0beta1 r16016, GEOS 3.6.1, PROJ 4.9.3

Se debe calcular el area del minucipio en metros

mun_arauca$area <- st_area(mun_arauca) #Take care of units

Se debe crear un nuevo campo para el area en kilometros

mun_arauca$km2 <- mun_arauca$area/(1000000)

Revisar

mun_arauca$km2
Units: [m^2]
[1] 5697.7959 1087.4702 5989.6469 1702.2164 4580.5997  898.6505 5381.4623

Se debe convertir a poligonos espaciales

ant_mun <- as(mun_arauca, 'Spatial')

Se debe ejecutar el siguiente codigo

#head(ant_mun)

Se prepara el comando

bins <- c(0, 50, 100, 200, 300, 500, 1000, 2000, Inf)
pal <- colorBin("YlOrRd", domain = ant_mun$km2, bins = bins)


labels <- mun_arauca$NAME_2

labels
[1] "Arauca"        "Arauquita"     "Cravo Norte"   "Fortul"       
[5] "Puerto Rondón" "Saravena"      "Tame"         

Crear el comando

m <- leaflet(ant_mun) %>%
  setView(-75.5, 7, 8)  %>% addPolygons(
  fillColor = ~pal(km2),
  weight = 2,
  opacity = 1,
  color = "white",
  dashArray = "3",
  fillOpacity = 0.7,
  highlight = highlightOptions(
    weight = 5,
    color = "#666",
    dashArray = "",
    fillOpacity = 0.7,
    bringToFront = TRUE),
  label = labels) %>%
  addLegend(pal = pal, values = ~km2, opacity = 0.7, title = NULL,
    position = "bottomright")

Observar

m

Otra forma de realizarlo es:

leaflet() %>%
  addProviderTiles(providers$Esri.WorldImagery, options= providerTileOptions(opacity = 0.99)) %>%
  addPolygons(data = ant_mun, popup= ant_mun$NAME_2,
    stroke = TRUE, fillOpacity = 0.25, smoothFactor = 0.25)

Para mejorar el mapa:

#leaflet() %>%
#  addProviderTiles(providers$
plot(cars)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIlRSQUJBSk8gR0VPTUFUSUNBIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCkRpZWdvIEFydHVybyBHb256YWxleiBEZWxnYWRpbGxvDQoNCjIzIGRlIG1hcnpvIGRlIDIwMjANCg0KMS5JbnRyb2R1Y2Npw7NuDQoNClByaW1lcm8gc2UgZGViZSBpbnN0YWxhciBsYXMgbGlicmVyaWFzIHJlcXVlcmlkYXMNCmBgYHtyfQ0KaW5zdGFsbC5wYWNrYWdlcyhjKCJ0aWR5dmVyc2UiLCAic2YiKSkNCmBgYA0KDQpTZSBkZWJlIGNhcmdhciBsYXMgMiBsaWJyZXJpYXMNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpgYGANCg0KYGBge3J9DQojIyDilIDilIAgQXR0YWNoaW5nIHBhY2thZ2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCB0aWR5dmVyc2UgMS4zLjAg4pSA4pSADQpgYGANCg0KYGBge3J9DQojIyDinJMgZ2dwbG90MiAzLjMuMCAgICAg4pyTIHB1cnJyICAgMC4zLjMNCiMjIOKckyB0aWJibGUgIDIuMS4zICAgICDinJMgZHBseXIgICAwLjguNQ0KIyMg4pyTIHRpZHlyICAgMS4wLjIgICAgIOKckyBzdHJpbmdyIDEuNC4wDQojIyDinJMgcmVhZHIgICAxLjMuMSAgICAg4pyTIGZvcmNhdHMgMC41LjANCmBgYA0KDQpgYGB7cn0NCiMjIOKUgOKUgCBDb25mbGljdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIHRpZHl2ZXJzZV9jb25mbGljdHMoKSDilIDilIANCiMjIHggZHBseXI6OmZpbHRlcigpIG1hc2tzIHN0YXRzOjpmaWx0ZXIoKQ0KIyMgeCBkcGx5cjo6bGFnKCkgICAgbWFza3Mgc3RhdHM6OmxhZygpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHNmKQ0KYGBgDQoNCmBgYHtyfQ0KIyMgTGlua2luZyB0byBHRU9TIDMuNS4xLCBHREFMIDIuMi4yLCBQUk9KIDQuOS4yDQoNCmBgYA0KDQoyLiBMZWN0dXJhIGRhdG9zIHZlY3RvcmlhbGVzDQoNClNlIGxlZXJlIGVsIGFyY2hpdm8gcXVlIHJlcHJlc2VudGEgbG9zIGRlcGFydGFtZW50b3MgZGUgQ29sb21iaWEsZGVzY2FyZ2FkbyBkZSBESVZBLUdJUw0KYGBge3J9DQpkZXB0b3MgPC0gIHJlYWRfc2YoIkM6L1VzZXJzL0FTVVMvRG9jdW1lbnRzL0FSQVVDQS9DT0xfYWRtMS5zaHAiKQ0KYGBgDQoNClNlIGNvbm9jZSBlbCBjb250ZW5pZG8gZGUgImRlcHRvcyIgY29uOg0KYGBge3J9DQpoZWFkKGRlcHRvcykgDQpgYGANCkVuIGxhIGxpYnJlcmlhICJzZiIgc2UgY29ub2NlIGxvcyBzaXN0ZW1hcyBkZSByZWZlcmVuY2lhIGRlIGxvcyBkYXRvcyB2ZWN0b3JpYWxlcyB1c2FuZG8gbGEgZnVuY2nDs24gInN0X2NycyINCmBgYHtyfQ0Kc3RfY3JzKGRlcHRvcykNCmBgYA0KDQpgYGB7cn0NCiMjIENvb3JkaW5hdGUgUmVmZXJlbmNlIFN5c3RlbToNCiMjICAgRVBTRzogNDMyNiANCiMjICAgcHJvajRzdHJpbmc6ICIrcHJvaj1sb25nbGF0ICtkYXR1bT1XR1M4NCArbm9fZGVmcyINCmBgYA0KDQozLiB1c28gZGUgImdncGxvdCIgcGFyYSB2aXN1YWxpemFyIGRhdG9zIGdlb2VzcGFjaWFsZXMNCg0KDQpVdGlsaXphciBsYXMgZnVuY2lvbmFsaWRhZGVzIGRlIGdncGxvdA0KYGBge3J9DQpnZ3Bsb3QoKSArIGdlb21fc2YoZGF0YSA9IGRlcHRvcykNCmBgYA0KU2UgcHVlZGUgdXNhciBvdHJvIHNpc3RlbWEgZGUgcmVmZXJlbmNpYSBwYXJhIGVsIGNvbWFuZG8gZGUgbG9zIGRhdG9zIA0KYGBge3J9DQojIFRoZSBDUlMgMzk3OCBpcyB1c2VkIGluIENhbmFkYQ0KZ2dwbG90KCkgKyBnZW9tX3NmKGRhdGEgPSBkZXB0b3MpICsgY29vcmRfc2YoY3JzPXN0X2NycygzOTc4KSkNCmBgYA0KDQpDb252ZXJ0aXIgZGUgRVBTRzQzMjYgYSBFUFNHOjMyNjE4DQpgYGB7cn0NCmRlcHRvc191dG0gPC0gc3RfdHJhbnNmb3JtKGRlcHRvcywgY3JzID0gc3RfY3JzKDMyNjE4KSkNCmBgYA0KDQoNCmBgYHtyfQ0KZGVwdG9zX3V0bQ0KYGBgDQpgYGB7cn0NCmdncGxvdCgpICsgZ2VvbV9zZihkYXRhID0gZGVwdG9zX3V0bSkNCmBgYA0KDQo0LiBGaWx0cmFyIGRhdG9zIGdlb2VzcGFjaWFsZXMgYmFzYWRvcyBlbiBhdHJpYnV0b3MgDQoNCkZpbHRhciBlbCBjb2RpZ28gcGFyYSBlbCBkZXBhcnRhbWVudG8gZWxlZ2lkbw0KYGBge3J9DQphcmF1Y2EgPC0gIGRlcHRvcyAlPiUgICBmaWx0ZXIoTkFNRV8xID09ICJBcmF1Y2EiKQ0KYGBgDQoNCmBgYHtyfQ0KZ2dwbG90KCkgKyBnZW9tX3NmKGRhdGEgPSBhcmF1Y2EpDQpgYGANCmBgYHtyfQ0KbXVuaWMgPC0gIHJlYWRfc2YoIkM6L1VzZXJzL0FTVVMvRG9jdW1lbnRzL0FSQVVDQS9DT0xfYWRtMi5zaHAiKQ0KbXVuX2FyYXVjYSA8LSBtdW5pYyAlPiUgZmlsdGVyKE5BTUVfMSA9PSAiQXJhdWNhIikNCmdncGxvdCgpICsgZ2VvbV9zZihkYXRhID0gbXVuX2FyYXVjYSkNCmBgYA0KYGBge3J9DQptdW5fYXJhdWNhDQpgYGANCg0KYGBge3J9DQphcmF1Y2FfcG9pbnRzPC0gc3RfY2VudHJvaWQobXVuX2FyYXVjYSkNCmBgYA0KDQoNCmBgYHtyfQ0KYXJhdWNhX3BvaW50cyA8LSBjYmluZChtdW5fYXJhdWNhLCBzdF9jb29yZGluYXRlcyhzdF9jZW50cm9pZChtdW5fYXJhdWNhJGdlb21ldHJ5KSkpDQpgYGANCg0KT3RyYSBhbHRlcm5hdGl2YSBkZSBwcm9kdWNpciBlbCBjb21hbmRvIGVzOg0KYGBge3J9DQpnZ3Bsb3QoYXJhdWNhKSArDQogICAgZ2VvbV9zZigpICsNCiAgICBnZW9tX3NmKGRhdGEgPSBhcmF1Y2FfcG9pbnRzLCBmaWxsID0gImFudGlxdWV3aGl0ZSIpICsgDQogICAgZ2VvbV90ZXh0KGRhdGEgPSBhcmF1Y2FfcG9pbnRzLCBhZXMoeD1YLCB5PVksbGFiZWwgPSBJRF8yKSwgc2l6ZSA9IDIpICsNCiAgICBjb29yZF9zZih4bGltID0gYygtNzIuNDIyMzkgeW1pbjogNS45ODg1MDEgeG1heDogLTY5LjQzNjU3IHltYXg6IDcuMDkyNTUxKSwgeWxpbSA9IGMoNS4zLCA5KSwgZXhwYW5kID0gRkFMU0UpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHNjYWxlcykNCg0KYGBgDQpgYGB7cn0NCiMjIA0KIyMgQXR0YWNoaW5nIHBhY2thZ2U6ICdzY2FsZXMnDQpgYGANCg0KYGBge3J9DQojIyBUaGUgZm9sbG93aW5nIG9iamVjdCBpcyBtYXNrZWQgZnJvbSAncGFja2FnZTpwdXJycic6DQojIyANCiMjICAgICBkaXNjYXJkDQpgYGANCg0KYGBge3J9DQojIyBUaGUgZm9sbG93aW5nIG9iamVjdCBpcyBtYXNrZWQgZnJvbSAncGFja2FnZTpyZWFkcic6DQojIyANCiMjICAgICBjb2xfZmFjdG9yDQpgYGANCg0KYGBge3J9DQpnZ3Bsb3QoYXJhdWNhKSArIA0KICBnZW9tX3NmKGRhdGE9YXJhdWNhX3BvaW50cywgYWVzKHg9WCwgeT1ZLCBmaWxsID0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElEXzIpLCBjb2xvciA9ICJibGFjayIsIHNpemUgPSAwLjI1KSArDQogIGdlb21fdGV4dChkYXRhID0gYXJhdWNhX3BvaW50cywgYWVzKHg9WCwgeT1ZLGxhYmVsID0gSURfMiksIHNpemUgPSAyKSArDQogIHRoZW1lKGFzcGVjdC5yYXRpbz0xKSsNCiAgc2NhbGVfZmlsbF9kaXN0aWxsZXIobmFtZT0iSURfMiIsIHBhbGV0dGUgPSAiWWxHbiIsIGJyZWFrcyA9IHByZXR0eV9icmVha3MobiA9IDUpKSsNCiAgbGFicyh0aXRsZT0iQW5vdGhlciAgTWFwIG9mIEFyYXVjYSIpDQpgYGANCmBgYHtyfQ0KZ2dzYXZlKCJhcmF1Y2FfbXVuaWNpcGlvcy5wZGYiKQ0KYGBgDQoNCmBgYHtyfQ0KIyMgU2F2aW5nIDcgeCA1IGluIGltYWdlDQpgYGANCg0KYGBge3J9DQpnZ3NhdmUoIm1hcF9hcmF1Y2EucG5nIiwgd2lkdGggPSA2LCBoZWlnaHQgPSA2LCBkcGkgPSAic2NyZWVuIikNCmBgYA0KDQoNCjUuVXNhciAibGVhZmxldCIgcGFyYSB2aXN1YWxpemFyIGxvcyBkYXRvcyANCg0KcyBTZSBpbnN0YWxhIGxhIGxpYnJlcmlhIHJlcXVlcmlkYQ0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKCJsZWFmbGV0IikNCmBgYA0KQ2FyZ2FyIGxhIGxpYnJlcmlhDQpgYGB7cn0NCmxpYnJhcnkobGVhZmxldCkNCmBgYA0KDQpTZSBkZWJlIGNvbnZlcnRpciBhIHB1bnRvcyBlc3BhY2lhbGVzIHBhcmEgdXNhciBsYSBsaWJyZXJpYSANCmBgYHtyfQ0KYW50X3BvaW50cyA8LSBhcyhhcmF1Y2FfcG9pbnRzLCAnU3BhdGlhbCcpDQpgYGANCg0KU2UgZGViZSBlamVjdXRhciBlbCBzaWd1aWVudGUgY29tYW5kbw0KYGBge3J9DQojaGVhZChhbnRfcG9pbnRzKQ0KYGBgDQoNClBhcmEgdGVuZXIgZWwgYXJlYSBkZSBsb3MgbXVuaWNpcGlvcyBzZSBkZWJlIGluc3RhbGFyOg0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKCJsd2dlb20iKQ0KYGBgDQoNCmBgYHtyfQ0KIyMgSW5zdGFsbGluZyBwYWNrYWdlIGludG8gJy9ob21lL3JzdHVkaW8tdXNlci9SL3g4Nl82NC1wYy1saW51eC1nbnUtbGlicmFyeS8zLjYnDQojIyAoYXMgJ2xpYicgaXMgdW5zcGVjaWZpZWQNCmBgYA0KDQpDYXJnYXIgbGEgbGlicmVyaWENCmBgYHtyfQ0KbGlicmFyeShsd2dlb20pDQpgYGANClNlIGRlYmUgY2FsY3VsYXIgZWwgYXJlYSBkZWwgbWludWNpcGlvIGVuIG1ldHJvcw0KYGBge3J9DQptdW5fYXJhdWNhJGFyZWEgPC0gc3RfYXJlYShtdW5fYXJhdWNhKSAjVGFrZSBjYXJlIG9mIHVuaXRzDQpgYGANCg0KU2UgZGViZSBjcmVhciB1biBudWV2byBjYW1wbyBwYXJhIGVsIGFyZWEgZW4ga2lsb21ldHJvcw0KYGBge3J9DQptdW5fYXJhdWNhJGttMiA8LSBtdW5fYXJhdWNhJGFyZWEvKDEwMDAwMDApDQpgYGANCg0KUmV2aXNhcg0KYGBge3J9DQptdW5fYXJhdWNhJGttMg0KYGBgDQoNClNlIGRlYmUgY29udmVydGlyIGEgcG9saWdvbm9zIGVzcGFjaWFsZXMNCmBgYHtyfQ0KYW50X211biA8LSBhcyhtdW5fYXJhdWNhLCAnU3BhdGlhbCcpDQpgYGANCg0KU2UgZGViZSBlamVjdXRhciBlbCBzaWd1aWVudGUgY29kaWdvDQpgYGB7cn0NCiNoZWFkKGFudF9tdW4pDQpgYGANCg0KDQpTZSBwcmVwYXJhIGVsIGNvbWFuZG8NCmBgYHtyfQ0KYmlucyA8LSBjKDAsIDUwLCAxMDAsIDIwMCwgMzAwLCA1MDAsIDEwMDAsIDIwMDAsIEluZikNCnBhbCA8LSBjb2xvckJpbigiWWxPclJkIiwgZG9tYWluID0gYW50X211biRrbTIsIGJpbnMgPSBiaW5zKQ0KDQoNCmxhYmVscyA8LSBtdW5fYXJhdWNhJE5BTUVfMg0KDQpsYWJlbHMNCmBgYA0KDQpDcmVhciBlbCBjb21hbmRvIA0KYGBge3J9DQptIDwtIGxlYWZsZXQoYW50X211bikgJT4lDQogIHNldFZpZXcoLTc1LjUsIDcsIDgpICAlPiUgYWRkUG9seWdvbnMoDQogIGZpbGxDb2xvciA9IH5wYWwoa20yKSwNCiAgd2VpZ2h0ID0gMiwNCiAgb3BhY2l0eSA9IDEsDQogIGNvbG9yID0gIndoaXRlIiwNCiAgZGFzaEFycmF5ID0gIjMiLA0KICBmaWxsT3BhY2l0eSA9IDAuNywNCiAgaGlnaGxpZ2h0ID0gaGlnaGxpZ2h0T3B0aW9ucygNCiAgICB3ZWlnaHQgPSA1LA0KICAgIGNvbG9yID0gIiM2NjYiLA0KICAgIGRhc2hBcnJheSA9ICIiLA0KICAgIGZpbGxPcGFjaXR5ID0gMC43LA0KICAgIGJyaW5nVG9Gcm9udCA9IFRSVUUpLA0KICBsYWJlbCA9IGxhYmVscykgJT4lDQogIGFkZExlZ2VuZChwYWwgPSBwYWwsIHZhbHVlcyA9IH5rbTIsIG9wYWNpdHkgPSAwLjcsIHRpdGxlID0gTlVMTCwNCiAgICBwb3NpdGlvbiA9ICJib3R0b21yaWdodCIpDQpgYGANCg0KT2JzZXJ2YXIgDQpgYGB7cn0NCm0NCmBgYA0KDQpPdHJhIGZvcm1hIGRlIHJlYWxpemFybG8gZXM6DQpgYGB7cn0NCmxlYWZsZXQoKSAlPiUNCiAgYWRkUHJvdmlkZXJUaWxlcyhwcm92aWRlcnMkRXNyaS5Xb3JsZEltYWdlcnksIG9wdGlvbnM9IHByb3ZpZGVyVGlsZU9wdGlvbnMob3BhY2l0eSA9IDAuOTkpKSAlPiUNCiAgYWRkUG9seWdvbnMoZGF0YSA9IGFudF9tdW4sIHBvcHVwPSBhbnRfbXVuJE5BTUVfMiwNCiAgICBzdHJva2UgPSBUUlVFLCBmaWxsT3BhY2l0eSA9IDAuMjUsIHNtb290aEZhY3RvciA9IDAuMjUpDQpgYGANClBhcmEgbWVqb3JhciBlbCBtYXBhOg0KYGBge3J9DQojbGVhZmxldCgpICU+JQ0KIyAgYWRkUHJvdmlkZXJUaWxlcyhwcm92aWRlcnMkDQpgYGANCg0KDQpgYGB7cn0NCnBsb3QoY2FycykNCmBgYA0KDQpBZGQgYSBuZXcgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpJbnNlcnQgQ2h1bmsqIGJ1dHRvbiBvbiB0aGUgdG9vbGJhciBvciBieSBwcmVzc2luZyAqQ3RybCtBbHQrSSouDQoNCldoZW4geW91IHNhdmUgdGhlIG5vdGVib29rLCBhbiBIVE1MIGZpbGUgY29udGFpbmluZyB0aGUgY29kZSBhbmQgb3V0cHV0IHdpbGwgYmUgc2F2ZWQgYWxvbmdzaWRlIGl0IChjbGljayB0aGUgKlByZXZpZXcqIGJ1dHRvbiBvciBwcmVzcyAqQ3RybCtTaGlmdCtLKiB0byBwcmV2aWV3IHRoZSBIVE1MIGZpbGUpLg0KDQpUaGUgcHJldmlldyBzaG93cyB5b3UgYSByZW5kZXJlZCBIVE1MIGNvcHkgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBlZGl0b3IuIENvbnNlcXVlbnRseSwgdW5saWtlICpLbml0KiwgKlByZXZpZXcqIGRvZXMgbm90IHJ1biBhbnkgUiBjb2RlIGNodW5rcy4gSW5zdGVhZCwgdGhlIG91dHB1dCBvZiB0aGUgY2h1bmsgd2hlbiBpdCB3YXMgbGFzdCBydW4gaW4gdGhlIGVkaXRvciBpcyBkaXNwbGF5ZWQuDQo=