浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
如何判断两点间的通视性
henianc7
3EXP
2022年12月12日
iobject c# win7 64
需要判断3D 地图内两点间的通视性,官方历程给的是鼠标选取点,但是否能自己输入坐标实现这一功能。此外,我注意到通视性分析选取的点都是在图层上的,这是否意味着无法判断图层外的点和图层上的点的通视性。如果能判断是否有大致的思路。
gis
3d
iobjects
请
登录
或者
注册
后回答这个问题。
1个回答
您好,您可以通过设置point3d.X和point3d.Y自己构建观察点和目标点(point3d),然后再通过sightline.Build()构建。具体的代码您可以参考实例代码通视分析部分。
您说的图层外的点和图层上的点是什么意思,是指范围超出了数据集范围的点吗?
希望可以帮助到您!
陈巡
1
2,548EXP
2022年12月12日
您好,谢谢您,是的,是超出数据集范围的点。
或者这样说,我通过鼠标选取只能选取建筑物表面的点。但如果我希望输入建筑物上面的一个点,您刚才说的方法是否还有效。
您好,是有效果的。不管是通过鼠标点击还是输入坐标,本质上都是通过point3d构建目标点和和观察点。关于您说的“通过鼠标选取只能选取建筑物表面的点”,您可以做一个判断,要求point3d的三维在建筑物的范围内。
希望可以帮助到您!
非常感谢您,最后确认一下。您的意思是我通过point3D输入观察点和目标点再通过sightline构建即可判断这两点之间的通视性,即便这两点中的某一点甚至两点均不在建筑物表面(比如其中一点在空中,另一点是建筑物表面)。
您好,是可以的。
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
如何判断两个DatasetVector能否相交
如图两条线段判断交叠返回false,分离却是true,怎么回事?
我想问下,两个矢量面共用一条交界线。一个点在线上,怎么判定这个点属于哪个面?
如何生成两个经纬度直线之间的N个点?
.NET 3D上如何点的聚合操作
iobject10 i .net 能否判断图层的SQL语句有效性
超图FAQ:请问一下iobject java进行数据集间的包含、被包含、相邻的关系判断的API有吗
判断点对象是否在面对象内
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...