地图可视化

地图可视化在地理图上显示结果。 查询结果集必须包括相应的地理数据:

  • Choropleth:根据每个关键列的总值为地理区域(如国家或州)涂色。 查询必须按名称返回地理位置(支持的名称请参见 区域查找表 )或以 几何地理 列的形式返回。 举例可参见 Choropleth地图
  • 点地图:在地图上的一组坐标处放置标记。 查询结果必须返回纬度和经度对或 GEOMETRYGEOGRAPHY 列。 示例请参见 点图
  • 路径图:从 几何地理 列为每一行绘制一条线。 用于规划线路、交通线路、河流或划定的边界。 示例请参见 路径图

还可以从 GEOMETRYGEOGRAPHY 列呈现形状,而不是依赖于预定义的管理边界或单独的纬度和经度列。 请参阅 自定义地理数据

Choropleth 选项

根据数据中的数值,对地理区域(如国家/地区、州或县)进行绘制颜色。

配置 choropleth 映射

“数据 ”选项卡中,单击“ + 添加 SQL 数据集”,粘贴以下查询,然后运行它:

示例数据集 '''sql SELECT state, total_sales FROM VALUES ('加州', 98750), ('得克萨斯州', 87200), ('纽约', 76300)、(佛罗里达州、65100)、(伊利诺伊州、54800)、(宾夕法尼亚州、48200)、(俄亥俄州、43500)、(“佐治亚州”、“41200”、“北卡罗来纳州”、“39700”、“密歇根州”、“36100”、“新泽西州”、“新泽西州” 34800)、(“弗吉尼亚州”、“32500”、“华盛顿”、“31200”、“亚利桑那”、“29700”、“马萨诸塞州”、“28400”、“田纳西州”、“26900年” ) ('印第安纳州', 25100), ('密苏里州', 23800), ('马里兰州', 22600), ('威斯康星州', 21300), ('明尼苏达州', 20100), ('科罗拉多', 19400), ('阿拉巴马州', 18200), ('南卡罗来纳州', 17600), (路易斯安那州, 16900), ('肯塔基', 15800), ('俄勒冈', 14700)、(俄克拉荷马州、13600)、(康涅狄格州、12500)、(犹他州、11900)、(爱荷华州、11200)、(内华达州、10800)、(“阿肯色州”、“10100”)、(“密西西比州”、 9600)、(“堪萨斯州”、“9200”、“新墨西哥州”、“8700”、“内布拉斯加州”、“8300”、“西弗吉尼亚州”、“7900”、“爱达荷州”、“7400”、“夏威夷” , 7100, ('新罕布什尔州', 6800), (缅因州, 6400), (蒙大拿州, 6100), ('罗得岛', 5800), ('特拉华州', 5400), (南达科他州,5100年),(北达科他州,4800),(阿拉斯加州,4500),(佛蒙特州,4200),('怀俄明',3900)AS(州,total_sales):```

在可视化编辑器中,配置以下内容:

  1. 将可视化类型设置为 Choropleth 映射

  2. 地区部分,国家下方,点击“加号”图标......Values 下,单击选择国家/地区并选择 美国

  3. “地区”部分,州/省下,点击“加号”图标。“字段”下,选择 state

  4. 颜色下,点击 加号图标,选择 total_sales,并将变换设置为 SUM

    按美国州显示总销售额的 Choropleth 地图示例。

区域

“区域”设置告知地图如何解释数据中的位置值。 选择与数据匹配的格式。 Databricks支持行政边界、邮政编码、美国人口普查统计区(CSA和CBSA)、美国立法选区以及欧盟NUTS区域。 关于每种格式下可用的等级,以及它们接受的名称、缩写或代码,请参见 区域查询表

如果位置列中的值与所选格式不匹配,则该区域不会显示任何数据。

或者,选择自定义 几何 体,直接从数据中的 GEOMETRYGEOGRAPHY 列渲染区域边界。 请参阅 自定义地理数据

颜色

颜色会自动填充具有数据的每个区域。 单击颜色样本以选择不同的颜色。

可视化编辑器中的颜色设置部分显示所选颜色和带更多选项的加号。

要用数字字段给区域着色,点击Plus icon.Plus icon.颜色部分的并选择字段。 可以应用转换,例如 SUMMEDIAN。 地图在值范围内应用颜色渐变。 若要自定义颜色、渐变和标签,请单击颜色监视。

区域查找表

找到与你 所在地区 设置匹配的部分,下载其查询表,检查支持哪些名称、缩写或代码。

行政

级别 查找表
国家 country-names.csv
州/省 state-province-names.csv
县/市 county-district-names.csv
镇/镇 town-names.csv
城市/村庄 city-village-names.csv

注释

对于管理员 0(国家/地区)边界,可以直接将列中的 name_en 英语名称用作查询中的标识符。 对于其他区域级别,请使用 name_en 列查找支持的值,但使用其他列之一作为查询中的标识符。

邮政

邮编或邮政编码使用 zipcode-codes.csv

CSA /CBSA

CSA(联合统计区)将具有经济联系的相邻大都市和小都市区归类。 CBSA(基于核心统计区)覆盖单个大都市区和小都市区。

级别 查找表
综合统计区 us-csa-codes.csv
基于核心的统计区 us-cbsa-codes.csv

立法

级别 查找表
州参议院选区 senate-names.csv
国会选区 congressional-district-codes.csv

NUTS

NUTS是欧盟统计地区单位的命名法,分为三个级别:NUTS 1(主要社会经济区域)、NUTS 2(区域政策基础区域)和NUTS 3(小区域,用于特定诊断)。

级别 查找表
坚果 1 eu-nuts-1-codes.csv
坚果2 eu-nuts-2-codes.csv
坚果3 eu-nuts-3-codes.csv

点映射选项

点映射会在数据中的每一行放置一个坐标。

配置点映射

“数据 ”选项卡中,单击“ + 添加 SQL 数据集”,粘贴以下查询,然后运行它:

示例数据集
SELECT city, latitude, longitude, population
FROM VALUES
  ('New York',     40.7128,  -74.0060, 8336817),
  ('Los Angeles',  34.0522, -118.2437, 3979576),
  ('Chicago',      41.8781,  -87.6298, 2693976),
  ('Houston',      29.7604,  -95.3698, 2320268),
  ('Phoenix',      33.4484, -112.0740, 1608139),
  ('Philadelphia', 39.9526,  -75.1652, 1603797),
  ('San Antonio',  29.4241,  -98.4936, 1434625),
  ('San Diego',    32.7157, -117.1611, 1386932),
  ('Dallas',       32.7767,  -96.7970, 1304379),
  ('San Jose',     37.3382, -121.8863, 1013240)
AS t(city, latitude, longitude, population);

在可视化编辑器中,配置以下内容:

  1. “坐标”下,选择“ 经度/纬度”。
    1. 经度下,点击 加号图标。 然后选择 longitude
    2. Latitude下,点击 Plus图标。 然后选择 latitude
  2. “尺寸”下,点击 加号图标。 然后选择 population

点地图示例,显示按人口调整大小的美国城市。

坐标

使用可视化编辑器配置 坐标

  • 经度/纬度:选择包含地图坐标的 经度纬度 组件的列。
  • 几何图形:选择要用作点位置的 GEOMETRYGEOGRAPHY 列,而不是单独的纬度和经度列。 请参阅 自定义地理数据

颜色

对于未组合的数据,请单击颜色样本以更改地图上显示的点的颜色。 要应用分组策略,请点击可视化编辑器的Plus icon.Plus icon.颜色部分中的。 可以通过单击编辑器中每个组标签旁边的颜色样本来调整自动分配的颜色。

大小

点击“Plus icon.Plus icon.大小”部分的选择反映数量的字段。 这样你可以根据数据值显示不同大小的点。

路径图选项

路径图会为你数据中的每一行从几何列画一条线。

配置路径映射

“数据 ”选项卡中,单击“ + 添加 SQL 数据集”,粘贴以下查询,然后运行它:

示例数据集
SELECT line_name, line_type, ST_GEOMFROMTEXT(wkt, 4326) AS route
FROM VALUES
  ('Line 1 Yonge-University', 'Subway',     'LINESTRING(-79.4103 43.7804, -79.4065 43.7442, -79.3985 43.7057, -79.3860 43.6709, -79.3826 43.6612, -79.3790 43.6524, -79.3807 43.6453, -79.3868 43.6509, -79.3884 43.6549, -79.3934 43.6672, -79.3998 43.6681, -79.4041 43.6674, -79.4160 43.6840, -79.4353 43.6987, -79.4473 43.7247, -79.4617 43.7497, -79.4936 43.7647, -79.5022 43.7740, -79.5273 43.7942)'),
  ('Line 2 Bloor-Danforth',  'Subway',     'LINESTRING(-79.5357 43.6375, -79.5115 43.6482, -79.4843 43.6497, -79.4595 43.6558, -79.4526 43.6570, -79.4263 43.6622, -79.4111 43.6659, -79.3998 43.6681, -79.3860 43.6709, -79.3585 43.6767, -79.3450 43.6801, -79.3126 43.6866, -79.3016 43.6890, -79.2886 43.6952, -79.2795 43.7113, -79.2635 43.7325)'),
  ('Line 4 Sheppard',        'Subway',     'LINESTRING(-79.4106 43.7615, -79.3866 43.7669, -79.3762 43.7691, -79.3661 43.7714, -79.3462 43.7757)'),
  ('Line 5 Eglinton',        'Light rail', 'LINESTRING(-79.4880 43.6835, -79.4770 43.6900, -79.4650 43.6930, -79.4540 43.6952, -79.4420 43.6975, -79.4353 43.6987, -79.4190 43.7015, -79.4090 43.7035, -79.3985 43.7057, -79.3830 43.7085, -79.3660 43.7112, -79.3470 43.7150, -79.3250 43.7180, -79.3050 43.7220, -79.2850 43.7270, -79.2635 43.7325)'),
  ('Line 6 Finch West',      'Light rail', 'LINESTRING(-79.4936 43.7647, -79.5170 43.7638, -79.5330 43.7628, -79.5500 43.7580, -79.5680 43.7500, -79.5850 43.7410, -79.6030 43.7285)')
AS lines(line_name, line_type, wkt);

在可视化编辑器中,配置以下内容:

  1. 将可视化类型设置为 路径地图
  2. 路径下,在 几何体旁边,点击 加号图标, 然后选择 route
  3. 颜色下,点击 加号图标。 然后选择 line_name
  4. 线条图案中,点击 加号图标, 然后选择 line_type

路径图示例显示多伦多TTC线路按线条着色并按模式排列。

Geometry

选择包含线条几何形状的 “几何 ”或“ 地理 ”列。 每一行都画成一条线。 与点图不同,路径图不接受独立的纬度和经度列。 请参阅 自定义地理数据

颜色

对于未分组的数据,点击色片以更改地图上显示的线条颜色。 要按字段给线条上色,点击颜色部分的加号图标并选择字段。 可以通过单击编辑器中每个组标签旁边的颜色样本来调整自动分配的颜色。

大小

点击“大小”部分的加号图标,选择一个根据数据值变化的线条粗细的数字字段。

线条模式

点击线条模式部分的加号图标,选择一个类别字段,可以改变每条线的破折号样式。

自定义地理数据

可以直接从任何数据集中的 GEOMETRYGEOGRAPHY 列呈现地图。 使用此方法可可视化自定义形状,如销售区域、学区、商店集水区,或绘制点,而无需将坐标拆分为单独的纬度和经度列。

地图会独立绘制每一行,所以如果你的数据每个区域有多行,形状或点可能会重叠。 若要将行合并到每个区域的单个形状,请使用指标视图中的几何图形度量值。 请参阅 “限制 ”和 “本地指标”视图

使用几何度量值定义指标视图

在指标视图中 YAML 中,使用支持的聚合之一将几何图形或地理列设置为度量值: ST_UNION_AGGST_ENVELOPE_AGGFIRSTLAST。 对要分组的非几何图形列使用维度。

以下本地指标视图定义为 region 维度、 total_sales 数值度量值,并用于 ST_UNION_AGG 将每行边界合并到每个区域的单个形状中:

version: 0.1
source: sales.territories

dimensions:
  - name: region
    expr: region

measures:
  - name: total_sales
    expr: SUM(sales_amount)
  - name: region_shape
    expr: ST_UNION_AGG(boundary)

如果地理数据存储为序列化字符串或二进制值,请将其 GEOMETRY 强制转换为度量值表达式或 GEOGRAPHY 将其转换为度量值表达式。

创建 choropleth 映射

Choropleth 地图支持 PolygonMultiPolygon 形状。

  1. 将指标视图添加为数据集。
  2. 将可视化类型设置为 Choropleth 映射
  3. “区域”下,选择 “自定义几何图形 ”并选择几何度量值(例如, region_shape)。
  4. “颜色”下,选择数字度量值,例如 total_sales

创建点映射

点映射支持 PointMultiPoint 形状。 Point使用 -valued geometry 度量值,例如FIRST(location)ST_UNION_AGG(location)

  1. 将指标视图添加为数据集。
  2. 将可视化效果类型设置为 点映射
  3. “坐标”下,选择“ 几何图形 ”并选择几何度量值。
  4. 可选:在 “大小”中选择一个数值度量以改变点大小。

创建路径图

路径图 LineString 支撑和 MultiLineString 形状。 使用 LineString值几何测度,或将每行段合并为每组的 ST_UNION_AGG单一路径。

  1. 将指标视图添加为数据集。
  2. 将可视化类型设置为 路径地图
  3. 路径下,选择你的几何测量。
  4. 可选:在 颜色中选择一个字段来给线条着色。

局限性

自定义地理数据存在以下限制:

  • GROUP BY 不支持列 GEOMETRYGEOGRAPHY 列。 若要将多个行组合成每个组的单个形状,请使用、ST_UNION_AGGST_ENVELOPE_AGGFIRST将几何图形聚合为指标视图度量LAST值。 否则,将独立呈现每一行,形状可能会重叠。
  • 地图呈现器使用 WGS84 (SRID 4326)。 Databricks 会自动重投影 GEOMETRY 其他 SRID 中的列; GEOGRAPHY 列必须已经是 SRID 4326。 如果需要,请在度量值表达式中使用 ST_Transform 重新投影。
  • GEOMETRY 不呈现具有 SRID 0 (未知坐标系)的列。
  • GeometryCollection 不支持混合多个形状类型的值和列。
  • 使用几何图形或地理列的地图不支持标签编码。