{"id":467,"date":"2024-04-06T17:47:53","date_gmt":"2024-04-06T17:47:53","guid":{"rendered":"https:\/\/agustincastro.es\/?p=467"},"modified":"2026-01-24T13:22:03","modified_gmt":"2026-01-24T13:22:03","slug":"geocoding_basico","status":"publish","type":"post","link":"https:\/\/agustincastro.es\/index.php\/2024\/04\/06\/geocoding_basico\/","title":{"rendered":"Lo b\u00e1sico en geocodificaci\u00f3n y mapas con tidygeocoder y mapview"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este caso pr\u00e1ctico \u00ab<strong>Geocodificamos las direcciones de los Centros comerciales de Bogot\u00e1<\/strong>\u00ab, seg\u00fan el dataset publicado en Kaggle: <a href=\"https:\/\/www.kaggle.com\/datasets\/erik172\/bogota-shopping-malls\">https:\/\/www.kaggle.com\/datasets\/erik172\/bogota-shopping-malls<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizaremos la librer\u00edas <strong>tidygeocoder <\/strong>para obtener los valores de longitud y latitud, seg\u00fan las direcciones de los centros y, <strong>mapview <\/strong>para la creaci\u00f3n del mapa en el que se localizar\u00e1 espacialmente a estos mediante puntos. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tras realizar varias pruebas he podido comprobar que se producen menos errores si la direcci\u00f3n para la que quieren obtenerse las coordenadas geogr\u00e1ficas se encuentra 1) en un \u00fanico campo y 2) incluye otros datos como localidad, provincia, pa\u00eds&#8230; Para eso utilizo en este ejemplo <strong>unite <\/strong>y <strong>paste0<\/strong>, con el fin de crear la nueva variable <strong>direccion <\/strong>como suma de las variables <strong>ADDRESS<\/strong>, <strong>LOCALIDAD <\/strong>y, la palabra \u00ab<strong>BOGOT\u00c1<\/strong>\u00ab. Al a\u00f1adir esta \u00faltima consegu\u00ed evitar unas cuantas coordenadas err\u00f3neas, fuera incluso del pa\u00eds de Colombia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En tidygeocoder::geocode(&#8230;. method = \u00ab<strong>osm<\/strong>\u00ab) se indica el uso de OPEN STREEN MAP para el c\u00e1lculo de estas coordenadas. El dataset contaba con las direcciones de 42 centros comerciales pero tras el proceso quedaron 14 de ellos sin geolocalizar (obteni\u00e9ndose en esos casos <strong>NAs <\/strong>para las variables de latitud y longitud). Ahora toca averiguar si es como consecuencia de que las direcciones son err\u00f3neas, est\u00e1n escritas incorrectamente o es que a Open Street Map le falta informaci\u00f3n. Se que existe la posibilidad de usar otras opciones de pago pero la intenci\u00f3n aqu\u00ed era hacer una prueba r\u00e1pida de lo que se pod\u00eda obtener con <strong>tidygeocoder<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El dataset original cuenta originalmente con variables latitud y longitud. Las elimin\u00e9 para realizar el c\u00e1lculo a partir de las direcciones, con <strong>tidygeocoder<\/strong>.  La idea utilizar esta librer\u00eda y ver el resultado. La falta de coordenadas para 14 de los 43 centros comerciales (aprox 33%) genera un problema que debe ser resuelto estudiando con detalle la forma en que se han escrito las direcciones o, las particularidades que pudiera tener open street map con respecto a la disponibilidad de esta informaci\u00f3n. Por lo dem\u00e1s, como suele ocurrir en R, el m\u00e9todo y proceso resulta bastante sencillo y, con pocas l\u00edneas de c\u00f3digo (muy sencillo adem\u00e1s) es posible obtener resultados a partir de donde comenzar a trabajar.     <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"797\" height=\"81\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-2.png\" alt=\"\" class=\"wp-image-473 lazyload\" style=\"--smush-placeholder-width: 797px; --smush-placeholder-aspect-ratio: 797\/81;width:840px;height:auto\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-2.png 797w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-2-300x30.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-2-768x78.png 768w\" data-sizes=\"(max-width: 797px) 100vw, 797px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"969\" height=\"679\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/a1-1.png\" alt=\"\" class=\"wp-image-470 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/a1-1.png 969w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/a1-1-300x210.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/a1-1-768x538.png 768w\" data-sizes=\"(max-width: 969px) 100vw, 969px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 969px; --smush-placeholder-aspect-ratio: 969\/679;\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"426\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01-1024x426.png\" alt=\"\" class=\"wp-image-471 lazyload\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/426;width:840px;height:auto\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01-1024x426.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01-300x125.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01-768x320.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01-1536x639.png 1536w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/Rplot01.png 1793w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"793\" height=\"453\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-1.png\" alt=\"\" class=\"wp-image-472 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-1.png 793w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-1-300x171.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2024\/04\/image-1-768x439.png 768w\" data-sizes=\"(max-width: 793px) 100vw, 793px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 793px; --smush-placeholder-aspect-ratio: 793\/453;\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este caso pr\u00e1ctico \u00abGeocodificamos las direcciones de los Centros comerciales de Bogot\u00e1\u00ab, seg\u00fan el dataset publicado en Kaggle: https:\/\/www.kaggle.com\/datasets\/erik172\/bogota-shopping-malls Utilizaremos la librer\u00edas tidygeocoder para obtener los valores de longitud y latitud, seg\u00fan las direcciones de los centros y, mapview para la creaci\u00f3n del mapa en el que se localizar\u00e1 espacialmente a estos mediante puntos. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":471,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[],"class_list":["post-467","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r","category-tecnica-y-practica"],"_links":{"self":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/comments?post=467"}],"version-history":[{"count":5,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/467\/revisions"}],"predecessor-version":[{"id":479,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/467\/revisions\/479"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media\/471"}],"wp:attachment":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media?parent=467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/categories?post=467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/tags?post=467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}