Changes

Jump to navigation Jump to search
2,321 bytes added ,  13:34, 21 September 2020
no edit summary
{{Project|Has project output=|Has sponsor= Quick Guide McNair Center|Has title=Mapping on R|Has owner=Albert Nabiullin,|Has keywords=Tool|Has project status=Complete}}== Interactive Maps==
*Make sure you have downloaded ===Mapping with Leaflet=== [[Image:leaflet.png|200px|thumb|right|Interactive map on Leaflet]][[Image:marker.png|200px|thumb|right|Interactive map with Markers]] Leaflet is one of the RgoogleMaps most popular open-source JavaScript libraries for interactive maps. This R packagemakes it easy to integrate and control Leaflet maps in R. Introduction: https://rstudio.github.io/leaflet/ <br>Markers: https://rstudio. github.io/leaflet/markers.html <br>Github: https://github.com/rstudio/leaflet <br> Features*Interactive panning/zooming* codeCompose maps using arbitrary combinations of: library(Rgooglemaps) *Map tiles *Markers *Polygons *Lines *Popups *GeoJSON* Create a base map maps right from the R console or RStudio*Embed maps in knitr/R Markdown documents and Shiny apps*find geocode for center of desired mapEasily render Spatial objects from the sp package, adjust zoom as neededor data frames with latitude/longitude columns*Use map bounds and mouse events to drive Shiny logic *example code (for map of North America)Sample Code: newmap SBDE <- GetMap(center = cread.csv(39, -95), zoom = 3, destfile = "NorthAmericaSBDE.pngcsv")#Import the CSV file with your data set library(leaflet) #Use the leaflet library*Transform addresses into geocode via http://www.geocodezip.com/v3_example_geo2.asp?addr1 #data(SBDE) m <- leaflet(data =UnitedSBDE) %>%20States#Define your map with the data you specified earlier addTiles() %20of>%20America&geocode=1*Plot # Add default OpenStreetMap map, adjust variablestiles. Make sure to use the %>% symbol!** example code: PlotOnStaticMap addMarkers(newmap~longitude, lat ~latitude, popup = c~as.character(30.268606, 41.888519link))%>% #Add points on your map addLegend("bottomright", lon colors= c(-97.740467"#1878cd", -87.63548), pch labels= 20"Resources", col title= "redHouston Small Biz Guide")#Add a legend**lat m # Print map  ---- ===latitude; lonOther R Packages=longitude, pch = point style, color="color"
== Interactive Maps: ==Helpful links: http://www.r-bloggers.com/interactive-maps-for-the-web-in-r/<br>
To find HEX codes for RGB colors: http://www.javascripter.net/faq/rgbtohex.htm
names(polygons.plot) <- c("CO2 emissions (metric tons per capita)","GDP per capita (current US$)","Country Name")
\<nowiki>#Full Page Map</nowiki>
map <- plotGoogleMaps(polygons.plot,zoom=4,fitBounds=F,filename="Map_GoogleMaps.html",layerName="Economic Data")
\<nowiki>#To add this to an existing HTML page</nowiki>
map <- plotGoogleMaps(polygons.plot,zoom=2,fitBounds=F,filename="Map_GoogleMaps_small.html",layerName="Economic Data",map="GoogleMap",mapCanvas="Map",map.width="800px",map.height="600px",control.width="200px",control.height="600px")
 
=== Quick Guide to Leaflet Alternatives ===
 
*Make sure you have downloaded the RgoogleMaps package.
** code: library(Rgooglemaps)
* Create a base map
**find geocode for center of desired map, adjust zoom as needed
**example code (for map of North America): newmap <- GetMap(center = c(39, -95), zoom = 3, destfile = "NorthAmerica.png")
*Transform addresses into geocode via http://www.geocodezip.com/v3_example_geo2.asp?addr1=United%20States%20of%20America&geocode=1
*Plot map, adjust variables
** example code: PlotOnStaticMap(newmap, lat = c(30.268606, 41.888519), lon = c(-97.740467, -87.63548), pch = 20, col = "red")
**lat=latitude; lon=longitude, pch = point style, color="color"
 
Example Code:
Chicago MSA w/ color by Industry
 
library(RgoogleMaps)
library(ggplot2)
library(colorspace)
library(RColorBrewer)
 
merged.data<- merge(Chicago.Adresses.for.geocode.v2, Chicago.Addresses.w.Industries, by="Name")
 
newmap <- GetMap(center = c(41.92,-87.78), zoom = 11,GRAY = TRUE, destfile = "chicago_test.png")
 
col.list <- c("#EB6D2E","#EB6D2E", "#EB6D2E", "#00B2A9", "#516B66", "#00B2A9")
palette(col.list)
 
PlotOnStaticMap(newmap, lat=c(Chicago.Adresses.for.geocode.v2$Latitude),lon=c(Chicago.Adresses.for.geocode.v2$Longitude), pch=20, col=c(Chicago.Addresses.w.Industries$Industry))

Navigation menu