计算线长和统计信息(QGIS3)¶
QGIS具有内置的功能和算法,可以根据特征的几何形状(例如长度,面积,周长等)计算各种属性。本教程将展示如何使用 添加几何属性 工具添加带有代表每个特征长度的值。
获取数据¶
Natural Earth 具有公共领域的铁路数据集。
从门户网站下载 北美供给 文件。
为了方便起见,您可以直接从下面的链接下载数据集:
ne_10m_railroads_north_america..zip
数据来源 [NATURALEARTH]
操作流程¶
在 Browser 面板中找到下载的
ne_10m_railroads_north_america.zip
文件,然后将其展开。将ne10m_railroads_north_america.shp
文件拖到画布上。
您会在 Layers 面板中看到一个新的图层
ne_10m_railroads_north_america
。您将看到该图层具有代表整个北美铁路的线。现在,让我们计算每个线要素的长度。转到 。
搜索并找到
的算法。双击以启动它。
在 Add Geometry Attributes 对话框中,选择
ne_10m_railroads_north_america
作为 Input layer 。 输入层的坐标参考系统(CRS)是 EPSG:4326 WGS84 。这是一个 地理 CRS,以经度和纬度为坐标,WGS84为椭球,度为单位。由于纬度和经度没有标准长度,因此无法使用平面几何函数精确地测量距离或面积。幸运的是,QGIS提供了一种更好的方法来使用椭圆形几何来计算距离,这是跨越这样大面积区域的最准确方法。选择Ellipsoidal
作为 Calculate using 选项。点击 Run 。该过程完成后,单击 Close 。
注解
如果您的输入图层位于 Projected CRS 中,则可以选择 Layer CRS
选项进行计算。局部或区域投影坐标系旨在将其感兴趣区域上的失真最小化,因此对于此类计算更为精确。
您会在 Layers 面板中看到一个新图层
Added geom info
。这是输入层的副本,其中添加了新的列以表示距离。右键单击Added geom info
层,然后选择Open Attribute Table
。
注解
添加几何属性 工具根据输入图层是点,线还是面来添加不同的属性集。有关更多详细信息,请参见 QGIS文档 s。
在 Attribute Table 中,您会看到一个名为 距离 的新列。它包含每个线要素的长度以 米 为单位。另请注意 sov_a3 属性包含每个功能的正常代码。关闭 Attribute Table 窗口。
现在我们有了各个铁路线段的长度,我们可以将它们加起来以找到铁路的总长度。但是,根据问题陈述的要求,我们需要美国的铁路总长度,因此我们只能使用美国境内包含的路段。我们可以使用 sov_a3 列中的国家代码值来过滤图层。右键单击
Added geom info
图层,然后选择 Filter 。
在 Query Builder 对话框中,输入以下表达式,然后单击 OK 。
"sov_a3" = 'USA'
您会在 Layers 面板的
添加的几何信息
图层旁边看到一个 Filter 图标,表示已将过滤器应用于该图层。您还可以直观地确认图层现在仅包含美国的线段。现在我们准备计算总和。点击 Attributes Toolbar 上的 Show statistical summary 按钮。
将打开一个新的 Statistics 面板。选择
添加的几何信息
图层和长度
列。
您将在面板中看到各种统计信息。统计信息的单位与
长度
列的单位 米 相同。让我们将计算更改为使用 公里数 。在 Statistics 面板中,单击字段下拉菜单旁边的 Expression 图标。
在 Expression Dialog 中输入以下表达式,将长度转换为公里。
length / 1000
显示的 Sum 值是美国铁路的总长度。