在定义如何镶嵌单个影像时,指定镶嵌规则。它可指定选择、镶嵌方法、排序顺序、重叠像素分辨率等。镶嵌规则适用于镶嵌数据集中的栅格。镶嵌规则用于定义:
- 选择将要参与镶嵌的栅格(使用 where 子句)。
- 镶嵌方法,例如:所选栅格的排序方式。
- 镶嵌操作,例如:如何解决相同位置处的重叠像素。
new MosaicRule({
ascending: true,
method: "center",
operation: "last"
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
Boolean | 指示排序是否应升序。 更多详情 | MosaicRule | |
String | 类的名称。 更多详情 | Accessor | |
RasterFunction | 在镶嵌之前应用于项目的渲染规则。 更多详情 | MosaicRule | |
Number[] | 栅格 id 的数组。 更多详情 | MosaicRule | |
String | 镶嵌方法用于确定所选栅格的排序方式。 更多详情 | MosaicRule | |
DimensionalDefinition[] | 与 ImageryLayer 关联的多维定义。 更多详情 | MosaicRule | |
Number[] | 使用一组 ObjectID 定义所选内容。 更多详情 | MosaicRule | |
String | 定义用于解析重叠像素的镶嵌操作。 更多详情 | MosaicRule | |
String | 当镶嵌方法设置为 | MosaicRule | |
String|Number | 常量值,当方法设置为 | MosaicRule | |
Point | 定义根据与视点的距离和栅格的最低点定义排序的视点位置。 更多详情 | MosaicRule | |
String | where 子句用于确定哪些栅格将参与镶嵌。 更多详情 | MosaicRule |
属性详细信息
-
起始版本:GeoScene Maps SDK for JavaScript 4.7
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
itemRenderingRule RasterFunction
-
在镶嵌之前应用于项目的渲染规则。
-
栅格 id 的数组。选择具有给定栅格 Id 列表的所有栅格以参与镶嵌。无论锁定栅格的最小和最大像素尺寸范围如何,所有像素大小的栅格都将可见。
- 默认值:null
示例let mosaicRule = new MosaicRule(); mosaicRule.method = "lock-raster"; mosaicRule.lockRasterIds = [32,454,14];
-
method String
-
镶嵌方法用于确定所选栅格的排序方式。镶嵌方法定义了如何根据这些输入栅格创建镶嵌影像。
值 描述 none 根据镶嵌数据集属性表中的 objectIds 顺序对栅格进行排序。 center 允许栅格根据其 ZOrder 和 PixelSize 进行排序,然后按默认顺序进行排序,其中其中心最靠近视图中心的栅格放置在顶部。 nadir 允许依次按 ZOrder、PixelSize 和最低点位置与视图中心之间的距离对栅格进行排序。这类似于"最接近中心"方法,但使用栅格的最低点,该点可能与中心不同,特别是对于倾斜影像。 viewpoint 依次根据 ZOrder、PixelSize 对栅格进行排序,然后使用视点按用户定义的位置和栅格的最低点位置进行排序。 attribute 允许依次按 ZOrder、PixelSize 和定义的元数据属性及其与基值的差异对栅格进行排序。 lock-raster 使用户能够根据 lockRasterIds 锁定单个或多个栅格的显示。 northwest 允许依次按 ZOrder、PixelSize 以及按栅格中心与西北位置之间的最短距离对栅格进行排序。 seamline 使用每个栅格的预定义接缝线形状切割栅格,沿接缝使用可选的羽化,并根据 ZOrder 和属性表中的 SOrder 字段对影像进行排序。 可能值:"none"|"center"|"nadir"|"viewpoint"|"attribute"|"lock-raster"|"northwest"|"seamline"
示例let mosaicRule = new MosaicRule(); mosaicRule.method = "lock-raster";
-
multidimensionalDefinition DimensionalDefinition[]
-
与 ImageryLayer 关联的多维定义。通过沿定义的变量和维度 (如时间、深度、海拔等) 切片数据来过滤图层。例如,您可以显示以固定维度 (例如时间,深度) 测量的特定变量,例如温度或盐度。这些数据类型通常用于大气科学、海洋学和地球科学。例如,它可用于显示一年中特定一周内低于海平面 1000 米的海水温度。
服务器将多个定义合并为一个 where 子句。合并规则是:
- 对于相同的 variableName 但不同的 dimensionName,它使用
AND
运算符以连接同一变量的所有维度条件。 - 对于不同的 variableName,它使用
OR
运算符连接任何满足其维度条件的变量。
示例// Display water salinity at a specific point in time. // In this case - Nov 30 2009 let mosaicRule = new MosaicRule(); mosaicRule.multidimensionalDefinition = []; mosaicRule.multidimensionalDefinition.push(new DimensionalDefinition({ variableName: "Salinity", dimensionName: "StdTime", values: [1259625600000] })); layer.mosaicRule = mosaicRule;
- 对于相同的 variableName 但不同的 dimensionName,它使用
-
使用一组 ObjectID 定义所选内容。此属性适用于所有镶嵌方法。
-
operation String
-
定义用于解析重叠像素的镶嵌操作。
可能值
值 描述 first 重叠区域将包含源中列出的第一个栅格数据集中的像元。 last 重叠区域将包含源中列出的最后一个栅格数据集中的像元。 min 重叠区域将包含所有重叠像元中的最小像元值。 max 重叠区域将包含所有重叠像元中的最大像元值。 mean 重叠区域将包含所有重叠像元的平均像元值。 blend 重叠区域将是重叠的像元值的混合。此混合值依赖于基于权重的算法,该算法依赖于从像元到重叠区域内边缘的距离。 sum 重叠区域将包含所有重叠像元中像元值的总和。 可能值:"first"|"last"|"min"|"max"|"mean"|"blend"|"sum"
-
sortField String
-
当镶嵌方法设置为
attribute
时,与常量 sortValue 一起使用以定义镶嵌顺序的属性字段的名称。排序由指定排序字段值与排序基值之间差值的绝对值定义。例如,如果排序字段为Month
,排序值为7 (July)
,则排序由ABS(Month -7)
定义。- 默认值:null
-
常量值,当方法设置为
attribute
时,该值可定义排序字段的引用或基值。- 默认值:null
-
viewpoint Point
-
定义根据与视点的距离和栅格的最低点定义排序的视点位置。
示例let mosaicRule = new MosaicRule(); mosaicRule.method = "viewpoint"; mosaicRule.viewpoint = inPoint; layer.mosaicRule = mosaicRule;
-
where String
-
where 子句用于确定哪些栅格将参与镶嵌。此属性适用于所有镶嵌方法。如果同时设置了两个属性,则此属性将被 ImageryLayer 的 definitionExpression 属性覆盖。
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
MosaicRule | 创建 MosaicRule 对象的克隆。 更多详情 | MosaicRule | |
* | 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。 更多详情 | MosaicRule | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Object | 将此类的实例转换为 GeoScene Portal JSON 表示。 更多详情 | MosaicRule |
方法详细说明
-
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(){MosaicRule}
-
创建 MosaicRule 对象的克隆。
返回类型 描述 MosaicRule 调用此方法的对象的克隆。 示例// Creates a clone of the mosaic rule let mosaicRule = layer.mosaicRule.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 表示。