r: Отображение Восточной России и Северной Америки на одной карте rnaturalearth - PullRequest
0 голосов
/ 28 мая 2020

Я все еще учусь использовать R. Я пытаюсь отобразить точки в Северной Америке и Восточной России с помощью пакета «rnaturalearth». Я бы хотел показать Россию и Северную Америку, а не всю Европу. Я включил изображение с областью мира, которое мне нужно, в поле , здесь . Я получаю эту ошибку всякий раз, когда ввожу положительные и отрицательные значения долготы.

Error in st_normalize.sfc(x, c(x_range[1], y_range[1], x_range[2], y_range[2])) : 
  domain must have a positive range

Я не мог ничего найти в Интернете, хотя уверен, что это, вероятно, довольно просто. Любая помощь будет принята с благодарностью!

Вот код для общего сопоставления:

world <- ne_countries(scale = "medium", returnclass = "sf")

ggplot(data = world)+
  geom_sf()+
coord_sf(xlim = c(160, -60), ylim = c(20, 90), expand = FALSE)

1 Ответ

0 голосов
/ 01 июня 2020

У меня была почти такая же задача, чтобы попытаться решить, и я нашел ваш вопрос, пытаясь понять его. Вот ссылки, которые помогли мне получить желаемый результат. Я сам не буду давать точное решение, так как думаю, что в этих ссылках уже есть хорошо продуманное решение.

Этот вопрос содержит почти точный процесс, который вы ищете:

https://gis.stackexchange.com/questions/332106/union-anti-meridian-multipolygons-after-re-centering-world-map

Это то, что человек в приведенном выше вопросе использовал в качестве ссылки для редактирования кода (который также включает пакеты, необходимые для этого):

https://github.com/valentinitnelav/valentinitnelav.github.io/blob/master/gallery/Shift%20central%20 (prime)% 20meridian.R # L73

После того, как вы сдвинули многоугольники, вы можете использовать «Coord_sf ()», как вы пытались раньше, чтобы получить желаемое подмножество карты.

Единственная проблема, с которой я столкнулся с этим c решением, заключается в том, что оно сдвигает значения долготы на карте. Это означает, что они не точно представляют фактические значения долготы. Поэтому обязательно примите это во внимание, если вы хотите показать значения долготы на карте.

Надеюсь, это поможет вам получить желаемую карту!

Редактировать: я только что вспомнил этот сайт есть другой способ получить аналогичное решение в разделе «Пример неудачного преобразования», в зависимости от требуемой картографической проекции. https://mgimond.github.io/Spatial/coordinate-systems-in-r.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...