/// <summary> /// 是否存在线shp /// </summary> /// <param name="lyr"></param> /// <returns></returns> private bool ShpLineLyrExits(ShpLineLayer lyr) { ShpLineLayerList lst = ShpLineConfig.ReadConfigFile(); if (lst == null || lst.Count == 0) { return(false); } foreach (var item in lst.LayerList) { if (item.LayerName == lyr.LayerName) { return(true); } } return(false); }
private bool GetLayerVisiableInConfig(string lyrName) { ShpLineLayerList lineList = ShpLineConfig.ReadConfigFile(); if (lineList != null) { foreach (ShpLineLayer lineLayer in lineList.LayerList) { if (lineLayer.LayerName == lyrName) { return(lineLayer.Visible); } } } ShpPointLayerList PointList = ShpPointConfig.ReadConfigFile(); if (PointList != null) { foreach (ShpPointLayer PointLayer in PointList.LayerList) { if (PointLayer.LayerName == lyrName) { return(PointLayer.Visible); } } } ShpPolygonLayerList PolygonList = ShpPolygonConfig.ReadConfigFile(); if (PolygonList != null) { foreach (ShpPolygonLayer PolygonLayer in PolygonList.LayerList) { if (PolygonLayer.LayerName == lyrName) { return(PolygonLayer.Visible); } } } return(false); }
/// <summary> /// 保存矢量数据(有BUG!) /// </summary> private void SaveLayerConfig() { //保存矢量图层信息 foreach (Node node in advTreeMain.Nodes[0].Nodes) { NodeModel model = node.Tag as NodeModel; if (model != null) { //矢量文件 if (model.ImageIndex == 2) { switch (model.BigType) { case GeometryBigType.Line: ShpLineLayerList lineList = ShpLineConfig.ReadConfigFile(); if (lineList != null) { for (int i = 0; i < lineList.Count; i++) { ShpLineLayer lyr = lineList[i]; if (lyr.LayerName == model.NodeName) { lyr.Visible = node.Checked; ShpLineConfig.UpdateLayer(model.NodeName, lyr); break; } } } break; case GeometryBigType.None: break; case GeometryBigType.Point: if (_shpLoader.PntLyrList != null) { for (int i = 0; i < _shpLoader.PntLyrList.Count; i++) { ShpPointLayer lyr = _shpLoader.PntLyrList[i]; if (lyr.LayerName == model.NodeName) { lyr.Visible = node.Checked; ShpPointConfig.UpdateLayer(model.NodeName, lyr); break; } } } break; case GeometryBigType.Polygon: if (_shpLoader.PolyLyrList != null) { for (int i = 0; i < _shpLoader.PolyLyrList.Count; i++) { ShpPolygonLayer lyr = _shpLoader.PolyLyrList[i]; if (lyr.LayerName == model.NodeName) { lyr.Visible = node.Checked; ShpPolygonConfig.UpdateLayer(model.NodeName, lyr); break; } } } break; default: break; } } } } }