首页 / 浏览问题 / 组件GIS / 问题详情
如何判断两点间的通视性
3EXP 2022年12月12日
iobject c# win7 64

需要判断3D 地图内两点间的通视性,官方历程给的是鼠标选取点,但是否能自己输入坐标实现这一功能。此外,我注意到通视性分析选取的点都是在图层上的,这是否意味着无法判断图层外的点和图层上的点的通视性。如果能判断是否有大致的思路。

1个回答

您好,您可以通过设置point3d.X和point3d.Y自己构建观察点和目标点(point3d),然后再通过sightline.Build()构建。具体的代码您可以参考实例代码通视分析部分。

您说的图层外的点和图层上的点是什么意思,是指范围超出了数据集范围的点吗?

希望可以帮助到您!
陈巡
1
2,468EXP 2022年12月12日
您好,谢谢您,是的,是超出数据集范围的点。
或者这样说,我通过鼠标选取只能选取建筑物表面的点。但如果我希望输入建筑物上面的一个点,您刚才说的方法是否还有效。
您好,是有效果的。不管是通过鼠标点击还是输入坐标,本质上都是通过point3d构建目标点和和观察点。关于您说的“通过鼠标选取只能选取建筑物表面的点”,您可以做一个判断,要求point3d的三维在建筑物的范围内。

希望可以帮助到您!
非常感谢您,最后确认一下。您的意思是我通过point3D输入观察点和目标点再通过sightline构建即可判断这两点之间的通视性,即便这两点中的某一点甚至两点均不在建筑物表面(比如其中一点在空中,另一点是建筑物表面)。
您好,是可以的。
...