首页 / 浏览问题 / 三维GIS / 问题详情
iClient 空间查询结果的处理
204EXP 2016年11月23日

在三维场景中进行空间查询得到的结果集如何处理,文档中的空间查询结果的处理是这样的,

var result = queryEventArgs.originResult.features;得到查询出的要素的集合
请问我在三维场景如也是一样的吗,具体属性有什么变化?我在三维场景是三维面转为二维面进行空间查询的

1个回答

三维的空间查询需要将三维的数据转成二维的数据,然后在做空间查询。如果是三维的点线面,那就直接转成二维的点线面;如果是三维模型对象,那么就提取模型的底面构建二维的面数据集。查询结果要想转成三维的对象并放在三维中,就获取查询结果ID ,然后在对应的数据集里面找到这些对象并放在场景中;或者直接将二维对象放在场景中即可。
887EXP 2016年11月23日
var result = queryEventArgs.originResult.features;
for (var m = 0; m < result.length; m++) {
    var feature = result[m];
    var id = feature.ID;
我得到的id是数据集中的id值;
feature.ID可以得到数据集中的id也就是SmID,但我如果想得到name或者数据集中其他字段的值,应该如何取值?
var SMIDValue;
for(var i=0;i<feature2D.fieldNames.length;i++)
{
    if(feature2D.fieldNames[i] == "SMID")
    {
        SMIDValue= feature2D.fieldValues[i];
    }
}
上面代码是获取SMID的值的方法,其他字段值与此类似。
...