using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using GeoScene.Data; using GeoScene.Globe; namespace Cyberpipe { class FeatureTools { /// <summary> /// 清除地球上所有高亮的要素 /// </summary> /// <param name="glb"></param> public static void ClearAllFeatureHighLight(GSOGlobeControl glb) { for (int i = 0; i < glb.Globe.Layers.Count; i++) { GSOLayer layer = glb.Globe.Layers[i]; if (!(layer is GSOFeatureLayer)) continue; GSOFeatures feats = layer.GetAllFeatures(); for (int j = 0; j < feats.Length; j++) { feats[j].HighLight = false; } } } public static bool DeleteFeature(GSOFeature feature) { try { string layerName = feature.Dataset.Caption; //编号为空,为了限制删除的仅是用户自己添加的feature string bh = feature.GetFieldAsString("编号"); if (bh!= null&&!bh.Trim().Equals("")) { MessageBox.Show("非自定义创建要素,不可删除"); return false; } feature.Delete();//地球上删除该feature string sql = "delete from " + layerName + " where 编码 =" + feature.GetFieldAsString("编码") + " and 编号 is null"; OledbHelper.sqlExecuteNonQuery(sql);//目前无法取到LSSYS_ID,所以这个判断条件不太合适,会导致把该类所有新建的都删除了 } catch (Exception) { return false; } return true; } } }