在Cesium中geometricError是用来检索3DTiles数据并请求瓦片的条件,与geometricError相关的计算公式是:
var error = (geometricError * height) / (distance * sseDenominator);
其中sseDenominator 为视锥的 near / height,即视锥的近裁切面的距离与视锥高的比值, distance*sseDenominator 为相机距离瓦片distance时的一个视锥的切面,如果 (distance * sseDenominator )/ height即为一个像素所代表的米数,即分辨率或者地图精度。
对于var error = (geometricError * height) / (distance * sseDenominator);我们要从它的目的出发去考虑,parent._screenSpaceErrorProgressiveResolution > maximumScreenSpaceError;与tile._screenSpaceErrorProgressiveResolution <= maximumScreenSpaceError;其中_screenSpaceErrorProgressiveResolution和error的意思差不多,只要parent的error大于maximumScreenSpaceError,并且当前tile的error小于或者等于maximumScreenSpaceError就是我们需要加载的瓦片,这个error的计算主要与geometricError 和 distance相关,因为其他值都是定值。
简写为 var error = geometricError / distance; 当maximumScreenSpaceError确定后距离越远geometricError必须越大才能满足 父级节点大于maximumScreenSpaceError并且当前瓦片刚好是比maximumScreenSpaceError小一点的geometricError,所以几何误差名称的由来也许就是与maximumScreenSpaceError误差最小的意思。