Advertisement
Espadan

forAnna_R

Dec 9th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 3.86 KB | None | 0 0
  1. install.packages("RPostgreSQL")
  2. require("RPostgreSQL")
  3. library("RPostgreSQL")
  4. #db <-dbDriver("RPostgreSQL")
  5. drv <- RPostgreSQL::PostgreSQL()
  6. con <- dbConnect(drv, dbname = "projectH",host="localhost",
  7.                  port=5432,user="postgres",password="0789")
  8. query <- 'SELECT * FROM company'
  9. table <- dbGetQuery(con,query)
  10.  
  11. library(RgoogleMaps)
  12.  
  13. queryMap <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon
  14.            FROM company as com
  15.            INNER JOIN salon as sal
  16.            on com.companyID = sal.companyID
  17.            WHERE com.country = 'Germany';"
  18. tableForMap <- dbGetQuery(con,queryMap)
  19.  
  20. map <- GetMap(center = c(50,10),size = c(640,480),zoom = 5,maptype = "mobile")
  21. PlotOnStaticMap(map)
  22. PlotOnStaticMap(map, lat = tableForMap$lat, lon = tableForMap$lon,
  23.                lwd = 15, cex = 0.1, pch = 4, col = "red")
  24.  
  25. #попробуем разбить модели по цветам на карте
  26. queryMapAudi <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' and com.companyName = 'Audi';"
  27. queryMapBMW <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' and com.companyName = 'BMW';"
  28. queryMapMercedesBens <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' and com.companyName = 'Mercedes ';"
  29. queryMapPorsche <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' and com.companyName = 'Porsche ';"
  30. queryMapVolkswagen <- "SELECT com.companyName, com.country, sal.salonName, sal.lat, sal.lon FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' and com.companyName = 'Volkswagen ';"
  31.  
  32. tableMapAudi <- dbGetQuery(con,queryMapAudi)
  33. tableMapBMW <- dbGetQuery(con,queryMapBMW)
  34. tableMapMercedesBens <- dbGetQuery(con,queryMapMercedesBens)
  35. tableMapPorsche <- dbGetQuery(con,queryMapPorsche)
  36. tableMapVolkswagen <- dbGetQuery(con,queryMapVolkswagen)
  37.  
  38. mapGermany <- GetMap(center = c(51,10),size = c(640,480),zoom = 6,maptype = "mobile")
  39. PlotOnStaticMap(mapGermany)
  40. PlotOnStaticMap(mapGermany, lat = tableMapAudi$lat, lon = tableMapAudi$lon,
  41.                 lwd = 15, cex = 0.1, pch = 4, col = "blue1", add=TRUE)
  42. PlotOnStaticMap(mapGermany, lat = tableMapBMW$lat, lon = tableMapBMW$lon,
  43.                 lwd = 15, cex = 0.1, pch = 4, col = "purple1", add=TRUE)
  44. PlotOnStaticMap(mapGermany, lat = tableMapMercedesBens$lat, lon = tableMapMercedesBens$lon,
  45.                 lwd = 15, cex = 0.1, pch = 4, col = "brown1", add=TRUE)
  46. PlotOnStaticMap(mapGermany, lat = tableMapPorsche$lat, lon = tableMapPorsche$lon,
  47.                 lwd = 15, cex = 0.1, pch = 4, col = "gold1", add=TRUE)
  48. PlotOnStaticMap(mapGermany, lat = tableMapVolkswagen$lat, lon = tableMapVolkswagen$lon,
  49.                 lwd = 15, cex = 0.1, pch = 4, col = "springgreen", add=TRUE)
  50.  
  51. #Посмотрим на графике соотношение кол-ва салонов на каждуу марку
  52. querySalonCount <- "SELECT com.companyname, count(sal.country) FROM company as com INNER JOIN salon as sal on com.companyID = sal.companyID WHERE com.country = 'Germany' group by com.companyName, sal.country ORDER by count(sal.country) DESC"
  53. tableSalonCount <- dbGetQuery(con,querySalonCount)
  54. cols = c("Black", "Blue", "brown",
  55.          "green", "Red")
  56. library(plotly)
  57. Company <- unlist(tableSalonCount[1])
  58. plot_ly(
  59.   x = ~Company,
  60.   y = unlist(tableSalonCount[2]),
  61.   type = "bar",
  62.   color = cols,
  63.   name = unlist(tableSalonCount[1])
  64. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement