首页 / 浏览问题 / 三维GIS / 问题详情
空间查询attributeFilter
74EXP 2020年05月18日

请问我设置了attributeFilter属性,但是没效果是什么问题?

        var sql = "SMID>80";
        var getFeaturesByGeometryParameters, getFeaturesByGeometryService;
        getFeaturesByGeometryParameters = new SuperMap.REST.GetFeaturesByGeometryParameters({
          datasetNames: ["二维数据:building"], //"supermap_qzdata:OSGB"
          toIndex: -1,
          fields: ["SMID","SMGEOPOSITION"],
          attributeFilter: sql,
          spatialQueryMode: SuperMap.REST.SpatialQueryMode.CONTAIN,
          geometry: drawGeometryArgs
        });

查询结果中仍然包含SMID为80的item???

1个回答

您好您可以参考这个范例修改您的代码(http://support.supermap.com.cn:8090/webgl/examples/editor.html#getFeatureBySQL

2,560EXP 2020年05月18日
鱼大,您终于出现了。这几个我都实践过,刚刚又看了下代码,发现是自己把attributeFilter: "SMID > 80",这条加载备份的js文件里了...抱歉哈!另外,还有个问题是查询效率问题,查询一条关系,结果的features集合里有400条左右的数据,但是查询过程要好久,使用起来的友好度很差,因为要继续做定位,所以也没办法禁止返回geometry(也没找到禁止返回geometry)的方法,然后效率就很慢,这个一般要怎么配置呀?
这个的话您webgl通过SQL查询面数据集后以实体方式加载的话,再进行查询会快一点。您可以试一下。
...没明白以实体的方式是?
查询的效率不是定位的效率,定位没问题,模型是查询之前就已经加载好的。
...