Tableau 无法识别和在地图上绘制的地理编码位置

如果有 Tableau 无法映射的位置,例如街道地址,则可以对这些位置进行自定义地理编码。自定义地理编码意味着您为您的位置分配纬度和经度坐标,使 Tableau 能够准确绘制它们。它还允许创建在 Tableau 中创建地图视图时可以使用的自定义地理角色。

例如,如果您的数据包含国家/地区、州/省/市/自治区和街道地址数据,则 Tableau Desktop 会按国家/地区和省/市/自治区级别对数据进行地理编码,但它将无法识别街道地址数据。在这种情况下,您可以为街道地址数据创建一个自定义地理角色,以便可以在 Tableau 中的地图视图上绘制该数据。

请按以下步骤操作来了解如何自定义数据地理编码。

开始之前:自定义您的数据地理编码可能很棘手。我们建议您查阅分配地理角色(Link opens in a new window)主题,以在开始之前了解更多关于 Tableau 可识别的地理角色和数据类型的信息。

步骤 1:创建包含位置数据的 CSV 文件

自定义数据地理编码的第一步是创建要导入到 Tableau 中的 CSV 文件。根据您是要扩展现有的地理分层结构添加新地理角色还是要向 Tableau 添加新的分层结构,此文件的内容会有所不同。

但是,以下两点适用于所有自定义地理编码文件:

  • .csv 文件必须包含“Latitude”和“Longitude”列。

  • Latitude 和 Longitude 值必须是实数。在指定这两个值时,确保包含至少一个小数位。

扩展现有角色

Tableau 中的内置地理角色包含一些分层结构,您可以将它们扩展以包含与数据相关的位置。例如,“Country > State/Province”的现有分层结构可能不包含数据中的所有州/省/市/自治区。可以扩展此级别以包含缺少的省/市/自治区。

此地理编码类型的导入文件应包含在分层结构中位于您扩展的级别上面的每个级别。例如,如果要扩展(将数据添加至)“州/省/市/自治区”地理角色,则现有的“State/Province”分层结构会具有对应于 Country 和 State/Province 以及 Latitude 和 Longitude 的列。

在导入文件中,列的名称定义了地理角色。在扩展现有角色时,列名称必须与您扩展的分层结构中的现有地理角色匹配。这将确保新的位置添加到正确的角色和分层结构中。

有关如何在导入文件中组织分层结构的信息,请参见下表。

内置的分层结构 要包含在 .csv 文件中的列(顺序为从左到右)
Country (Name)

Country (Name)

Latitude

Longitude

Country (Name), State/Province

Country (Name)

州/省/市/自治区

Latitude

Longitude

Country (Name), State/Province, City

Country (Name)

州/省/市/自治区

City

Latitude

Longitude

Country (Name), State/Province, County

Country (Name)

州/省/市/自治区

County

Latitude

Longitude

Country (Name), ZIP Code/Postcode

Country (Name)

邮政编码

Latitude

Longitude

Country (Name), Area Code

Country (Name)

Area Code

Latitude

Longitude

Country (Name), CBSA

Country (Name)

CBSA

Latitude

Longitude

除了包含“Country (Name)”列之外,还可以根据需要包含以下列:“Country 2 char (ISO 3166-1)”、“Country 3 char (ISO 3166-1)”和“Country (FIPS 10)”。如果包含这些列,则它们应以任意顺序刚好位于“Country (Name)”列的右侧。

注意: 分层结构中的最高级别为“Country”,不能将其扩展以包含更高级别(如“Continent”等)。

添加新角色

若要将新的地理角色添加到 Tableau 内的现有地理分层结构中,请设置导入文件的格式,以包含这些新角色及其父角色。

在将新角色添加到现有的分层结构中时,这些角色的导入文件必须包含对应于现有分层结构中的每个级别的列。有关要包含在每个地理分层结构中的列的详细信息,请参见“扩展现有角色”部分中的内置的分层结构表

下面是包含北美陨石坑位置的导入文件的一个示例。导入下面的文件会将地理角色“Crater Name”添加到现有的“Country (Name), State”分层结构中。请注意,对应于国家/地区的列名称与现有“Country (Name)”地理角色匹配。

创建了导入文件之后,将此文件另存为逗号分隔 (.csv) 文件(如果在 Mac 计算机上则另存为 Windows 逗号分隔文件),并保存在计算机上的文件夹中。

步骤 2(可选):创建 schema.ini 文件

有时,当您尝试使用 .csv 文件将自定义地理信息导入 Tableau 时,您可能会看到“.csv could not be used because it does not contain a unique column" 错误消息。

这是因为您的 .csv 文件可能包含数值数据,例如数值邮政编码。对于新的地理角色,Tableau 将只接受文本字段。但是,您可以创建一个 schema.ini 文件,以指示 Tableau 应将您要导入的数值字段视为文本字段。

若要了解如何创建 schema.ini 文件,请参见创建 schema.ini 文件(Link opens in a new window)

步骤 3:将自定义地理编码文件导入 Tableau Desktop 中

在创建了含有自定义地理编码的 .csv 文件之后,可以将该文件导入 Tableau 中。

  1. 打开 Tableau Desktop 并导航到新的或现有的工作表。

  2. 选择“地图”>“地理编码”>“导入自定义地理编码”

  3. 在“导入自定义地理编码”对话框中,单击文本字段右侧的按钮,以浏览到保存了导入文件的文件夹。此文件夹中的所有文件均将导入 Tableau 中。

  4. 单击“导入”

自定义地理编码数据将导入到工作簿中,并且新地理角色变为可用。

Tableau 在哪里存储我的自定义地理编码数据?

在导入自定义地理编码时,数据存储在 Tableau 存储库内的“本地数据”文件夹中。若要导入自定义地理编码,Tableau 存储库必须位于本地硬盘上。自定义地理编码之后可用于所有工作簿。

将自定义地理编码文件保存在本地计算机上的一个单独文件夹中。如果有多组不同的自定义地理编码文件,则将每组文件保存在各自的文件夹名称下。

可以通过单击“地图”>“地理编码”>“移除自定义地理编码”来移除 Tableau 存储库中存储的自定义地理编码。此操作不会从打包工作簿中移除地理编码,而是从我的 Tableau 存储库内的“本地数据”文件夹中移除它。

保存工作簿时我的自定义地理编码数据会发生什么情况?

在将工作簿保存为打包工作簿时,自定义地理编码数据会随工作簿一起打包。在打开打包工作簿时,可以将该工作簿中的自定义地理编码导入您自己的 Tableau 存储库中。

注意: 导入新的自定义地理编码文件将会替换以前导入 Tableau 中的任何自定义地理角色。

步骤 4:为字段分配地理角色

将自定义地理编码导入您的工作簿后,自定义地理角色会变为可用。下一步是将这些地理角色分配给您的数据源中的字段。

例如,如果决定添加一个新的地理角色,以列出北美陨石坑的纬度和经度坐标,则可以将该地理角色分配给数据源中列出北美陨石坑名称的字段,因此在用该字段创建地图视图时,会在地图视图上的正确位置绘制陨石坑。

若要将自定义地理角色分配给字段,请在“数据”窗格中单击该字段旁边的数据类型图标,并选择“地理角色”。下一步,从列表中选择一个自定义的地理角色。

现在,您准备开始用自定义的地理角色构建地图视图。有关构建地图视图的详细信息,请参见Tableau 中的地图概念(Link opens in a new window)

另请参见

数据混合与自定义地理编码(Link opens in a new window)

混合地理数据(Link opens in a new window)

此部分中的其他文章

感谢您的反馈!