如何通过画一条线来查询数据集

0 投票
三维webGL里如何通过画一条线来查询数据集,画一个区域有案例,画一条线有案例吗
9月 23, 2020 分类:  181次浏览 | 用户: 初出茅庐的小个子 (2 分)

1个回答

0 投票
您好,能描述的具体些吗?您是想通过画一条线,然后查询线穿过的模型的信息吗?
9月 23, 2020 用户: 卷饼先生 名扬四海 (4,629 分)
对 就是这个意思 SQL属性查询那个案例不是通过画一篇区域来查询数据集的吗  我现在想单纯画一条线,与线相交的所有当前图层的数据集都查出来
说错了  是示例程序里的空间查询
这边的话参考空间查询的范例,把绘制面改成绘制点

var handlerLine = new Cesium.DrawHandler(viewer,Cesium.DrawMode.Line);

将查询模式由包含空间查询模式改为相交空间查询模式spatialQueryMode:SuperMap.REST.SpatialQueryMode.INTERSECT,
var geometry = CesiumToSuperMap.convertPolygon(Cesium, SuperMap, result.object);

在这个位置报错Cannot set property 'show' of undefined
报错的问题解决了,我把这行注释掉了,如下:

//handlerPolygon.polygon.show = false;
handlerPolygon.polyline.show = false;
var geometry = CesiumToSuperMap.convertPolygon(Cesium, SuperMap, result.object);

但是浏览器报erro,alert这个:

getFeatureByBuffer方法中传入的参数为空
将var geometry = CesiumToSuperMap.convertPolygon(Cesium,SuperMap,result.object);改为

var geometry = CesiumToSuperMap.convertPolyline(Cesium,SuperMap,result.object);即可
搞定,太感谢您了
客气了,应该的
...