Exemple #1
0
        /// <summary>
        /// 改变图层顺序
        /// </summary>
        /// <param name="from"></param>
        /// <param name="to"></param>
        public void SetLayerSequence(int from, int to)
        {
            WEVectorLayer movedLayer = _VectorLayers[from].Clone();

            _VectorLayers.RemoveAt(from);
            _VectorLayers.Insert(to, movedLayer);
        }
        /// <summary>
        /// 向当前编辑的图层中添加一个几何对象
        /// </summary>
        public void AddGeometry(WEGeometry newGeo)
        {
            if (CurrentEdit == -1)
            {
                Console.WriteLine("非编辑状态");
                throw new Exception("非编辑状态");
            }
            WEFeature     newFea = new WEFeature();
            WEVectorLayer _lay   = (WEVectorLayer)(AllLayer[CurrentEdit]);
            int           id     = _lay.Features.Count();

            switch (AllLayer[CurrentEdit].FeatureType)
            {
            case FeatureType.WEEntityPoint:
                newFea = new WEEntityPoint(id, newGeo, _lay.Field);
                break;

            case FeatureType.WEEntityPolyline:
                newFea = new WEEntityPolyline(id, (WEMultiPolyline)newGeo, _lay.Field);
                break;

            case FeatureType.WEEntityPolygon:
                newFea = new WEEntityPolygon(id, (WEMultiPolygon)newGeo, _lay.Field);
                break;
            }
            _lay.AddFeature(newFea);
            AllLayer[CurrentEdit] = _lay;
        }
        /// <summary>
        /// 在当前编辑的图层中删除索引的几何对象
        /// </summary>
        /// <param name="index"></param>
        public void DeleteGeometry(int index)
        {
            WEVectorLayer _lay = (WEVectorLayer)(AllLayer[CurrentEdit]);

            _lay.DeleteFeature(index);
            AllLayer[CurrentEdit] = _lay;
            this.Refresh();
            Refresh();
        }
Exemple #4
0
 /// <summary>
 /// 添加要素图层
 /// </summary>
 /// <param name="vectorLayer"></param>
 public void AddLayer(WEVectorLayer vectorLayer)
 {
     _VectorLayers.Add(vectorLayer);
 }