Координаты не совпадают / отсутствуют на графике rworldmap

В настоящее время я пытаюсь нанести некоторые координаты на карту в пакете rworldmap.

Судя по тому, что я видел при поиске, это должно быть относительно просто, однако это доставляет мне проблемы.

Пример моих данных можно найти здесь

Для построения карты (я сосредотачиваюсь на Евразии) я использовал:

library(rworldmap)
plot(newmap, xlim = c(-27.0, 174.0), ylim = c(17.5, 77.7), col = "grey",border = "darkgrey",  bg = "lightblue")

Следующим шагом будет нанесение моих координат на карту в виде точек. Мой фрейм данных, содержащий координаты, Coordinate_AD_Clean. Я сделал следующее:

points(Coordinate_AD_Clean$long, Coordinate_AD_Clean$lat, col = "red", pch = "+")

Здесь, однако, происходит сбой, поскольку результирующий график выглядит как this. Я знаю, что это неправильно, поскольку ни одна из моих координат не находится в океане, и на карте должно быть 116 точек (число в моем фрейме данных), в то время как на графике их намного меньше.

Я не понимаю, почему у меня неверные или отсутствующие координаты. Координаты, которые у меня есть в моем фрейме данных, взяты из карт Google, что не должно быть проблемой, поскольку я протестировал 2 или 3 разных координаты, которые я извлек из карт Google наугад, и они были нанесены на карту в порядке. Проблема в том, как данные форматируются в моем фрейме данных? У меня также есть несколько повторяющихся координат, может ли это быть проблемой? Я немного растерялся, поэтому я буду очень благодарен за любую помощь.

Большое спасибо за чтение!


person RightSo    schedule 03.03.2020    source источник
comment
Кроме 2 или 4 баллов, я вижу другие точки в океане. Остальные точки находятся примерно в ожидаемых местах? Если у вас есть повторяющиеся точки, это не должно быть проблемой, потому что они будут нанесены друг на друга.   -  person M_Shimal    schedule 03.03.2020
comment
Точки на созданном графике находятся совсем не там, где они ожидаются. Однако, глядя на график, я потенциально мог увидеть какую-то проблему, когда все точки были смещены в разные точки на карте. Например, у меня есть координаты из Исландии, Испании и Венгрии, и некоторые точки на неудавшемся участке выглядят так, будто их можно сдвинуть влево, чтобы добраться до этих мест ...   -  person RightSo    schedule 03.03.2020
comment
Вы уже догадались? Я не использовал rworldmap, но если он использует проекции, то наличие разных проекций между вашими точками и картой может привести к тому, что он появится в неожиданных местах. Если бы вы могли предоставить примерные координаты для некоторых точек, было бы проще предложить альтернативное решение. dput(Coordinate_AD_Clean[1:15,]) - это более простой способ предоставить образцы данных для воспроизведения проблемы или предложения решений.   -  person M_Shimal    schedule 04.03.2020
comment
Я еще не понял этого, но ваше предложение действительно привлекло мое внимание. this представляет собой pastebin вывода, который я получил при использовании dput(Coordinate_AD_Clean[1:15:2],) (сообщение об ошибке в первый раз, в котором говорится, что у меня были неопределенные столбцы) . Интересно, что появляются записи (например, «3,598 ° з.д.»), которые не отображаются в моем фрейме данных, когда я его просматриваю. Не было бы никаких идей, не так ли? Кажется, что это второй столбец координат, вызывающий проблему. Это сбивает с толку ...   -  person RightSo    schedule 04.03.2020


Ответы (2)


У вас есть какая-то конкретная причина использовать rworldmap? в противном случае leaflet - лучший вариант для создания интерактивных карта !

library(leaflet)

m <- leaflet() %>%
  addTiles() %>%  # Add default OpenStreetMap map tiles
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")
person user9112767    schedule 03.03.2020
comment
Никаких особых причин, кроме того, что изначально предполагалось, что им будет просто пользоваться. Единственная функция, которая мне нужна, - это нанесение координатных точек на карту, а затем наложение некоторых предварительно построенных круговых диаграмм, которые я сделал. Возможно ли это в буклете? Не ищу специально чего-то интерактивного. - person RightSo; 03.03.2020

После консультации с кем-то более опытным в R, чем я, решение было показано мне.

После использования dput, чтобы увидеть, что происходит в данных, я смог увидеть огромное количество уровней во фрейме данных, которых не было, когда я просматривал сами данные. В какой-то момент произошло какое-то скрытое форматирование либо в исходных данных .csv, либо во время форматирования данных внутри R.

Решением этой проблемы было использование write.csv(dataframe, "filename.csv") для создания нового файла .csv, состоящего только из данных, которые я разделил внутри R. Затем я прочитал данные из этого нового .csv обратно в R и снова попытался построить график, используя вместо этого этот фрейм данных, и проблема была решена.

Надеюсь это поможет!

person RightSo    schedule 04.03.2020