标量数学样式表达式
统一数值函数、常量和数据错误处理
普通已支持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独立实现。