组件中对三维场景图层设置显示过滤相关问题

0 投票

对三维场景中的图层设置过滤显示后,刷新场景,场景不会发生变化,需要手动把三维地球缩放到很小,再放大时才会显示出设置的效果。

另外,大数据时,设置图层过滤显示,无论地图还是场景好像并不会提示显示性能。

        public static void SetFilterByAddvcdForScene(Scene scene,string addvcd)
        {
            foreach (Layer3D layer3D in scene.Layers)
            {
                //设置图层显示过滤条件
                string attributeFilter = string.Empty;
                if (addvcd != null && !string.IsNullOrEmpty(addvcd))
                {
                    attributeFilter = string.Format("{0}={1}", ClsFieldMapping.addvcd, addvcd);
                }

                QueryParameter queryParameter = new QueryParameter();
                queryParameter.AttributeFilter = attributeFilter;
                if (layer3D is Layer3DDataset)
                {
                    (layer3D as Layer3DDataset).DisplayFilter = queryParameter;
                }
            }
            scene.Refresh();
        }

10月 13 分类:  25次浏览 | 用户: 行者不懂 初出茅庐 (92 分)

1个回答

0 投票
 
已采纳
您好,需要更新渲染数据,接口,layer3D.UpdateData
10月 14 用户: 邬袁凯 名扬四海 (1,606 分)
采纳于 10月 14 用户:行者不懂
好的,忘了每次三维图层数据改动后需要updata一下,我试一下。
...