library(ggplot2)
library(dplyr)
library(ggmap)
library(sp)
library(maptools)
library(rgeos)
library(googleVis);op <- options(gvis.plot.tag='chart')
data <- read.csv(choose.files(), header = T, sep = ",",stringsAsFactors = F)
#UTF-8, but it won't read Cyrillics
head(data,2)
##   id     slat     slon     hlat     hlon          loc
## 1  1 54.71043 20.45221 54.71043 20.45221 Kaliningrad 
## 2  2 55.82492 49.12274 55.82492 49.12274       Kazan'
##                     loc.1                      mix
## 1 Ð<U+009A>алинингÑ<U+0080>ад              Kaliningrad 
## 2            Ð<U+009A>азанÑ<U+008C> Kazan' Tatarstan Licej 7
data1 <- data[,-7]
head(data1,2)
##   id     slat     slon     hlat     hlon          loc
## 1  1 54.71043 20.45221 54.71043 20.45221 Kaliningrad 
## 2  2 55.82492 49.12274 55.82492 49.12274       Kazan'
##                        mix
## 1             Kaliningrad 
## 2 Kazan' Tatarstan Licej 7
for(i in 1:1) {
  data1[,i] <- as.character(data1[,i])
}
str(data1)
## 'data.frame':    79 obs. of  7 variables:
##  $ id  : chr  "1" "2" "3" "4" ...
##  $ slat: num  54.7 55.8 61.7 59.6 50.6 ...
##  $ slon: num  20.5 49.1 42.5 30.1 36.6 ...
##  $ hlat: num  54.7 55.8 61.5 59.6 50.6 ...
##  $ hlon: num  20.5 49.1 42.3 30.1 36.6 ...
##  $ loc : chr  "Kaliningrad " "Kazan'" "Arhangel'skaja obl.  Shenkurskij r-n  s. Rovdino" "Gatchina" ...
##  $ mix : chr  "Kaliningrad " "Kazan' Tatarstan Licej 7" "Rovdino Arhangel'skaja obl.  Shenkurskij r-n Rovdinskaja SOSh" "Gatchina SOSh 2" ...
data1$latlongs<-paste(data1$slat, data1$slon, sep=":")
data1$latlongh<-paste(data1$hlat, data1$hlon, sep=":")
head(data1,2)
##   id     slat     slon     hlat     hlon          loc
## 1  1 54.71043 20.45221 54.71043 20.45221 Kaliningrad 
## 2  2 55.82492 49.12274 55.82492 49.12274       Kazan'
##                        mix            latlongs            latlongh
## 1             Kaliningrad  54.710426:20.452214 54.710426:20.452214
## 2 Kazan' Tatarstan Licej 7  55.824919:49.12274  55.824919:49.12274
data("wrld_simpl")
map = fortify(wrld_simpl)
ggplot(map) +
  geom_polygon(data = map, aes(long, lat, group = group), color = "black", fill = "white") + 
  geom_point(data = data1, aes(x = slon, y = slat), color = "red")+
  coord_map(ylim=c(-60, 111))

data("wrld_simpl")
wrld_simpl_filtered = wrld_simpl[wrld_simpl@data$NAME %in% c("Bulgaria", "Moldova", "Belarus", "Ukraine", "Finland", "Latvia", "Lithuania", "Estonia", "Kazakhstan", "Russia", "China", "Mongolia", "Norway", "Romania", "Poland", "Turkey", "Georgia", "Azerbaijan", "Korea, Democratic People's Republic of", "Japan", "Sweden"),]
wrld_simpl_df = fortify(wrld_simpl_filtered)

ggplot(wrld_simpl_df) +
  geom_polygon(data = wrld_simpl_df, aes(long, lat, group = group), color = "black", fill = "white") + 
  geom_point(data = data1, aes(x = hlon, y = hlat), color = "blue")+
  geom_point(data = data1, aes(x = slon, y = slat), color = "red")+
  geom_segment(data = data, aes(x = hlon, y = hlat, xend = slon, yend = slat), size = 1) +
  xlab("Home vs. School prior to HSE \n red = school prior to HSE, blue = home location")+
  ylab("")+
  coord_map("ortho", orientation = c(45, 75, 0))

map <- gvisMap(data1, locationvar="latlongs", 
               tipvar="mix")
      options = list(showTip=T, showLine=F, enableScrollWheel=TRUE,
              useMapTypeControl=T, width=1400,height=800)
plot(map)
rm(list=ls()) #clear workspace