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


JavaScript ArcGIS size.createAgeRenderer用法及代码示例


基本信息

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

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

ESM: import * as sizeRendererCreator from "@arcgis/core/smartMapping/renderers/size";

对象: esri/smartMapping/renderers/size

自从:用于 JavaScript 4.2 的 ArcGIS API

用法说明

size.createAgeRenderer函数(或属性)的定义如下:

createAgeRenderer (params) {Promise<AgeRendererResult>}


自从:ArcGIS 适用于 JavaScript 4.9 的 API

根据一个或多个字段生成表示特征年龄的连续大小Renderer。特征的年龄是根据给定的 startTimeendTime 计算的,其中之一必须是输入 layer 中的日期字段。此方法生成 Arcade 表达式并计算表达式输出的统计信息以完成此操作。生成的渲染器包含一个连续大小的可视变量,它将最佳大小映射到从汇总统计返回的数据值。

您需要提供 layerviewstartTimeendTime 来生成此渲染器。或者,您可以为可视化设置 unit。提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。例如,如果您已经在另一个操作中生成了统计信息,则可以将统计信息对象传递给 statistics 参数以避免对服务器进行额外调用。

参数:

规格:
类型说明
params Object

用于为从开始和/或结束日期字段返回的时间数据生成年龄的连续大小可视化的输入参数。有关每个参数的详细信息,请参见下表。

规格:

为其生成可视化的图层。

view

View

渲染输入层的视图。此方法检查视图的背景(即底图、Web Map背景或视图容器)以确定输出渲染器的最佳颜色。

startTime

Date|String|Number

字段的名称,或表示年龄计算中开始时间的日期值。如果指定了日期值,则 endTime 参数必须引用图层中的日期字段。

endTime

Date|String|Number

字段的名称,或表示年龄计算中结束时间的日期值。如果指定了日期值,则 startTime 参数必须引用图层中的日期字段。

unit

String

可选的

用于计算 endTimestartTime 之间差异的时间单位。如果未指定单位,则根据数据的分布和分布确定建议的单位。

可能的值"years"|"months"|"days"|"hours"|"minutes"|"seconds"

theme

String

可选的
默认值:high-to-low

根据有意义的数据值设置大小停止。

说明
high-to-low 最大数据值被分配最大大小。最小数据值被分配最小大小。所有其他值都被插值。
above 最大数据值被分配最大大小。平均数据值被分配最小大小。对最大数据值和平均值之间的所有其他值进行插值。这对于映射变量随时间的增加非常有用,例如人口增加或两个日期之间的失业。
below 最小数据值被分配最大大小。平均数据值被分配最小大小。对最小数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间的下降情况很有用,例如人口减少或两个日期之间的失业率。

可能的值"high-to-low"|"above"|"below"

maxValue

Number

可选的

设置可视化的最大年龄。即使存在高于此值的数据,也只会计算 minValuemaxValue 之间的值的统计信息。在 4.15 版添加。

minValue

Number

可选的

设置可视化的最小年龄。即使存在低于此值的数据,也只会计算 minValuemaxValue 之间的值的统计信息。在 4.15 版添加。

outlineOptimizationEnabled

Boolean

可选的
默认值:错误的

仅适用于多边形图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在 view 参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。

sizeOptimizationEnabled

Boolean

可选的
默认值:错误的

指示符号大小是否应根据视图比例而变化。设置后,必须在 view 参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。

legendOptions

Object

可选的

提供用于修改说明可视化的Legend 属性的选项。

规格:
title

String

可选的

Legend 中用于表示年龄大小渐变的标题。

showLegend

Boolean

可选的

指示是否在图例中包含年龄渲染器。

可选的

summaryStatistics 函数生成的统计对象。 createAgeRenderer() 方法生成 Arcade 表达式并针对该层执行统计查询以获取表达式的结果。如果已经生成了表达式的统计信息,则在此处传递对象以避免进行第二次统计查询。

sizeScheme

SizeScheme

可选的

在创作应用程序中,用户可以选择预定义的尺寸方案。将方案对象传递给此属性以避免根据视图的背景获取一个。

symbolType

String

可选的
默认值:二维

要生成的符号类型。这取决于您正在使用的视图和所需的可视化。不需要为具有mesh 几何类型的图层指定此参数。可能的值如下所述。

说明
2d 使用 2D 符号(例如 SimpleMarkerSymbolSimpleLineSymbolSimpleFillSymbol )生成可视化。如果为 MapView 中的数据生成可视化,请使用此选项。
3d-flat 使用具有平面符号图层(例如 IconSymbol3DLayerLineSymbol3DLayerFillSymbol3DLayer )的 3D 符号生成可视化。如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。
3d-volumetric 使用具有体积符号图层的 3D 符号生成可视化,例如 ObjectSymbol3DLayerPathSymbol3DLayerExtrudeSymbol3DLayer 。如果为 SceneView 中的数据生成 3D 可视化,请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。
3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化。如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应一致,例如球体,请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。

可能的值"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"

defaultSymbolEnabled

Boolean

可选的
默认值:真的

在渲染器上启用 defaultSymbol 并将其分配给没有值的函数。

signal

AbortSignal

可选的

允许可取消的请求。如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。另见AbortController

返回:

类型 说明
Promise<AgeRendererResult> 解析为 AgeRendererResult 的实例。

例子:

const layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/311_Service_Requests_from_2015_50k/FeatureServer/0"
});

// visualization based age of incidents closed passed their due date
// or the number of days an incident was overdue at the time of closure.

const ageParams = {
  layer: layer,
  view: view,
  startTime: "Due_Date",
  endTime: "Closed_Date",
  unit: "days"
};

// when the promise resolves, apply the renderer to the layer
sizeRendererCreator.createAgeRenderer(ageParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });
const layer = new CSVLayer({
  url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.csv",
  copyright: "USGS Earthquakes"
});

// visualization based off current age of incident
const ageParams = {
  layer: layer,
  view: view,
  startTime: "time",
  endTime: Date.now(),
  legendOptions: {
    title: "Time since earthquake struck"
  }
};

// when the promise resolves, apply the renderer to the layer
sizeRendererCreator.createAgeRenderer(ageParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });

相关用法


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