如何在桌面端进行三维的空间查询

0 投票
如何在桌面端进行三维的空间查询
1月 15, 2018 分类:  340次浏览 | 用户: 8280249 才疏学浅 (13 分)

1个回答

0 投票
您好,您需要首先打开一个三维场景,并且确保三维场景中含有模型数据集,然后就可以在【空间分析】-【空间查询】-【三维空间查询】中进行三维空间查询了。
1月 15, 2018 用户: 张阳名 登峰造极 (5,560 分)
我是用C#开放的,在C#中如果进行三维空间查询

组件端的相关接口是SpatialQuery(geometry3D, recordset, positionMode);

示例:

	private void button1_Click(object sender, EventArgs e)
        {
            Selection3D[] s3ds = scene.FindSelection(true);
            Recordset rs = s3ds[0].ToRecordset();
            Geometry3D g3d = rs.GetGeometry() as Geometry3D;
            Layer3DDataset l3d = scene.Layers["Building_1@CBD"] as Layer3DDataset;
            Recordset rs2 = (l3d.Dataset as DatasetVector).GetRecordset(false, CursorType.Dynamic);
            List<int> list = SuperMap.Realspace.ThreeDDesigner.SpatialQuery3D.SpatialQuery(g3d, rs2, PositionMode.IntersectsOrContains);
	}

需要注意的是,空间查询的查询对象必须是闭合模型,被查询对象可以不用。

谢谢了啊
...