聚类

按燃料类型对全球发电厂进行聚类和分类。聚类汇总了图层的渲染器,因此您可以一目了然地查看要素的空间密度。

什么是聚类?

聚类是一种通过彼此之间的空间接近度将点要素分组为聚类来减少图层中点的方法。通常,聚类的大小取决于每个聚类中的要素数。

如果区域中的许多点相互叠加,则这是显示该区域的有效方法。

聚类允许您有效地可视化点叠加在另一点上或彼此非常接近的位置。使用上面的卷帘微件比较发电厂的未聚类图层与聚类版本。

为什么聚类分析很有用?

大型点图层可能具有欺骗性。看起来只有几个点,但实际上可能是几千个。聚类允许您在相对较小的区域中以可视化方式表示大量点。

例如,以下地图显示了数千个发电厂的位置。在下图中,区域 A 和 B 都具有高密度的点,因此无法进行比较。

已禁用聚类

区域 A 和区域 B 都具有高密度的点。无法判断每个区域中有多少个点重叠。

但是,启用聚类时,用户现在可以清楚地看到区域 B 的点数几乎是区域 A 的两倍。

没有标注的分类

聚类可使用户能够一目了然地轻松比较重叠要素的密度。

聚类的工作方式

聚类是在图层的 featureReduction 属性中配置的。通过将 featureReduction 类型设置为 cluster,可以使用最少的代码启用聚类。

代码块使用深色复制
   
1
2
3
layer.featureReduction = {
  type: "cluster"
}; 

featureReduction 属性使您可以控制许多其他聚类属性。clusterRadius 可定义每个聚类的影响区域以包括要素。您还可以为聚类定义 popupTemplateslabels,以汇总聚类中包含的要素。

示例

基本聚类

以下示例演示了如何在点图层上启用聚类,以及如何配置用于显示聚类计数的标注和弹出窗口。

在图层上启用聚类后,将生成聚类使用的聚合字段。默认情况下,所有聚类图层都具有 cluster_count 聚合字段。这可用于每个聚类的标注和弹出窗口。图层渲染器中使用的其他字段均可以在弹出窗口中显示。您可在 FeatureReductionCluster.popupTemplate 文档中了解有关如何使用它们的更多信息。

有关如何在聚类弹出窗口中汇总数据的更多示例,请参阅以下的相关示例和资源

按计数聚类的全球发电厂。
GeoScene JS API
展开
代码块使用深色复制
52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
        clusteredLayer.featureReduction = {
          type: "cluster",
          clusterMinSize: 16.5,
          // defines the label within each cluster
          labelingInfo: [
            {
              deconflictionStrategy: "none",
              labelExpressionInfo: {
                expression: "Text($feature.cluster_count, '#,###')"
              },
              symbol: {
                type: "text",
                color: "white",
                font: {
                  family: "Noto Sans",
                  size: "12px"
                }
              },
              labelPlacement: "center-center"
            }
          ],
          // information to display when the user clicks a cluster
          popupTemplate: {
            title: "Cluster Summary",
            content: "This cluster represents <b>{cluster_count}</b> features.",
            fieldInfos: [{
              fieldName: "cluster_count",
              format: {
                places: 0,
                digitSeparator: true
              }
            }]
          }
        };
 
展开

建议的聚类默认值

默认情况下,聚类符号始终汇总聚类中的要素。当图层具有 UniqueValueRenderer 时,每个聚类的符号表示聚类中要素的主要值。当图层应用了任何视觉变量时,可将聚类中每个变量的平均值应用于聚类符号。描述数值字段的主要类型和平均值的字段可以在聚类弹出窗口和标注中引用。

此示例使用智能制图方法演示了如何生成特定于图层渲染器的建议聚类配置。

按燃料类型对全球发电厂进行聚类和分类。聚类汇总了图层渲染器,因此您可以一目了然地查看聚类所包含的要素汇总。
GeoScene JS API
展开
代码块使用深色复制
102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 122 122 122 122 122 122 122 122 122 122 122
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
          // generates default popupTemplate
          const popupTemplate = await clusterPopupCreator
            .getTemplates({ layer })
            .then( (popupTemplateResponse) => popupTemplateResponse.primaryTemplate.value );

          // generates default labelingInfo
          const { labelingInfo, clusterMinSize } = await clusterLabelCreator
            .getLabelSchemes({
              layer,
              view
            })
            .then((labelSchemes) => labelSchemes.primaryScheme);

          // Set this object on layer.featureReduction
          return {
            type: "cluster",
            popupTemplate,
            labelingInfo,
            clusterMinSize
          };
 
展开

聚类为饼图

默认情况下,当图层具有 UniqueValueRendererClassBreaksRenderer 时,每个聚类的符号表示聚类中的主要类别。

您可能更希望将基于类型的渲染器聚类可视化为饼图,而不是主要类别。为此,您可以调用 pieChart.createRendererForClustering 方法,该方法将根据 UniqueValueRenderer 或 ClassBreaksRenderer 中定义的类别创建饼图渲染器。

从此方法返回的字段和渲染器应直接在图层上的 FeatureReductionCluster 实例上进行设置。

代码块使用深色复制
          
1
2
3
4
5
6
7
8
9
10
const { renderer, fields } = await pieChartRendererCreator.createRendererForClustering({
  layer,
  shape: "donut"
});

layer.featureReduction = {
  type: "cluster",
  fields,
  renderer
} 
311 份事故报告,按燃料类型分类。聚类分析可使用 UniqueValueRenderer 或 ClassBreaksRenderer 将图层渲染器汇总为图层的饼图。
点聚类 - 基本配置相关示例的图像预览

点聚类 - 基本配置

点聚类 - 基本配置

覆盖聚类符号的相关示例的图像预览

覆盖聚类符号

覆盖聚类符号

聚类为饼图的相关示例的图像预览

聚类为饼图

聚类为饼图

基于字段总和的聚类大小的相关示例的图像预览

基于字段总和的聚类大小

基于字段总和的聚类大小

使用聚合字段进行聚类的相关示例的图像预览

使用聚合字段进行聚类

使用聚合字段进行聚类

点聚类 - 生成建议的配置相关示例的图像预览

点聚类 - 生成建议的配置

点聚类 - 生成建议的配置

点聚类 - 过滤弹出窗口要素相关示例的图像预览

点聚类 - 过滤弹出窗口要素

此示例演示如何在聚类的弹出窗口中过滤聚类要素。

点聚类 - 查询聚类相关示例的图像预览

点聚类 - 查询聚类

点聚类 - 查询聚类

点聚类 - 高级配置相关示例的图像预览

点聚类 - 高级配置

点聚类 - 高级配置

具有视觉变量的点聚类相关示例的图像预览

具有视觉变量的点聚类

具有视觉变量的点聚类

FeatureReductionCluster

有关更多信息,请阅读参考手册。

API 支持

下表描述了非常适合每种可视化技术的几何图形和视图类型。

完全支持部分支持不支持
  • 1.不支持要素缩减选择
  • 2.仅支持要素缩减选择
  • 3.仅支持比例驱动过滤器

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。