跳到主要内容

标量数学样式表达式

统一数值函数、常量和数据错误处理

普通已支持paint和筛选/聚合数值表达式可以使用以下操作,原生/WASM共用实现:

类别操作
常量(无参数)ln2、pi、e
一元函数sqrt、log10、ln、log2、sin、cos、tan、asin、acos、atan、round、abs、ceil、floor
二元函数%、^、/、二元 -
其它一元 -;+、*、min、max 可接一个或多个数值
map.setPaintProperty('points', 'circle-radius', [
  '*', 5, ['sqrt', ['get', 'value']]
]);
await map.sqs.flush({ render: true });

三角函数以弧度为单位。round 的半数向正无穷取整,因此 -1.5 得到 -1;余数保留被除数符号。定义域错误、除零或非有限结果不能作为有效值返回。绘制属性遇到运行时脏数据时沿用该属性默认值并记录告警,有效数据更新后恢复;直接数值求值报告错误。错误参数数量/静态类型在修改前拒绝,原样式保留。

复用8192步/64层求值预算,无新增依赖或宿主方法。距离/within、专有值及其它完整样式能力仍单列。已有失败命令需按命令确认规则用错误水位作为后续 flush.since,捕获异常不会删除命令历史。

完整HTML示例 包含全部数据、四按钮、公式和来源。命名与参数形式依据MapLibre公开规范,由SqsMap独立实现。