/// <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(); }
/// <summary> /// 添加要素图层 /// </summary> /// <param name="vectorLayer"></param> public void AddLayer(WEVectorLayer vectorLayer) { _VectorLayers.Add(vectorLayer); }