使用热点图可视化场景中的点

尝试一下在线预览

此示例演示如何在 SceneView 中构造 HeatmapRenderer,以便可视化大型密集点数据集。热点图渲染器将点可视化为叠加在地形上的栅格表面,其中强烈的颜色表示具有高密度点的区域。颜色较弱或没有颜色的区域表示点不多的位置。

了解如何实现热点图对于了解如何构建渲染器至关重要。视图中的每个像素都根据其与一个或多个点的接近程度为其分配一个 intensity 值。如果指定了字段,则强度值乘以字段值。

热点图是通过将一组 colorStops 传递给渲染器来构造的,渲染器将特定颜色映射到比率值。该比率表示像素的强度值与渲染器的 maxPixelIntensity 的比率。因此,越低于 maxPixelIntensity,地图看起来越热。

此外,您可以添加 referenceScale 以将 blurRadius 固定为特定比例,使其在实际大小中保持不变。请注意,这仅适用于 SceneView 中的热点图。

                      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const heatmapRenderer = {
  type: "heatmap", // autocasts as new HeatmapRenderer()
  colorStops: [
          { ratio: 0 / 6, color: "rgba(25, 43, 51, 0.6)" },
          { ratio: 1 / 6, color: "rgba(30, 140, 160, 1)" },
          { ratio: 2 / 6, color: "rgba(64, 184, 156, 1)" },
          { ratio: 3 / 6, color: "rgba(73, 214, 181, 1)" },
          { ratio: 4 / 6, color: "rgba(83, 245, 207, 1)" },
          { ratio: 5 / 6, color: "rgba(102, 255, 219, 1)" },
          { ratio: 6 / 6, color: "rgba(158, 255, 233, 1)" }
  ],
  blurRadius: 15,
  referenceScale: 3500,
  maxPixelIntensity: 50,
  minPixelIntensity: 0
};

const layer = new FeatureLayer({
  url: "https://services2.arcgis.com/jUpNdisbWqRpMo35/arcgis/rest/services/Verkehrsunf%C3%A4lle_2019/FeatureServer",
  opacity: 0.75,
  renderer: heatmapRenderer
});

有关此实现的更多详细信息,请参阅 HeatmapRenderer 文档。

其他可视化示例和资源

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.