Я работаю над анализом движений животных. Я мог бы создать куб космической высоты для миграции птиц через Египет.
Я хочу показать карту Египта внизу, чтобы увидеть, где птицы летают высоко и где отдыхают. Я использовал следующий код:
library(leaflet)
library(rgl)
eamEgypt2011 <- read.csv('HUJ MPIO White Stork E-Obs Autumn 11_clean.csv')
#Check columns of the dataframe
names(eamEgypt2011)
# create coloring order for bird individuals in the dataframe
colors <- c('green', 'red', 'purple', 'black', 'white', 'yellow', 'gray', 'brown')
pal2 <- colorFactor(colors, eamEgypt2011$individual.local.identifier)
#Plot 3d plot (cube) to display bird altitude across space
with(storkAutumn11, plot3d(location.long, location.lat, height.above.ellipsoid, type = "p",
col = pal2(individual.local.identifier)))
rglwidget()
Этот код работает и дает такой результат: http://rpubs.com/KhaledElnoby/locatiionAltCubeCiconiaCicAutumnMig11
Но я хочу отобразить карту на оси широта-долгота, как на этой фотографии: Пример того, как я хочу, чтобы график выглядел:
Пример того, что я хочу создать как
Это результат команды R
> library(leaflet)
> library(rgl)
>
>
> eamEgypt2011 <- read.csv('HUJ MPIO White Stork E-Obs Autumn 11_clean.csv')
>
> names(eamEgypt2011)
[1] "event.id" "visible"
[3] "timestamp" "location.long"
[5] "location.lat" "bar.barometric.pressure"
[7] "data.decoding.software" "eobs.acceleration.axes"
[9] "eobs.acceleration.sampling.frequency.per.axis" "eobs.accelerations.raw"
[11] "eobs.activity" "eobs.activity.samples"
[13] "eobs.battery.voltage" "eobs.fix.battery.voltage"
[15] "eobs.horizontal.accuracy.estimate" "eobs.key.bin.checksum"
[17] "eobs.speed.accuracy.estimate" "eobs.start.timestamp"
[19] "eobs.status" "eobs.temperature"
[21] "eobs.type.of.fix" "eobs.used.time.to.get.fix"
[23] "gps.dop" "gps.satellite.count"
[25] "ground.speed" "heading"
[27] "height.above.ellipsoid" "import.marked.outlier"
[29] "mag.magnetic.field.raw.x" "mag.magnetic.field.raw.y"
[31] "mag.magnetic.field.raw.z" "manually.marked.outlier"
[33] "manually.marked.valid" "quaternion.raw.w"
[35] "quaternion.raw.x" "quaternion.raw.y"
[37] "quaternion.raw.z" "sensor.type"
[39] "individual.taxon.canonical.name" "tag.local.identifier"
[41] "individual.local.identifier" "study.name"
[43] "month"
>
>
> # coloring for individuals
> colors <- c('green', 'red', 'purple', 'black', 'white', 'yellow', 'gray', 'brown')
> pal2 <- colorFactor(colors, eamEgypt2011$individual.local.identifier)
>
> with(storkAutumn11, plot3d(location.long, location.lat, height.above.ellipsoid, type = "p",
+ col = pal2(individual.local.identifier)))
> rglwidget()