【问题标题】:Shp file creates a new columnshp 文件创建一个新列
【发布时间】:2021-05-26 19:42:39
【问题描述】:

这里是新手(提前致谢!)

在我的名为“shape”的 shp 文件中,有一个名为“RD_TYPE”的列,它显示了从 1 到 5 的道路类型。

我想制作一个简单的表格,从名为“RD_TYPE”的列中计算每种道路有多少项目:

count_rd_type <- shape %>%
  group_by(RD_TYPE) %>%
  count() 

因此,当我这样做时,我的表已创建,但随后我看到一个名为“几何”的附加列,其坐标在我的原始数据集“形状”中不存在。有人可以向我解释这是如何工作的吗?

screenshot of my results

非常感谢:)

【问题讨论】:

  • 假设您使用sf 对象,该列是每个RD_TYPE 的道路合并。查看@jindra-lacko 的答案

标签: r gis shapefile sf


【解决方案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

【讨论】:

  • 您好,感谢您的回答。我仍然想知道为什么“几何”列在我的原始数据集中不存在时被创建。这是嵌入在我的“RD_TYPE”列中的东西吗?非常感谢!
  • 您是否 100% 确定您的数据集中不存在几何?几何通常是 shapefile 的原因,是数据集的“原因”...无论如何,您的 shapefile 可能是一堆文件,请尝试仅读取 dbf 文件。它将只有数据,没有几何图形
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
相关资源
最近更新 更多