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

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

如果您知晓数据包含常见位置但数据表中的列名称与可用地理编码表中的任何列都不匹配,则还可以尝试使用“自动匹配”选项(位于“地理编码”设置中的“层级”下)来尝试匹配列的内容,而不仅仅是列名称。
手动更新图表属性
如果您要添加地图图表,但自动地理编码未按预期工作,或者您希望某个图表使用分析中非其余地图的其他地理编码层级,则可以在相关标记图层或要素图层的图标属性中调整某些地理编码设置。有关图层类型的信息,请参见添加标记图层和添加要素图层。
使用已安装的客户端时,您可以选择使用“定位”或“地理编码”页面上的“添加”下拉列表,直接从“图表属性”对话框切换到库中的其他地理编码层级。您还可以选择添加一个全新的(内存中)数据表,以便在地理编码层级中使用。您可以使用“自动匹配”以匹配列内容,如上所述。
如果需要,您可以编辑图表中的数据图层和地理编码数据表之间的列匹配。
若有层级中包含的地理编码表没有从库中自动下载,则“图表属性”对话框的列表中将予以指明。单击以选择感兴趣的地理编码表,然后单击“加载”将该表加载到分析中。请注意,如果层级已在使用并且通过滑块修改了层级级别,则当前使用的地理编码表可能会因图表而更改。
从图表属性的地理编码层级列表中删除地理编码表仅仅指定该表不应用于当前图层中的地理编码。所有已加载的地理编码表将保留在分析中,直到您将它们从数据画布中明确删除。
库中的地理编码层级
Spotfire Server 以 Zip 档案的形式附带了一组默认地理编码层级,库管理员可以将它们导入到库中。每个层级都包含许多地理编码表。导入后,地理编码层级通常位于库中的 GeoAnalytics 文件夹内。由于这些地理编码表中大部分都包含地理形状,它们也可用作地图中的要素图层。当您选择在地图中添加要素图层的新标记图层时,位于库中的地理编码层级将显示在列表中。
您也可以按照指定新的地理编码表中的说明,将自己的地理编码表添加到库中。
对库中的特定数据文件禁用自动地理编码
可以通过库文件的“编辑属性”对话框,指定大型 SBDF 文件中的数据不应由其他数据表自动下载(用于地理编码)。
在“地理编码”选项卡中,清除“允许自动下载”复选框。
如果不自动下载地理编码表,依然可以在以后从相关地图图层的图表属性中的“位置”或“地理编码”部分来添加它们。
禁用自动地理编码(在内部部署环境中)
通过将 AutoloadGeocodingTables
偏好设置设定为 False
,Spotfire 内部部署管理员可以为一组用户完全禁用地理编码表的自动加载。通过选择 ,可以在已安装的客户端中找到此偏好。转到 Preferences
选项卡,然后在 MapChartPreferences
组中查找以找到该偏好。
如果该组使用的是慢速连接,或者系统重复进行不必要的地理编码匹配,就需要这样做。
- 指定新的地理编码表
Spotfire 附带的一系列地理编码层级通常存储在库中(适用于内部部署和 TIBCO Cloud Spotfire 用户)。您也可以使用形状文件 (.shp)、GeoJSON 文件 (.geojson) 或具有类别(通常为string
)层级的数据表定义自己的地理编码表,并将其保存在库中供将来使用。通过在 Spotfire 中设置地理编码表的几个数据表和列属性,然后将该文件导出到库,可以完成这一操作。也可以使用本地存储的地理编码表。 - 为信息链接配置地图数据
当地理数据位于数据库中,并且使用信息链接检索数据,如果您想要信息链接的最终用户无需更多配置即可创建地图,则在创建列元素时必须执行多个步骤。 - 配置 WKB 数据以用于地图
当地理数据位于“已知二进制 (WKB)”列中,但并非源自形状文件或 GeoJSON 文件时,您可以通过使用“添加计算的列”工具中的空间函数(采用表达式语言)来手动创建所需的坐标列。