使用iClient javascript 的api计算距离结果不正确

0 投票
使用iClient for javascript中的SuperMap.Geometry.Polygon.distanceTo()方法计算两个多边形的距离,结果有问题,和在桌面端用量算工具得到的结果不一致,部分结果存在较大误差,使用api计算得到的结果大概是桌面端量算工具结果的1/2。
7月 3 分类:  40次浏览 | 用户: fv_tk 才疏学浅 (17 分)

1个回答

0 投票
您好 ,您在桌面里面是手动量算的吗?是量算两个几何对象的质心吗?确认坐标系单位是否一致。

  drawPolygon.events.on({
      "featureadded": (e)=>{
           geos.push(e.feature.geometry)
          if(geos.length>1){
             console.log(geos[0].distanceTo(geos[1]),'几何对象最近距离')
              var one=geos[0].getCentroid();
              var two=geos[1].getCentroid();
              console.log(one.distanceTo(two),'质心距离')
          
      }
    })
7月 3 用户: 阳俊林 名扬四海 (3,027 分)
我是查询得到两个建筑底面,然后转成SuperMap.Geometry.Polygon对象后计算两个底面的距离,根据api来看这里算的是最短距离,计算的结果感觉有点不太对,我就去桌面端手动大概量了一下,有的误差比较大,差了一倍多。
方便加个联系方式吗,有一些问题想请教。
想请教另外一个问题,下面这两个属性设置是立即生效的还是延迟生效。

// 矢量面贴对象的底部高程

Cesium.GroundPrimitive.bottomAltitude

// 矢量面贴对象的拉伸高度

Cesium.GroundPrimitive.extrudeHeight
...