Spotfire® 用户指南

指定新的地理编码表

Spotfire 附带的一系列地理编码层级通常存储在库中(适用于内部部署和 TIBCO Cloud Spotfire 用户)。您也可以使用形状文件 (.shp)、GeoJSON 文件 (.geojson) 或具有类别(通常为 string)层级的数据表定义自己的地理编码表,并将其保存在库中供将来使用。通过在 Spotfire 中设置地理编码表的几个数据表和列属性,然后将该文件导出到库,可以完成这一操作。也可以使用本地存储的地理编码表。

开始之前

您应该对地理位置和地理编码中的概念有基本的了解。另请参见配置 WKB 数据以用于地图

关于此任务

提示: 您还可以从“分析中的数据”浮出控件指定列的某些地理编码属性。单击该列,确保在展开的浮出控件中选择了“有关所选列的详细信息”,然后在“地理编码”“设置”下选择合适的选项。

在大多数情况下,分析已包含所需的列属性或数据表属性,因为它们是在打开地理数据时自动添加的。但是,如果您要指定的属性缺失,可以从数据画布的“数据表”概述中添加该属性。有关详细信息,请参见添加新的数据表或列属性

注: 不同类型的地理数据需要不同的属性集,您通常只需要下面提到的一些属性。

过程

  1. 在 Spotfire 客户端中加载包含坐标和/或几何以及标识列的数据(例如状态名称或状态代码)。
  2. 编写栏上,单击“数据”画布
  3. 确保相关数据表处于选定状态,单击图形结构的最终节点,然后单击数据画布的右下方的“列属性”
    在此处,可以指定必要的列属性以将列标识为地理编码列。
  4. 在下拉列表中找到应该用于对数据进行地理编码的每一列(可以键入以搜索列名称),然后双击属性名称以打开一个对话框,可从中指定属性值(请注意,数据表中可能有多个不同的列,需要具有所指定的一个或多个属性。例如,如果有“几何”列(Binary 或 BLOB)、X 列和 Y 列,则所有这些列均需要指定不同的 Mapchart.ColumnTypeID 属性值,如下所示):
    • GeocodingType 用于指定列(例如“国家/地区”、“省/自治区”或“城市”)中地理编码标识符的类型。
    • GeocodingRepresentation 用于指定地理编码标识符的表示法。它可以是语言代码(例如 en-usUS-English)或标准标识符(例如 ISO3166-2:us)或其他一些 ISO 标准代码。
    • GeocodingHierarchyName 可用于对属于同一个层级的地理编码列进行分组。
    如果数据源自 ESRI 形状文件或 GeoJSON 文件,则坐标和几何值列将自动加上正确的标签;否则,您必须添加以下列属性并编辑其值,如下文所述(或参见配置 WKB 数据以用于地图):
    • 经度列应该具有 MapChart.ColumnTypeID 属性及 XCenter 值。
    • 纬度列应该具有 MapChart.ColumnTypeID 属性及 YCenter 值。
    • 几何列应该具有 MapChart.ColumnTypeID 属性及 Geometry 值。
    • 几何列还应该具有 ContentType 属性及 application/x-wkb 值。

    这些属性值将与稍后进行地理编码的数据的相同属性值相匹配,所以选择时务必三思。

  5. 指定所需的列属性后,单击“数据表属性”,指定以下一个或多个数据表属性:
    • MapChart.IsGeocodingTable 用于确定已保存的 SBDF 文件是否应解释为地理编码表。此属性的数据类型必须设置为 Boolean。将此属性的值设置为 True。导出随后会指出,它是一个地理编码表,并自动将属性传输到库属性。
    • MapChart.GeocodingHierarchyName 用于对属于同一个层级的地理编码表进行分组。数据类型通常是 String。例如,值是“USA 2022”、“Belgium”等。
    • MapChart.GeocodingAutoload 用于指示当 Spotfire 发现地理编码表可用作当前数据表的地理编码表时,是否允许自动将该地理编码表下载到分析中。此值可用于防止自动下载大型地理编码表。数据类型必须为 Boolean。值必须为 TrueFalse
    • MapChart.IsGeocodingEnabled 用于指示当前是否启用了地理编码表。数据类型必须为 Boolean。值必须为 TrueFalse。当地理编码表保存在库中时,此属性非常重要。
    • MapChart.GeometryType 用于定义当地理编码表包含几何(形状)列时要素的类型。数据类型必须为 String。值必须为 PointLinePolygon
    还有您可以为地理编码表指定的许多其他属性。这些属性不是强制性属性:
    • MapChart.GeocodingHierarchyPriority 用于控制包含该表的层级的优先级。在应用自动地理编码时,如果两个层级得到相等数量的列匹配,那么会选择优先级较高的地理编码层级。该数据类型必须为 Integer,默认值必须介于 0 和 100 之间(100 是最高优先级)。
    • MapChart.GeocodingHierarchyVersion 用于以日期形式 (YYYYMMDD) 指定地理编码层级的版本。
    • MapChart.GeographicCrs 用于指定描述数据的坐标参考系统(例如,对于 WGS 84,为“EPSG:4326”)。
    • MapChart.ExternalGeographicCrs 用于存储由形状文件投影 Web 服务标识的投影的 EPSG 代码。如果 Spotfire 的投影列表中已经存在标识的投影,则表示使用的是 MapChart.ExternalGeographicCrs 属性。

    • MapChart.ExternalGeographicProj4Def 用于存储由形状文件投影 Web 服务生成的 Proj4 定义。Spotfire 使用此属性中存储的值来创建生成的 CRS。如果 Spotfire 的投影列表中不存在形状文件的投影,则表示使用的是 MapChart.ExternalGeographicProj4Def 属性。

  6. 使用“文件” > “导出” > “将数据导出到库”将表作为 SBDF 导出到库,以使其可供其他用户使用并用于其他分析。
    数据表将保存为库中的一个文件,并可在能够选择地理编码层级的所有位置加以利用。