I3SField 是cesiumjs中的一个用于表示I3S字段的接口。
interface I3SField {
dataType: I3SAttributeType;
componentType?: I3SAttributeType;
name?: string;
alias?: string;
domain?: [number, number] | [string, string];
range?: [number, number] | [string, string];
rasterSize?: number;
objectIdField?: boolean;
definitionExpression?: string;
cardinality?: I3SCardinalityType;
}
I3SField是I3S节点中表示记录属性的接口。相关概念详见I3S规范。
I3S节点典型的属性通常由一个或多个I3SField组成。
dataType: I3SAttributeType
- 必需。表示字段的数据类型。参考I3SAttributeType
componentType: I3SAttributeType
- 可选。表示字段的组件类型。例如,如果该字段为vector3,组件类型可以指定为float32。参考I3SAttributeType
name?: string
- 可选。字段名称
alias?: string
- 可选。字段别名
domain?: [number, number] | [string, string]
- 可选。表示字段的值域。如果数据的类型是数值型,则使用形如[min, max]
的数字范围。如果数据类型为字符串,则使用形如[min, max]
的字符串范围。
range?: [number, number] | [string, string]
- 可选。表示字段的映射范围。通常适用于将一组值映射为另一组值。例如,将颜色值从十六进制的字符串映射为RGBA颜色向量的标准。如果数据的类型是数值型,则使用形如[min, max]
的数字范围。如果数据类型为字符串,则使用形如[min, max]
的字符串范围。
rasterSize?: number
- 可选。表示字段是栅格地图数据时的分辨率大小。通常,在数据中使用像素宽度来表示某些属性的值时使用。
objectIdField?: boolean
- 可选。表示该字段是否为对象ID。如果是,则值需要保证唯一。
definitionExpression?: string
- 可选。表示筛选数据时使用的过滤器表达式。
cardinality?: I3SCardinalityType
- 可选。表示字段的基数类型。通常在数据中使用单值或向量时使用。参考I3SCardinalityType
var i3sField = {
dataType: I3SAttributeType.Float32,
componentType: I3SAttributeType.Float32,
name: 'Elevation',
alias: 'Height Above Ellipsoid',
domain: [0, 5500],
range: [0, 1],
rasterSize: 16,
objectIdField: true,
definitionExpression: 'Elevation > 1000',
cardinality: I3SCardinalityType.Scalar
}