首页 / 浏览问题 / 组件GIS / 问题详情
修改Network图层的recordset的z值,为什么管点会偏移
54EXP 2019年11月05日


修改三维场景专题图管点的z值,通过修改Network图层的recordset实现。管点的z的起始值为15,修改为10-20的范围,可视化效果是正常的。

但是将z的值设为10以下的时候,特别是0,管点的位置便会出现很大的偏移,请问这是为什么呢?代码如下:

geoPoint3D = recpoint.GetGeometry() as GeoPoint3D;
 geoPoint3D.Z = 0.0;
if (geoPoint3D != null) {recpoint.SetGeometry(geoPoint3D); }

1个回答

您好,你这两个图还是没怎么看出偏移呢。因为这个z值是相对于地面的,有可能你本身模型不是垂直地面,所以看起来有点偏移
2,432EXP 2019年11月05日

模型怎么看是否垂直的呢?我现在修改前和修改后的图拼接了,你可以看一下,z值相差10也是有偏移的,而且z值修改的越大偏移越大

模型是否垂直你直接看与地面展现出来的角度,因为z值是相对于地面进行加的,垂直向上的,你可以把你修改前的点的经纬度记录出来,修改过后的点你也可以获取到经纬度,你可以对比这两个值

之前用黄线编辑的时候其实也是存在偏移,但是用户是可以可视化的。比如我移动图中那个观点,出现黄线,然后鼠标指定移动到蓝点的位置,但实际是移动到白点的位置,请问这条黄线是怎么计算的呢,组件开发可以写算法实现吗

这个黄线是底层写好的,就是方便调整z值的,我用的组件是912的,移动管点并没有错位,也有可能我数据本身就是相对地面垂直的,如果你的数据是相对地面垂直的,可以用912的包测试下
已经解决啦,确实是一样的,视角原因造成的偏移,谢谢~
...