VectorFieldRenderer 允许您使用矢量符号显示栅格数据。该渲染器通常用于可视化气象学和海洋学栅格数据中的流向和幅度信息。它还可用于对符号为标量的单个栅格图层进行符号化。栅格方向定义了角度,而栅格量级定义符号的大小。
已知限制
- VectorFieldRenderer 仅支持 ImageryLayer 和 ImageryTileLayer。
- VectorFieldRenderer 仅在 2D MapView 中受支持。
- Legend 中不支持 VectorFieldRenderer 上设置的 visualVariables。
const renderer = new VectorFieldRenderer({
style: "beaufort-kn", // Beaufort point symbol (knots)
flowRepresentation: "flow-from", // show flow to angle for wind direction
symbolTileSize: 10, // draw one symbol in every 10x10 pixels
visualVariables: [
{
type: "size",
field: "Magnitude", // values read from the first band
maxDataValue: 32,
maxSize: "100px",
minDataValue: 0.04,
minSize: "8px"
},
{
type: "rotation",
field: "Direction", // values read from the second band
rotationType: "geographic"
}
]
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 表示量级的属性字段。 更多详情 | VectorFieldRenderer | |
String | 类的名称。 更多详情 | Accessor | |
String | 定义数据的流向。 更多详情 | VectorFieldRenderer | |
String | 用于表示矢量流的预定义符号样式。 更多详情 | VectorFieldRenderer | |
Number | 确定符号的密度。 更多详情 | VectorFieldRenderer | |
String | 渲染器的类型。 更多详情 | VectorFieldRenderer | |
VisualVariable[] | VisualVariable 对象的数组。 更多详情 | VectorFieldRenderer |
属性详细信息
-
attributeField String
-
表示量级的属性字段。
对于 VectorFieldRenderer,attributeField 总是 "Magnitude"。
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
flowRepresentation String
-
定义数据的流向。如果您具有显示风向的数据,建议使用
flow-to
在地图上显示风的自然流向。值 描述 flow-from VectorFieldRenderer 符号样式指向数据的方向。 flow-to VectorFieldRenderer 符号样式指向数据的相反方向。 可能值:"flow-from"|"flow-to"
- 默认值:"flow-from"
-
style String
-
用于表示矢量流的预定义符号样式。
值 描述 beaufort-ft 蒲福点符号 (英尺) beaufort-km 蒲福点符号 (千米) beaufort-kn 蒲福点符号 (节) beaufort-m 蒲福点符号 (米) beaufort-mi 蒲福点符号 (英里) classified-arrow 分类箭头点符号 ocean-current-kn 洋流点符号 (节) ocean-current-m 洋流点符号 (米) simple-scalar 简单标量点符号 single-arrow 单箭头点符号 wind-barb 倒钩风速点符号 可能值:"beaufort-ft"|"beaufort-km"|"beaufort-kn"|"beaufort-m"|"beaufort-mi"|"classified-arrow"|"ocean-current-kn"|"ocean-current-m"|"simple-scalar"|"single-arrow"|"wind-barb"
- 默认值:"single-arrow"
-
symbolTileSize Number
-
确定符号的密度。切片大小越大,符号越少。VectorFieldRenderer 在定义的切片大小 (以屏幕像素为单位) 内绘制一个符号。
- 默认值:50
-
type Stringreadonly
-
渲染器的类型。
对于 VectorFieldRenderer,类型总是 "vector-field"。
-
visualVariables VisualVariable[]autocast
-
VisualVariable 对象的数组。每个对象必须指示要应用的视觉变量类型 (例如 SizeVisualVariable、RotationVisualVariable)、要从中生成可视化的数值字段或表达式,以及要映射到数据的可视化值。
为 VectorFieldRenderer 上设置的视觉变量设置字段时,请使用
Magnitude
和Direction
字段。Magnitude
将返回第一个波段的像素值。Direction
将返回第二个波段的值。如果数据表示 u (zonal) 和 v (meridional) 速度分量,则值将自动转换为Magnitude
和Direction
。示例const renderer = new VectorFieldRenderer({ style: "beaufort-kn", // Beaufort point symbol (knots) flowRepresentation: "flow-from", // show flow to angle for wind direction symbolTileSize: 10, // controls the density of the displayed vector symbols. visualVariables: [ { type: "size", field: "Magnitude", // values read from the first band maxDataValue: 32, maxSize: "100px", minDataValue: 0.04, minSize: "8px" }, { type: "rotation", field: "Direction", // values read from the second band rotationType: "geographic" } ] });
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
VectorFieldRenderer | 创建 renderer 的深度克隆。 更多详情 | VectorFieldRenderer | |
* | 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。 更多详情 | VectorFieldRenderer | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Object | 将此类的实例转换为 GeoScene Portal JSON 表示。 更多详情 | VectorFieldRenderer |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
clone(){VectorFieldRenderer}
-
创建 renderer 的深度克隆。
返回类型 描述 VectorFieldRenderer 调用此方法的对象的深度克隆。 示例// Creates a deep clone of the first layer's renderer let renderer = view.map.layers.getItemAt(0).renderer.clone();
-
fromJSON(json){*}static
-
创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入
json
参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。参数json ObjectGeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回类型 描述 * 返回该类的新实例。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
toJSON(){Object}
-
将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。
返回类型 描述 Object 此类实例的 GeoScene Portal JSON 表示。