Простая функция огромного размера - PullRequest
0 голосов
/ 17 февраля 2019

Уважаемое сообщество переполнения стека, это мой первый вопрос на этом сайте.Я использую R и пытаюсь объединить два шейп-файла, используя sf::st_union.Однако, хотя шейп-файлы не занимают так много места, объединение довольно тяжелое!

Вот минимальный рабочий пример с размерами из моего терминала:

library(sf)

canada <- st_read("./gpr_000b11a_e.shp", quiet = TRUE)
usa <- st_read("./cb_2017_us_state_500k.shp", quiet = TRUE)

usa <- st_transform(x = usa, crs = st_crs(canada))

north_america = st_union(usa, canada)

И размертри объекта:

print(object.size(canada), units = "auto")
58.9 Mb

print(object.size(usa), units = "auto")
4.6 Mb

print(object.size(north_america), units = "auto")
3 Gb

Есть ли у вас какие-либо идеи о том, что происходит и как я могу получить что-то легче?Кроме того, все, что мне нужно, это геометрия, но sf::st_geometry не уменьшил объект.

1 Ответ

0 голосов
/ 17 февраля 2019

Будет ли использовать rbind то, что вам нужно?вот ссылка на справку по sf для rbind https://r -spatial.github.io / sf / reference / bind.html

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