#r #gis #shapefile #sf
#r #гис #шейп-файл #sf
Вопрос:
Всего нового здесь (заранее спасибо!)
В моем shp-файле с именем «shape» есть столбец с именем «RD_TYPE», и он показывает мне типы дорог от 1 до 5.
Я хочу создать простую таблицу, в которой подсчитывается, сколько элементов имеется для каждого типа дороги, из столбца с именем «RD_TYPE» :
count_rd_type <- shape %>%
group_by(RD_TYPE) %>%
count()
Поэтому, когда я делаю это, моя таблица создается, но затем я вижу дополнительный столбец с именем «геометрия» с координатами, которого нет в моем исходном наборе данных «форма». Может кто-нибудь объяснить мне, как это работает?
Большое спасибо 🙂
Комментарии:
1. Предполагая, что вы используете
sf
объекты, этот столбец является объединением дорог для каждогоRD_TYPE
. Смотрите ответ @jindra-lacko
Ответ №1:
geometry
Столбец содержит (сюрприз, сюрприз) геометрию дорог, что означает векторное представление вашей дороги (координаты начала, конца и каждого промежуточного сегмента).
Если вы сочтете его лишним, вы можете удалить его с помощью sf::st_drop_geometry()
.
Итак, в вашем случае использования рассмотрите этот код:
count_rd_type <- shape %>%
group_by(RD_TYPE) %>%
count() %>%
sf::st_drop_geometry()
class(count_rd_type) # this will be plain old data.frame, not the special sf kind
Комментарии:
1. Привет, спасибо за ваш ответ. Мне все еще интересно, почему был создан столбец «геометрия», если он не существует в моем исходном наборе данных. Это что-то, что встроено в мой столбец «RD_TYPE»? Большое спасибо!
2. Вы на 100% уверены, что геометрия не присутствовала в вашем наборе данных? Геометрия обычно является причиной существования шейп-файла, «почему» набора данных… В любом случае, ваш шейп-файл, скорее всего, представляет собой набор файлов, попробуйте прочитать только один dbf. В нем будут только данные, без геометрии