R has been an all rounder. Be it the implementation of any esoteric statistical algorithm, any database technology or geo-spatial plotting, R has it all and every day new packages are being written to implement new and exciting functionality in R. In some of the previous posts I’ve talked about how we can produce geo-spatial plots in R using ggplot2() and ggmap(). One of the downsides of using basic ggplot2() along with ggmap() is that you can only get static plots!!! There is no interactivity whatsoever and frankly speaking Google maps don’t look that good, with only vanilla ‘stamen’ and ‘satellite’ view.
We as netizens and mobile based app users are habitual to consuming maps produced via projects such as Map box or OpenStreetMap. And frankly speaking these maps look way better than Google maps.
So, the open source R community came up with “leaflet()” package. This one implements the famous java mapping library of the same name, in R. Now one can add popups and markers on the maps.
Below is the sample implementation of code from leaflet() package. The data was taken from https://data.cityofnewyork.us/Housing-Development/Primary-Residential-Zoning-by-lot/ieyi-rqs and this data is about the primary residential zoning lots in Newyork.
setwd(“/media/ramius/E2A02905A028E1B1/Work/Jigsaw Academy/DataScience”) library(leaflet) library(magrittr) library(rgdal) library(dplyr) library(rgeos) library(maptools) sf<-readOGR(dsn=“Primary_Residential_Zoning_by_lot”,‘EDC_PrimaryZoningResidential_001_14AUG2009’)
## OGR data source with driver: ESRI Shapefile ## Source: “Primary_Residential_Zoning_by_lot”, layer: “EDC_PrimaryZoningResidential_001_14AUG2009” ## with 5 features ## It has 2 fields
#https://data.cityofnewyork.us/Housing-Development/Primary-Residential-Zoning-by-lot/ieyi-rqsn class(sf)#The data object is a Polygons object
## [1] “SpatialPolygonsDataFrame” ## attr(,”package”) ## [1] “sp”
head(sf@data)
## ID Zone ## 0 848374 R ## 1 848375 R ## 2 848376 R ## 3 848377 R ## 4 848378 R
head(sf@bbox) #Notice the bounds of map
## min max ## x 913128.9 1067317 ## y 120858.3 272823
sf<-spTransform(sf,CRS(“+init=epsg:4238”)) m = leaflet() %>% addTiles() m = m %>% setView((-74.25544+-73.69992)/2, (40.49817+40.91549)/2, zoom = 10) m%>%addPolygons(data = sf, color = “red”, weight = 2)%>%addPopups(lng =-74.25544,lat =40.49817,popup = “Popup” )
As can be seen the map view is better than that produced by ggplot2()-ggmap() combo. Also the lines of code required to produce this plot are far less.
Interested in learning about other Analytics and Big Data tools and techniques? Click on our course links and explore more.
Suggested Read:
The Wonderful World of Geospatial Visualizations Explained in 2 Minutes
How Upshot is Using Interactive Visualizations to Make Online News Fun and Interactive
Fill in the details to know more
Important Artificial Intelligence Tools
October 31, 2022
Top 28 Data Analytics Tools For Data Analysts | UNext
September 27, 2022
Stringi Package in R
May 5, 2022
Best Frameworks In Java You Should Know In 2021
May 5, 2021
Lean Management Tools: An Ultimate Overview For 2021
May 4, 2021
Talend ETL: An Interesting Guide In 4 Points