У меня есть визуализация R в PowerBI.Карта с двумя точками и линией, совпадающей с двумя точками.
library(maps)
library(geosphere)
library(magrittr)
# Origen
Punto1 <- c(dataset$O.Lon,dataset$O.Lat)
O.Lon <- dataset$O.Lon
O.Lat <- dataset$O.Lat
# Destino
Punto2 <- c(dataset$D.Lon,dataset$D.Lat)
D.Lon <- dataset$D.Lon
D.Lat <- dataset$D.Lat
# Variables
min.lon <- min(O.Lon,D.Lon)
max.lon <- max(O.Lon,D.Lon)
min.lat <- min(O.Lat,D.Lat)
max.lat <- max(O.Lat,D.Lat)
diff.lon <- abs(abs(O.Lon)-abs(D.Lon))
diff.lat <- abs(abs(O.Lat)-abs(D.Lat))
media.lat <- round((abs(O.Lon)+abs(D.Lon))/4,0)
media.lon <- round((abs(O.Lat)+abs(D.Lat))/4,0)
# Si la distancia entre origen y destino es pequeña, es decir, están casi en la mista latitud y longitud, entonces se pinta España
if ((diff.lat < 10)&(diff.lon > 10)) {
# Ampliamos altura del mapa. p.e: Madrid y Nueva York en la misma latitud.
map("world", xlim=c(min.lon-5,max.lon+5),ylim=c(min.lat-media.lat,max.lat+media.lat) ,col="#f5f8fa", bg="transparent", fill=TRUE, border=NA, lty = 0, interior = false,mar = c(0.1, 0.1, 0, 0.1))
} else if ((diff.lon < 10) & (diff.lat > 10)) {
# Ampliamos anchura del mapa. p.e: Barcelona y Londres en la misma longitud
map("world", xlim=c(min.lon-media.lon,max.lon+media.lon),ylim=c(min.lat-5,max.lat+5) ,col="#f5f8fa", bg="transparent", fill=TRUE, border=NA, lty = 0, interior = false,mar = c(0.1, 0.1, 0, 0.1))
} else {
# Resto de casos
map("world", xlim=c(min.lon-8,max.lon+8),ylim=c(min.lat-8,max.lat+8) ,col="#f5f8fa", bg="transparent", fill=TRUE, border=NA, lty = 0, interior = false,mar = c(0.1, 0.1, 0, 0.1))
}
# Punto origen
points(x=dataset$O.Lon, y=dataset$O.Lat, col="#bbcfdd", cex=1.5, pch=20)
# Punto destino
points(x=dataset$D.Lon, y=dataset$D.Lat, col="#bbcfdd", cex=1.5, pch=20)
# Línea de conexión
inter <- gcIntermediate(Punto1, Punto2, n=50, addStartEnd=TRUE, breakAtDateLine=F)
lines(inter, col="#bbcfdd", lwd=2)
Карта построена правильно.
Основная проблема - экспорт в PDF: картаимеет границу
Но если я увеличу масштаб PDF, выглядит правым.Кажется, что карта может иметь некоторую границу ...
Параметры карты:
col="#f5f8fa", bg="transparent", fill=TRUE, border=NA, lty = 0, interior = false,mar = c(0.1, 0.1, 0, 0.1)
Я не знаю, где ошибка ...
МожетКто-нибудь, помогите мне, пожалуйста?
Спасибо: -)