Shp-файл создает новый столбец

#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. В нем будут только данные, без геометрии