library(tidyverse)
#https://r-graph-gallery.com/how-to-draw-connecting-routes-on-map-with-r-and-great-circles.html

# World map is available in the maps package
library(maps)
library(geosphere)
library(readxl)
library(png)

# No margin
par(mar=c(0,0,0,0))

# World map focused on europe
map('world',
    col="#f2f2f2", fill=TRUE, bg="white", lwd=0.05,
    mar=rep(0,4),border=0, ylim=c(30,65), xlim=c(-10, 45) 
)


# Data

baza <- read_excel("Baza.xlsx")

#add points to map
points(x=baza$Flong, y=baza$Flat, col="slateblue", cex=2, pch=20)
points(x=baza$Wlong, y=baza$Wlat, col="violetred2", cex=2, pch=20)


#add lines - first long then lat

for (i in 1:nrow(baza)) {
inter <- gcIntermediate(c(as.numeric(baza[i,5]), as.numeric(baza[i,4])),  c(as.numeric(baza[i,8]), as.numeric(baza[i,7])), n=50, addStartEnd=TRUE, breakAtDateLine=F)

# Show this connection
lines(inter, col="slateblue", lwd=1)
}


#p=recordPlot()
#p
LS0tDQp0aXRsZTogIlNUU00gbmV0d29ya2luZyINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCi0tLQ0KDQoNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQojaHR0cHM6Ly9yLWdyYXBoLWdhbGxlcnkuY29tL2hvdy10by1kcmF3LWNvbm5lY3Rpbmctcm91dGVzLW9uLW1hcC13aXRoLXItYW5kLWdyZWF0LWNpcmNsZXMuaHRtbA0KDQojIFdvcmxkIG1hcCBpcyBhdmFpbGFibGUgaW4gdGhlIG1hcHMgcGFja2FnZQ0KbGlicmFyeShtYXBzKQ0KbGlicmFyeShnZW9zcGhlcmUpDQpsaWJyYXJ5KHJlYWR4bCkNCmxpYnJhcnkocG5nKQ0KDQojIE5vIG1hcmdpbg0KcGFyKG1hcj1jKDAsMCwwLDApKQ0KDQojIFdvcmxkIG1hcCBmb2N1c2VkIG9uIGV1cm9wZQ0KbWFwKCd3b3JsZCcsDQogICAgY29sPSIjZjJmMmYyIiwgZmlsbD1UUlVFLCBiZz0id2hpdGUiLCBsd2Q9MC4wNSwNCiAgICBtYXI9cmVwKDAsNCksYm9yZGVyPTAsIHlsaW09YygzMCw2NSksIHhsaW09YygtMTAsIDQ1KSANCikNCg0KDQojIERhdGENCg0KYmF6YSA8LSByZWFkX2V4Y2VsKCJCYXphLnhsc3giKQ0KDQojYWRkIHBvaW50cyB0byBtYXANCnBvaW50cyh4PWJhemEkRmxvbmcsIHk9YmF6YSRGbGF0LCBjb2w9InNsYXRlYmx1ZSIsIGNleD0yLCBwY2g9MjApDQpwb2ludHMoeD1iYXphJFdsb25nLCB5PWJhemEkV2xhdCwgY29sPSJ2aW9sZXRyZWQyIiwgY2V4PTIsIHBjaD0yMCkNCg0KDQojYWRkIGxpbmVzIC0gZmlyc3QgbG9uZyB0aGVuIGxhdA0KDQpmb3IgKGkgaW4gMTpucm93KGJhemEpKSB7DQppbnRlciA8LSBnY0ludGVybWVkaWF0ZShjKGFzLm51bWVyaWMoYmF6YVtpLDVdKSwgYXMubnVtZXJpYyhiYXphW2ksNF0pKSwgIGMoYXMubnVtZXJpYyhiYXphW2ksOF0pLCBhcy5udW1lcmljKGJhemFbaSw3XSkpLCBuPTUwLCBhZGRTdGFydEVuZD1UUlVFLCBicmVha0F0RGF0ZUxpbmU9RikNCg0KIyBTaG93IHRoaXMgY29ubmVjdGlvbg0KbGluZXMoaW50ZXIsIGNvbD0ic2xhdGVibHVlIiwgbHdkPTEpDQp9DQoNCiNwPXJlY29yZFBsb3QoKQ0KI3ANCmBgYA0KDQoNCg==