空间函数

本文介绍 Tableau 中的空间函数及其用法。它还使用示例来演示如何创建空间计算。

为何使用空间函数

空间函数允许您执行高级空间分析,并将空间文件与其他格式的数据(如文本文件或电子表格)相结合。例如,您可能有城市议会区的空间文件,以及一个包含所报告路面坑洼的纬度和经度坐标的文本文件。您可以在创建数据源时使用空间计算来联接这些文件,并分析哪个区域修复路面坑洼所花费的时间最长。

可视化项可能如下所示:

另一个示例可能是:创建一个用于连接起点-终点地图的两个数据点的线条。例如,您可能有一个包含共享单车数据的电子表格,指明骑自行车的人的行程起点和终点。可视化项可能如下所示:

Tableau 中空间函数的列表

函数 语法 定义
Area Area (几何图形, “单位")

返回空间多边形的总表面积。

支持的单位名称:米(“meters”、“metres”、“m”)、千米(“kilometers”、“kilometres”、“km”)、英里(“miles”或“mi”)、英尺(“feet”、“ft”)。

MakeLine MakeLine(geometry1,geometry2) 在两个点之间生成线条标记,对于构建起点-终点地图非常有用。
MakePoint MakePoint(纬度, 经度) 将纬度和经度列中的数据转换为空间对象。
MakePoint MakePoint(X 坐标, Y 坐标, SRID) 将投影的地理坐标中的数据转换为空间对象。SRID 是一个空间参照标识符,它使用 ESPG 参照系代码来指定坐标系。如果未指定 SRID,则会假定 WGS84,并将参数视为纬度/经度(以度为单位)。此函数只能使用活动连接创建,并且在将数据源转换为数据提取时将继续工作。
Distance Distance(几何图形 1,几何图形 2,”单位") 以指定单位返回两个点之间的距离测量值。支持的单位名称:米(“meters”、“metres”、“m”)、千米(“kilometers”、“kilometres”、“km”)、英里(“miles”或“miles”)、英尺(“feet”、“ft”)。此函数只能使用活动连接创建,并且在将数据源转换为数据提取时将继续工作。
Buffer Buffer(空间点, 距离, "单位")

返回一个圆形,其半径由计算中定义的距离和单位值确定。

注意:Buffer 计算仅适用于点空间对象。

Buffer 支持与 Distance 函数相同的单位名称。

使用空间计算

使用 MakePoint 创建空间数据源

您可以使用 MakePoint 使数据源具备空间功能,以便可以使用空间联接将其与空间文件联接。若要使用 MakePoint,您的数据必须包含纬度和经度坐标。

  1. 打开 Tableau 并连接到一个空间数据源。在“连接”下,单击“添加”以添加第二个非空间数据源。

    这两个数据源将添加到画布。

  2. 单击“联接”图标。
  3. 在出现的“联接”对话框中,执行以下操作:
    • 选择一种联接类型。
    • 在“数据源”下,选择空间文件中要作为联接依据的空间字段。空间字段的旁边有一个地球图标 。
  4. 对于非空间数据源,请选择“创建联接计算”作为联接子句。

    计算可能如下所示:

    MAKEPOINT(Latitude,Longitude)

  5. 将空间函数添加到文本文件后,选择 Intersects 联接子句运算符以创建用于空间分析的数据源。
  6. 完成后,关闭“联接”对话框。

有关空间联接的详细信息,请参见在 Tableau 中联接空间文件

使用 MakeLine 创建可视化项

在 Tableau Desktop 中,从 Tableau Public 下载“Flight Path”(飞行路线)工作簿(可在此处获得(链接在新窗口中打开))。

  1. 导航到新工作表。
  2. 选择“分析”>“创建计算字段”。
  3. 在打开的计算中,执行以下操作:
    • 将计算字段命名为“Flight Path”(飞行路线)
    • 输入以下公式

    MAKELINE(MAKEPOINT([Lat],[Long]),MAKEPOINT([Dest Lat],[Dest Lng]))

    此公式从起点和终点城市中获取经纬度坐标,并使它们转换为用于空间分析的地理点。这些坐标用于在起点和终点之间构建两点直线。

  4. 完成后,单击“确定”
  5. 新的计算字段将出现在“数据”窗格中的“维度”下。就像其他字段一样,您可以在一个或多个可视化项中使用该字段。

  6. 从“数据”窗格中,双击“Flight Paths”(飞行路线)以将其添加到您的可视化项中,后者应会自动呈现为地图。
  7. 当线条跨越较大的广阔全球区域时,计算会自动生成弯曲的测地线。

使用 Buffer 可视化区域

在 Tableau Desktop 中,从 Tableau Public 下载“Flight Path”(飞行路线)工作簿(可在此处获得(链接在新窗口中打开))。

  1. 导航到新工作表。
  2. 右键单击“度量”窗格,并选择“创建参数”。
  3. 在打开的“参数”对话框中,设置以下选项:
    • 将参数命名为“Buffer Distance”(缓冲距离)
    • 将“数据类型”设置为“整数”
    • 将“允许的值”设置为“范围”
    • 将“最小范围”设置为 100,将“最大范围”设置为 1000,将步长大小设置为 100。

  4. 完成后,单击“确定”
  5. 此参数将使我们能够自定义缓冲区的半径,范围从 100 到 1000 英里。右键单击参数并选择“显示参数控件”

  6. 选择“分析”>“创建计算字段”。
  7. 在打开的计算中,执行以下操作:
    • 将计算字段命名为“Buffer”(缓冲区)。
    • 输入以下公式

    BUFFER(MAKEPOINT([Dest Lat],[Dest Lng]),[Buffer Distance],"miles")

    Buffer 公式获取点空间数据并将其转换为半径以英里为单位的形状,该半径由“Buffer Distance”(缓冲距离)参数确定。

    注意:由于 Buffer 只能与点空间数据一起使用,因此我们使用 Makepoint 将纬度和经度数据转换为点,如上例所示。

  8. 完成后,单击“确定”
  9. 新的计算字段将出现在“数据”窗格中的“维度”下。就像其他字段一样,您可以在一个或多个可视化项中使用该字段。

  10. 从“数据”窗格中,双击“Buffer”(缓冲区)以将其添加到您的可视化项中,后者应会自动呈现为地图。
  11. 将“Destination”(目的地)拖到“标记”卡上的“颜色”面板以完成可视化。

如果视图与上图不一样,请确保“标记类型”设置为“地图”而不是“圆”。 有关标记类型的详细信息,请参见更改视图中标记的类型

感谢您的反馈!