Esempio n. 1
0
        public int syncObjects()
        {
            if (_prj == null)
            {
                return(0);
            }

            int count = 0;

            foreach (Layer layer in _map.Layers)
            {
                List <DGObjects> objsList = _prj.Get2dRelatedObjs(layer.ID);
                if ((objsList == null) || (objsList.Count == 0))
                {
                    continue;
                }
                IGraphicsLayer myLayer = layer as IGraphicsLayer;
                if (myLayer == null)
                {
                    continue;
                }
                foreach (DGObjects objs in objsList)
                {
                    count += myLayer.syncObjects(objs);
                }
            }
            return(count);
        }
Esempio n. 2
0
        //在view中加载图形,和同步图形
        void SyncToView()
        {
            IView view = InputCB.SelectedItem as IView;

            //为图形赋值“Name”属性,以便图形和数据关联
            foreach (int monID in _MonGraphics.Keys)
            {
                MonPoint           mp = _allMons[monID] as MonPoint;
                IGraphicCollection gc = _MonGraphics[monID];
                foreach (IGraphic g in gc)
                {
                    g.Attributes["Name"] = mp.name;
                }
            }

            //将图形添加到view中
            string         layerID = "DemoLayer";                 //图层ID
            IGraphicsLayer gLayer  = getDemoLayer(view, layerID); //获取图层函数

            foreach (int id in _MonGraphics.Keys)
            {
                IGraphicCollection gc = _MonGraphics[id];
                gLayer.addGraphics(gc);
            }

            //使数据与图形关联
            List <DGObject> sls = _allMons.merge();

            gLayer.syncObjects(sls);

            //计算新建图形范围,并在地图中显示该范围
            IEnvelope ext = null;

            foreach (IGraphicCollection gc in _MonGraphics.Values)
            {
                IEnvelope itemExt = GraphicsUtil.GetGraphicsEnvelope(gc);
                if (ext == null)
                {
                    ext = itemExt;
                }
                else
                {
                    ext = ext.Union(itemExt);
                }
            }
            _mainFrame.activeView = view;
            view.zoomTo(ext);
        }
Esempio n. 3
0
        public int syncObjects(string layerID, List <DGObject> objs)
        {
            if (_prj == null)
            {
                return(0);
            }
            int count = 0;

            if (_map.Layers[layerID] != null)
            {
                IGraphicsLayer layer = _map.Layers[layerID] as IGraphicsLayer;
                if (layer != null)
                {
                    count += layer.syncObjects(objs);
                }
            }

            return(count);
        }
Esempio n. 4
0
        public int syncObjects()
        {
            if (_prj == null)
            {
                return(0);
            }

            int count = 0;

            foreach (string defID in _prj.objsDefIndex.Keys)
            {
                DGObjects      objs  = _prj.objsDefIndex[defID];
                IGraphicsLayer layer = _map.Layers[objs.definition.GISLayerName] as IGraphicsLayer;
                if (layer == null)
                {
                    continue;
                }
                count += layer.syncObjects(objs);
            }
            return(count);
        }
Esempio n. 5
0
        public int syncObjects()
        {
            if (_prj == null)
            {
                return(0);
            }

            int count = 0;

            foreach (string layerID in _prj.objsLayerIndex.Keys)
            {
                DGObjects      objs  = _prj.objsLayerIndex[layerID];
                IGraphicsLayer layer = _map.Layers[layerID] as IGraphicsLayer;
                if (layer == null)
                {
                    continue;
                }
                count += layer.syncObjects(objs);
            }

            return(count);
        }