当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS DotDensityRenderer用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/renderers/DotDensityRenderer"], (DotDensityRenderer) => { /* code goes here */ });

ESM: import DotDensityRenderer from "@arcgis/core/renderers/DotDensityRenderer";

类: esri/renderers/DotDensityRenderer

继承: DotDensityRenderer > Renderer > Accessor

自从:用于 JavaScript 4.11 的 ArcGIS API

用法说明

DotDensityRenderer 允许您为多边形图层创建点密度可视化。点密度可视化在每个多边形内随机绘制点,以可视化人口或其他变量的密度。每个点代表一个属性或属性子集的固定数值。与等值线图不同,点密度可视化中使用的字段值不需要标准化,因为多边形的大小以及在其边界内渲染的点的数量指示该值的空间密度。

例如,下图使用点密度按人口普查区可视化人口。请注意,每个点代表大约 100 人。

dot-density-one-attribute

您可以指定多个属性来可视化数据的子类别。例如,我们可以可视化上面的同一层,但按种族/民族对每个点进行分类。因此,每个不同颜色的点代表相应类别的 100 个人(例如,1 个红点代表 100 个非西班牙裔白人),每个蓝点 = 100 个非裔美国人,每个黄点 = 100 个西班牙裔美国人,等等)。

dot-density

这种点密度的实现允许您基于 view scale 线性缩放点值。因此,当您放大和缩小初始视图时,点的相对密度在不同尺度上保持不变。

在创建点密度可视化时请记住以下建议:

  • 您应该尽可能使用等面积spatial references,尤其是在构建跨越全局范围的点密度可视化时。使用带有DotDensityRenderer 的严重扭曲的空间参考是可以的,只要您限制用户在大比例下比较同一视图内的要素密度。当无法使用等面积投影时,我们强烈反对跨多个视图比较特征,因为面积失真的显著差异可能会导致用户误解严重失真区域的特征密度。
  • 您通常应该在图层上设置minScale。当点由于合并或过于分散而不再可区分时,点密度可视化很难阅读。
  • 在图层上设置maxScale也很重要,因为点密度图在较大比例下往往变得不可读。用户可能会开始看到现实中不存在的点的随机分布模式。他们还可能错误地将每个点的位置解释为实际的点特征。当 dotValue 设置为 1 时,用户特别容易受到此影响。例如,县数据集上的点密度可视化只能在州或地区级别查看。
  • 使用 attribute 属性来指定一个或多个数据值。当指定多个属性时,属性组在一起可视化时应该有意义,并且通常应该属于父组。例如,您可以绘制宠物的密度图,或者不同种类的宠物(例如狗、 cat 等)的密度。
  • 使用弹出窗口清楚地传达函数的实际值,以便用户可以直观地和交互地探索Map。

已知限制

例子:

layer.renderer = {
  type: "dot-density",  // autocasts as new DotDensityRenderer()
  dotValue: 1000,  // 1 dot = 1,000 people when the view.scale is 1:1,000,000
  referenceScale: 1000000,  // view.scale
  attributes: [{
    field: "ELEMENTARY_SCHOOL",
    label: "Elementary School",
    color: "red"
  }, {
    field: "MIDDLE_SCHOOL",
    label: "Middle School",
    color: "blue"
  }, {
    field: "HIGH_SCHOOL",
    label: "High School",
    color: "orange"
  }, {
    valueExpression: "$feature.ASSOCIATES_DEGREE + $feature.BACHELOR_DEGREE + $feature.MASTER_DEGREE + $feature.DOCTORATE_DEGREE",
    valueExpressionTitle: "People who completed university",
    label: "University"
    color: "green"
  }]
}

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 DotDensityRenderer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。