地理位置和地理编码
要在地图上显示数据,数据必须经过地理编码或直接包含经度或纬度等坐标。Spotfire 中的地理编码意味着利用一个数据表中的某些标识符与另一组数据表(地理编码层级)中的相似标识符进行匹配,后者包含了纬度/经度坐标或地理要素。这些坐标或要素而后用于将数据正确放置到地图上下文中。如果您的数据包含国家名称、州/省名等简单的地理元素,Spotfire 将尝试对您的数据自动进行地理编码。如果无法执行自动地理编码,您可以手动设置地理编码。
通过指定数据表中的某一列应当用于和特定的地理编码层级进行匹配,可以简化使用该数据设置地图的过程。

在此示例中,州列被自动识别为美国各州,并且数据在地图上的位置正确。
自动地理编码和层级
地理编码层级是一组有序的地理编码表,让您可以在放大显示数据时钻取更加细致的级别。层级应当包含图层在应用地理编码时可从中选取的所有地理编码表,它也最好应当是具有不同细节级别的地理层级,例如:
- 表 1:美国州(包含用州名(和/或代码)标识的州几何图形的表)。
- 表 2:美国县(包含通过完整州/县层级标识的县几何图形的表)。
如果您为可以找到地理名称的数据表添加地图,Spotfire 会自动添加(隐藏)地理编码数据表。在选择最适合的地理编码表时,Spotfire 检查基于“地理编码依据”/“标记依据”或“要素依据”轴的表达式,再选择地理编码主要键列可以通过列匹配进行匹配的地理编码表。如果轴上仅使用了“州”,则将选择“美国州”表;但是,如果轴上同时使用了“州”和“县”,则选择“美国县”表。
Spotfire 选择了地理编码表后,图表将下载该表,并按照找到的列匹配将该表联接到地图中。
手动地理编码
在手动设置地理编码时,必须考虑数据中的哪些列可用于标识数据的位置。例如,这可能是“州”列或“州/县”层级。请注意,您选择用于显示数据的级别是应当用于地理编码的级别,因为地图中的“标记依据”轴和“地理编码依据”轴在标记图层中是相同的。因此,如果要显示不同州的数据,您必须根据州而不是县来进行地理编码。
您可以通过单击“分析中的数据”浮出控件中的列并在展开的浮出控件的“有关所选列的详细信息”视图中选择合适的“地理编码”属性或层级,为分析中的所选列指定地理编码类型和表示法。您可以轻松指定列包含经度或纬度值、几何图形或某些层级位置。另请参见指定新的地理编码表。

如果您知晓数据包含常见位置但数据表中的列名称与可用地理编码表中的任何列都不匹配,则还可以尝试使用“自动匹配”选项(位于“地理编码”设置中的“层级”下)来尝试匹配列的内容,而不仅仅是列名称。
库中的地理编码层级
Spotfire Server 以 Zip 档案的形式附带了一组默认地理编码层级,库管理员可以将它们导入到库中。每个层级都包含许多地理编码表。导入后,地理编码层级通常位于库中的 GeoAnalytics 文件夹内。由于这些地理编码表中大部分都包含地理形状,它们也可用作地图中的要素图层。当您选择在地图中添加要素图层的新标记图层时,位于库中的地理编码层级将显示在列表中。
在内部部署环境中禁用自动地理编码
通过将 AutoloadGeocodingTables 偏好设置设定为 False,Spotfire 内部部署管理员可以为一组用户完全禁用地理编码表的自动加载。通过选择,可以在已安装的客户端中找到此偏好。转到“偏好”选项卡,然后在 MapChartPreferences 组中查找以找到该偏好。
如果该组使用的是慢速连接,或者系统重复进行不必要的地理编码匹配,就需要这样做。
- 指定新的地理编码表
Spotfire 附带的一系列地理编码层级通常存储在库中(适用于内部部署和 TIBCO Cloud Spotfire 用户)。您也可以使用形状文件 (.shp)、GeoJSON 文件 (.geojson) 或数据表定义自己的地理编码表,并将其保存在库中供将来使用。通过在 Spotfire 中设置地理编码表的几个数据表和列属性,然后将该文件导出到库,可以完成这一操作。也可以使用本地存储的地理编码表。 - 配置 WKB 数据以用于地图
当地理数据位于“已知二进制 (WKB)”列中,但并非源自形状文件或 GeoJSON 文件时,您可以通过使用“添加计算的列”工具中的空间函数(采用表达式语言)来手动创建所需的坐标列。