Краткое описание проблемы
Прошу прощения за простой вопрос, но я новичок в R и испытываю трудности при выполнении задач с картами.
У меня есть коллекция точек GPS долготы и широты в десятичной форме, которые были собраны в поле. Моя цель - нанести эти точки GPS на карту Шри-Ланки, которую я извлек из ресурсов GADM.
После запуска кода южная оконечность Шри-Ланки выступает из верхней середины прямоугольника сетки долготы / широты, а не все изображение Шри-Ланки, видимое в поле сетки долготы / широты (см. Изображение 2).
Задача:
Я могу создать карту Шри-Ланки независимо (см. Изображение 2), а поле сетки долготы / широты отдельно (см. Изображение 1) ). Однако у меня возникают проблемы с нанесением карты Шри-Ланки внутри поля сетки широты / долготы в сочетании с нанесением точек GPS внутри поля сетки в правильных положениях, в которых данные были собраны в поле.
Желаемый результат показан на изображении 3 (см. Ниже). Я пытаюсь разместить изображение 1 внутри поля сетки с правильной шкалой долготы / широты для Шри-Ланки на краю поля сетки. Наконец, я хотел бы нанести точки GPS на карту, как показано в примере на изображении 3.
Если кто-нибудь сможет мне помочь, я был бы невероятно благодарен!
Я действительно не могу понять, что здесь происходит не так, из-за моего незнания и после многих часов попыток различных комбинаций кода R, чтобы решить проблему, пытаясь воспроизвести этот вопрос о переполнении стека и следуя этому упражнение по моделированию распространения видов .
С уважением.
R-код
##Libraries that are going to be used:
library("sp")
library("raster")
library("maptools")
library("rgdal")
library("dismo")
library("spatialEco")
library("ggplot2")
library("dplyr")
###Open the directory pathway
Blue.whale<-readr::read_csv("Blue_Whale_GPS_Best.csv")
summary(Blue.whale)
##Plotting the map of Sri Lanka
bioclim1.data <- getData('GADM', country='LKA', level=1)
Sri_Lanka<-plot(bioclim1.data, main="Adm. Boundaries Sri Lanka Level 0")
###My attempt at creating a longitude/latitude grid box
Sri.Lanka.bbox<-bbox(Blue.whale)
xlim <- c(min(Sri.Lanka.bbox[1,1]), max(Sri.Lanka.bbox[1,2]))
ylim <- c(min(Sri.Lanka.bbox[2,1]), max(Sri.Lanka.bbox[2,2]))
###Plot the longitude/latitude grid box
dev.new()
plot(Sri_Lanka, xlim=xlim, ylim=ylim, add=T)
##Plot map
par(mfrow=c(1,1))
dev.new()
####Convert the format of the data from factors to numeric
Latitude<-as.numeric(Blue.whale$Latitude)
Longitude<-as.numeric(Blue.whale$Longitude)
##To make species distribution modeling more streamlined, it is useful to have an
##idea of how widely our species is geographically distributed. We are going to find
##general latitudinal and longitudinal boundaries and store this information:
# Determine geographic extent of our data
max.lat <- ceiling(max(Blue.whale$Latitude))
min.lat <- floor(min(Blue.whale$Latitude))
max.lon <- ceiling(max(Blue.whale$Longitude))
min.lon <- floor(min(Blue.whale$Longitude))
geographic.extent <- extent(x = c(min.lon, max.lon, min.lat, max.lat))
# Plot the base map
dev.new()
plot(bioclim1.data,
xlim = c(min.lon, max.lon),
ylim = c(min.lat, max.lat),
axes = TRUE,
col = "grey95")
# Add the points for individual observation
points(x = Blue.whale$Longitude,
y = Blue.whale$Latitude,
col = "olivedrab",
pch = 15,
cex = 0.50)
Изображение 1:
Изображение 2:
Изображение 3: