Uso de Mapas interactivos con Leaflet
Listado bibliotecas a usar:
readr
Esta biblioteca permite el uso y manejo de archivos de tipo csv y
txt
Leaflet
Leaflet es una biblioteca JavaScript de código abierto que se utiliza
para crear aplicaciones de mapas web. es compatible con la mayoría de
las plataformas móviles y de escritorio, y admite HTML5 y CSS3.
--------------------------------------------------------------------------------------------
Caso práctico de Leaflet
Leaflet - Contenedor
mapabase_001 <- leaflet()
mapabase_001
MAPA BASE - OpenStreetMap - GRIDS (Rejillas) - HTML
mapabase_001 <- leaflet() %>%
addTiles()
mapabase_001
Relacionar csv con el mapa
Ahora aplicamos esos campos del archivo para los marcadores:
mapa_003 <- leaflet(lat_lng_lugar_mx) %>%
addTiles() %>%
setView(lat =19.4324501 ,lng =-99.1337679 ,zoom = 16) %>%
addMarkers(lat =~latitud ,lng =~longitud ,popup =~lugar )
mapa_003
AÑADIR MULTIPLES MARCADORES - DATA FRAMES
Ahora utilizamos un dataframe como fuente para incluir los multiples
marcadores en el mapa:
cent_hist_001 <- data.frame(lugar=c("<b>PALACIO DE GOBIERNO</b>","<b>MUNICIPALIDAD DE CD MEX</b>","<b>CATEDRAL DE CD MEX</b>"),
latitud=c(19.4324501,19.4316534,19.4340968),
longitud=c(-99.1319000,-99.134148,-99.1329472))
mapa_004 <- leaflet(data =cent_hist_001 ) %>%
addTiles() %>%
setView(lat =19.4324501 ,lng =-99.1337679 ,zoom = 16) %>%
addMarkers(lat =~latitud ,lng =~longitud ,popup =~lugar )
mapa_004
htmlwidgets::saveWidget(mapa_004,"C:/jupyter_src/Mapas_R/resultado/mapa_004.html")
LS0tDQp0aXRsZTogIlVzbyBkZSBNYXBhcyBpbnRlcmFjdGl2b3MgY29uIExlYWZsZXQiDQphdXRob3I6ICJTdXNhbmEgUm9kcmlndWV6Ig0KZGF0ZTogIjIwMjMtMTAtMDYiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBmbGF0bHkNCi0tLQ0KDQo8IS0tIGRvY3VtZW50byByIG1hcmtkb3duIGRlbCB1c28gZGUgbGVhZmxldCB5IFIgY29uIGFyY2hpdm9zIC0tPg0KDQojIFVzbyBkZSBNYXBhcyBpbnRlcmFjdGl2b3MgY29uIExlYWZsZXQNCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQoNCmxpYnJhcnkocmVhZHIpDQpsaWJyYXJ5KGh0bWx3aWRnZXRzKQ0KbGlicmFyeShsZWFmbGV0KQ0KDQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyMgTGlzdGFkbyBiaWJsaW90ZWNhcyBhIHVzYXI6DQoNCiMjIyByZWFkcg0KDQpFc3RhIGJpYmxpb3RlY2EgcGVybWl0ZSBlbCB1c28geSBtYW5lam8gZGUgYXJjaGl2b3MgZGUgdGlwbyBjc3YgeSB0eHQNCg0KIyMjIGh0bWx3aWRnZXRzDQoNCkVzdGEgYmlibGlvdGVjYSBzZSB1dGlsaXphIHBhcmEgZ2VuZXJhciBlbCBkb2N1bWVudG8gaHRtbCBkZWwgbWFwYSB5IGxvcyBtYXJjYWRvcmVzIGFwbGljYWRvcy4NCg0KIyMjIExlYWZsZXQNCg0KTGVhZmxldCBlcyB1bmEgYmlibGlvdGVjYSBKYXZhU2NyaXB0IGRlIGPDs2RpZ28gYWJpZXJ0byBxdWUgc2UgdXRpbGl6YSBwYXJhIGNyZWFyIGFwbGljYWNpb25lcyBkZSBtYXBhcyB3ZWIuIGVzIGNvbXBhdGlibGUgY29uIGxhIG1heW9yw61hIGRlIGxhcyBwbGF0YWZvcm1hcyBtw7N2aWxlcyB5IGRlIGVzY3JpdG9yaW8sIHkgYWRtaXRlIEhUTUw1IHkgQ1NTMy4NCg0KXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC1cLVwtXC0tDQoNCiMjIENhc28gcHLDoWN0aWNvIGRlIExlYWZsZXQNCg0KIyMjIExlYWZsZXQgLSBDb250ZW5lZG9yDQoNCmBgYHtyfQ0KDQptYXBhYmFzZV8wMDEgPC0gbGVhZmxldCgpDQptYXBhYmFzZV8wMDEgDQoNCmBgYA0KDQojIyMgTUFQQSBCQVNFIC0gT3BlblN0cmVldE1hcCAtIEdSSURTIChSZWppbGxhcykgLSBIVE1MDQoNCmBgYHtyfQ0KbWFwYWJhc2VfMDAxIDwtIGxlYWZsZXQoKSAlPiUgDQogIGFkZFRpbGVzKCkNCm1hcGFiYXNlXzAwMQ0KDQpgYGANCg0KIyMjIExBVElUVUQgLSBMT05HSVRVRCAtIE1BUkNBRE9SIC0gU0VUVklFVyAtIFBPUFVQIC0gSFRNTA0KDQpHZW5lcmFtb3MgbWFyY2Fkb3JlcyB1dGlsaXphbmRvIGxhIGxhdGl0dWQgeSBsb25naXR1ZCBkZSBjYWRhIHNpdGlvIHF1ZSBkZXNlYW1vcyBpbmNsdWlyOg0KDQpQYWxhY2lvIGRlIEdvYmllcm5vOiAxOS40MzI0NTAxLC05OS4xMzE5MDAwDQoNCkNhdGVkcmFsOiAxOS40MzI0NTAxLC05OS4xMzYzNDI4DQoNCmBgYHtyfQ0KbWFwYV8wMDEgPC0gbGVhZmxldCgpICU+JSANCiAgYWRkVGlsZXMoKSAlPiUgDQogIHNldFZpZXcobGF0ID0xOS40MzI0NTAxICxsbmcgPS05OS4xMzM3Njc5ICx6b29tID0gMTYpICU+JSANCiAgYWRkTWFya2VycyhsYXQ9MTkuNDMyNDUwMSxsbmc9LTk5LjEzMTkwMDAscG9wdXAgPSAiPGI+UEFMQUNJTyBERSBHT0JJRVJOTzwvYj4iKQ0KbWFwYV8wMDEgDQoNCmBgYA0KDQojIyMgTVVMVElQTEVTIE1BUkNBRE9SRVMgLSBMQVRJVFVEIC0gTE9OR0lUVUQgLSBNQVJDQURPUkVTIC0gU0VUVklFVyAtIFBPUFVQIC0gSFRNTA0KDQojIyMjIElNUE9SVEFSIFJFR0lTVFJPUyBERVNERSBBUkNISVZPUyBUWFQgLSBDU1YNCg0KUHJpbWVybyBjYXJnYW1vcyBhcmNoaXZvIHF1ZSBjb250aWVuZSBsYXRpdHVkLCBsb25naXR1ZCB5IGVsIGNvbG9yIGEgYXBsaWNhciBlbiBtYXJjYWRvciBkZSBydXRhDQoNCmBgYHtyfQ0KbGF0X2xuZ19sdWdhcl9teCA8LSByZWFkX2NzdigiQzovanVweXRlcl9zcmMvTWFwYXNfUi9sYXRfbG5nX2x1Z2FyX214LnR4dCIsIHNob3dfY29sX3R5cGVzID0gRkFMU0UpDQpWaWV3KGxhdF9sbmdfbHVnYXJfbXgpDQpgYGANCg0KIyMjIFJlbGFjaW9uYXIgY3N2IGNvbiBlbCBtYXBhDQoNCkFob3JhIGFwbGljYW1vcyBlc29zIGNhbXBvcyBkZWwgYXJjaGl2byBwYXJhIGxvcyBtYXJjYWRvcmVzOg0KDQpgYGB7cn0NCm1hcGFfMDAzIDwtIGxlYWZsZXQobGF0X2xuZ19sdWdhcl9teCkgJT4lIA0KICBhZGRUaWxlcygpICU+JQ0KICBzZXRWaWV3KGxhdCA9MTkuNDMyNDUwMSAsbG5nID0tOTkuMTMzNzY3OSAsem9vbSA9IDE2KSAlPiUgDQogIGFkZE1hcmtlcnMobGF0ID1+bGF0aXR1ZCAsbG5nID1+bG9uZ2l0dWQgLHBvcHVwID1+bHVnYXIgKQ0KbWFwYV8wMDMNCg0KYGBgDQoNCiMjIyBHZW5lcmFyIGFyY2hpdm8gZGUgbWFwYSBpbnRlcmFjdGl2byBlbiBmb3JtYXRvIGh0bWwNCg0KRmluYWxtZW50ZSBnZW5lcmFtb3MgZWwgYXJjaGl2byBodG1sIGRlIG1hcGE6DQoNCmBgYHtyfQ0KaHRtbHdpZGdldHM6OnNhdmVXaWRnZXQobWFwYV8wMDMsIkM6L2p1cHl0ZXJfc3JjL01hcGFzX1IvcmVzdWx0YWRvL21hcGFfMDAzLmh0bWwiKQ0KYGBgDQoNCiMjIyBBw5FBRElSIE1VTFRJUExFUyBNQVJDQURPUkVTIC0gREFUQSBGUkFNRVMNCg0KQWhvcmEgdXRpbGl6YW1vcyB1biBkYXRhZnJhbWUgY29tbyBmdWVudGUgcGFyYSBpbmNsdWlyIGxvcyBtdWx0aXBsZXMgbWFyY2Fkb3JlcyBlbiBlbCBtYXBhOg0KDQpgYGB7cn0NCmNlbnRfaGlzdF8wMDEgPC0gZGF0YS5mcmFtZShsdWdhcj1jKCI8Yj5QQUxBQ0lPIERFIEdPQklFUk5PPC9iPiIsIjxiPk1VTklDSVBBTElEQUQgREUgQ0QgTUVYPC9iPiIsIjxiPkNBVEVEUkFMIERFIENEIE1FWDwvYj4iKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkPWMoMTkuNDMyNDUwMSwxOS40MzE2NTM0LDE5LjQzNDA5NjgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkPWMoLTk5LjEzMTkwMDAsLTk5LjEzNDE0OCwtOTkuMTMyOTQ3MikpDQoNCg0KbWFwYV8wMDQgPC0gbGVhZmxldChkYXRhID1jZW50X2hpc3RfMDAxICkgJT4lIA0KICBhZGRUaWxlcygpICU+JSANCiAgc2V0VmlldyhsYXQgPTE5LjQzMjQ1MDEgLGxuZyA9LTk5LjEzMzc2NzkgLHpvb20gPSAxNikgJT4lIA0KICBhZGRNYXJrZXJzKGxhdCA9fmxhdGl0dWQgLGxuZyA9fmxvbmdpdHVkICxwb3B1cCA9fmx1Z2FyICkNCm1hcGFfMDA0DQoNCmh0bWx3aWRnZXRzOjpzYXZlV2lkZ2V0KG1hcGFfMDA0LCJDOi9qdXB5dGVyX3NyYy9NYXBhc19SL3Jlc3VsdGFkby9tYXBhXzAwNC5odG1sIikNCg0KYGBgDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K