首页 / 浏览问题 / 三维GIS / 问题详情
请问Cartesian3.distance和MeasureHandler的区别
74EXP 2020年05月08日
刚刚做三位开发,不是太明白,二者测距结果区别较大,请问原理为何,谢谢大佬!

1个回答

2,560EXP 2020年05月08日
功能可以实现,但是不明白区别,api文档上没有明确说明呀...

distance的话是计算两点间的距离。

然后measurehandler的话是可以进行高度量算,距离量算,空间距离,水平距离,垂直距离三分量算集中模式,这个的话您可以看一下我们提供的范例中的量算功能。(http://support.supermap.com.cn:8090/webgl/examples/editor.html#measureHandler

然后测距的话还可以设置是否贴地等。

我想做两种量算,一种是测量三维场景内指定区域的二维地表面积,另一种是测量三维场景内指定区域的三维地表面积,我现在有点懵,不知道怎么设置。我看示例里面测量面积时都是穿过地表的,应该是测的二位地表吧?那么三位地表怎么测呢?

您好,您的意思是要贴地测量面积?您只要将clampMode : 1设置为1就可以贴地测量了。

贴地后会出现这种情况,不贴地的时候我两侧一个房顶的面积,但是值明显不对:

一个房顶怎么可能这么大。

同时,官方示例里面,不贴地的时候,测得的几何图形不会随着视角的变化而产生便宜,但是我自己的系统里会产生这样的状况。

您好,你这个测量的是模型还是影像?
我添加了一个DEM,一个影像,和三个OSGB。
这个房子是影像。
即便我只添加DEM和影像,还是有之前的状况,这个和坐标系有关系吗?
问题大概找到了,貌似是我想把两个示例整个到一起导致的...,现在我禁用了一个就没刚刚的问题了,但是最初的问题:Cartesian3测距和measurehandler的区别还是美弄明白。是Cartesian3仅仅支持二位平面测量而measurehandler可以根据clampMode值的不同而改变测量方式吗?
和坐标系也是有关系的,Cartesian3是笛卡尔空间直角坐标系

而且cartesian3是cesium原生的测量方法。

measurehandler是超图封装的测量方法。支持不同的测量方式。根据您的需要进行选择。
好的,非常感谢您的解惑!
...