private void btnRemoveFeatures_Click(object sender, EventArgs e) { if (_layerName == null) { return; } if (listView1.SelectedIndices.Count == 0) { return; } ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), _layerName, null); if (lyr == null) { return; } for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--) { lyr.RemoveFeature(listView1.SelectedItems[i].Tag as Feature); if (RemoveFeature != null) { RemoveFeature(listView1.SelectedItems[i].Tag as Feature); } listView1.Items.Remove(listView1.SelectedItems[i]); } _activeViewer.Canvas.Refresh(enumRefreshType.VectorLayer); }
/// <summary> /// Show the dialog to set up labels. /// </summary> /// <param name="e"></param> public void LabelSetup(ILabelLayer e) { using (var dlg = new LabelSetup {Layer = e}) { ShowDialog(dlg); } }
private void SaveToShp() { try { string layerName = "System:StatArea"; ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), layerName, _fieldNames); if (lyr == null || lyr.GetAllFeature().Length == 0) { MsgBox.ShowInfo("没有绘制AOI!"); return; } Feature[] features = lyr.GetAllFeature(); using (SaveFileDialog dialog = new SaveFileDialog()) { dialog.Filter = SupportedFileFilters.VectorFilterString; if (dialog.ShowDialog() == DialogResult.OK) { string fileName = dialog.FileName; TryExportPolygon(features, fileName); StringBuilder str = new StringBuilder(); str.AppendLine("矢量导出成功:"); str.AppendLine(fileName); MsgBox.ShowInfo(str.ToString()); } } } catch (Exception ex) { MsgBox.ShowInfo(ex.Message); } finally { } }
private void btnRemoveFeatures_Click(object sender, EventArgs e) { if (_layerName == null) { return; } if (listView1.SelectedIndices.Count == 0) { return; } ILabelLayer lyr = FindLabelLayer(_layerName); if (lyr != null) { for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--) { lyr.RemoveFeature(listView1.SelectedItems[i].Tag as Feature); if (RemoveFeature != null) { RemoveFeature(listView1.SelectedItems[i].Tag as Feature); } RemoveFeatureToDic(listView1.SelectedItems[i].Tag as Feature); listView1.Items.Remove(listView1.SelectedItems[i]); } } }
private void ClearListViewItems() { if (listView1.Items.Count != 0) { for (int i = listView1.Items.Count - 1; i >= 0; i--) { if (RemoveFeature != null) { RemoveFeature(listView1.Items[i].Tag as Feature); } } listView1.Items.Clear(); } ILabelLayer lyr = FindLabelLayer(_layerName); if (lyr != null) { lyr.Dispose(); } ICanvasViewer viewer = _session.SmartWindowManager.ActiveCanvasViewer; if (viewer != null) { ILabelService srv = (viewer as ICurrentRasterInteractiver).LabelService; srv.Reset(); } _iceLineFeatureOid = 0; }
/// <summary> /// Show the dialog to set up labels. /// </summary> /// <param name="e"></param> public void LabelSetup(ILabelLayer e) { using (var dlg = new LabelSetup { Layer = e }) { ShowDialog(dlg); } }
public ILabelLayer GetLabelLayer(string name, string[] fieldNames) { if (_layers.ContainsKey(name)) { return(_layers[name]); } ILabelLayer lyr = CreateLabelLayer(name, fieldNames); if (lyr != null) { _layers.Add(name, lyr); return(_layers[name]); } return(null); }
public void UpdateLayer(Feature fet) { if (fet != null) { ILabelLayer lyr = GetLabelLayer(_layerName, new string[] { _fieldName }); if (lyr != null) { ApplyColor(lyr); lyr.LabelDef.Fieldname = _fieldName; lyr.LabelDef.EnableLabeling = true; lyr.AddFeature(fet); AddFeatureToListView(fet); } } }
private void ApplyColor(ILabelLayer lyr) { ISymbol symbol = lyr.Symbol; if (symbol == null) { return; } IFillSymbol fillSymbol = symbol as IFillSymbol; if (fillSymbol == null) { return; } fillSymbol.OutlineSymbol.Color = btnColor.BackColor; }
public void UpdateLayer(ref Feature fet) { if (fet != null) { ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), _layerName, fet.FieldNames); if (lyr != null) { ApplyColor(lyr); lyr.LabelDef.Fieldname = fet.FieldNames[0]; lyr.LabelDef.EnableLabeling = true; lyr.AddFeature(fet); Feature[] features = lyr.GetAllFeature(); fet = features[features.Length - 1]; AddFeatureToListView(fet); } } }
public override void Run() { ILegendItem selectedItem = (GIS.FrameWork.Application.App.Legend as GIS.Common.Dialogs.Legend).SelectedLegendMenuItem; if (selectedItem != null) { LabelSetupCommand labelSetup = new LabelSetupCommand(); ILabelLayer _labelLayer = labelSetup._LabelLayer; if (_labelLayer == null) { return; } FeatureLayerActions fla = new FeatureLayerActions(); if (fla != null) { _labelLayer.DynamicVisibilityWidth = _labelLayer.FeatureLayer.MapFrame.ViewExtents.Width; fla.LabelExtents(_labelLayer); } } }
public override void Run() { ILegendItem selectedItem = (GIS.FrameWork.Application.App.Legend as GIS.Common.Dialogs.Legend).SelectedLegendMenuItem; if (selectedItem != null) { if (_labelLayer == null) { _labelLayer = new MapLabelLayer(selectedItem as IFeatureLayer); (selectedItem as FeatureLayer).LabelLayer = _labelLayer; (selectedItem as FeatureLayer).ShowLabels = true; } _labelLayer.CreateLabels(); FeatureLayerActions fla = new FeatureLayerActions(); if (fla != null) { fla.LabelSetup(_labelLayer); } } }
private void StatFilterAreas() { ICurrentRasterInteractiver inter = _session.SmartWindowManager.ActiveCanvasViewer as ICurrentRasterInteractiver; if (inter != null) { inter.StartAOIDrawing(GetPencilType(), (aoi, shape) => { string layerName = "System:StatArea"; ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), layerName, _fieldNames); if (lyr != null) { Dictionary <string, double> areas = StatArea(aoi, _filters); _layerName = layerName; //ApplyColor(lyr); //lyr.LabelDef.Fieldname = "面积(平方公里)"; ApplyColor(lyr); lyr.LabelDef.Fieldname = _fieldNames[1]; lyr.LabelDef.EnableLabeling = true; CodeCell.AgileMap.Core.Feature fet = null; try { fet = ToFeature(shape, areas.Values.ToArray()); } catch (Exception ex) { _session.PrintMessage(ex); } if (fet != null) { lyr.AddFeature(fet); AddFeatureToListView(fet); } } }); } }
private void InitItems() { if (listView1.Items.Count != 0) { OID = 0; ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), _layerName, null); if (lyr == null) { return; } for (int i = listView1.Items.Count - 1; i >= 0; i--) { lyr.RemoveFeature(listView1.Items[i].Tag as Feature); if (RemoveFeature != null) { RemoveFeature(listView1.Items[i].Tag as Feature); } } listView1.Items.Clear(); } _activeViewer.Canvas.Refresh(enumRefreshType.VectorLayer); }
private void InitFeature() { if (listView1.Items.Count != 0) { OID = 0; ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), _layerName, null); if (lyr == null) { return; } for (int i = listView1.Items.Count - 1; i >= 0; i--) { lyr.RemoveFeature(listView1.Items[i].Tag as Feature); if (RemoveFeature != null) { RemoveFeature(listView1.Items[i].Tag as Feature); } } listView1.Items.Clear(); } (_activeViewer as ICurrentRasterInteractiver).LabelService.Reset(); _activeViewer.Canvas.CurrentViewControl = new DefaultControlLayer(); }
private void SataSimpleArea() { string[] lstViewfieldNames = new string[] { "名称", "像元个数", "面积(平方公里)" }; string[] fieldNames = new string[] { "name", "pixelcount", "area" }; UpdateHeadersOfListView(lstViewfieldNames); ICurrentRasterInteractiver inter = _activeViewer as ICurrentRasterInteractiver; if (inter != null) { //inter inter.StartAOIDrawing(GetPencilType(), (aoi, shape) => { string layerName = "System:StatArea"; ILabelLayer lyr = GetLabelLayer((_activeViewer as ICurrentRasterInteractiver), layerName, fieldNames); if (lyr != null) { _layerName = layerName; ApplyColor(lyr); lyr.LabelDef.Fieldname = "area"; CodeCell.AgileMap.Core.Feature fet = null; try { fet = ToFeature(aoi, shape, fieldNames); } catch (Exception ex) { _session.PrintMessage(ex); } if (fet != null) { lyr.AddFeature(fet); AddFeatureToListView(fet); } } }); } }
private void ClearFeature(ICanvasViewer cv) { if (listView1.Items.Count != 0) { OID = 0; ILabelLayer lyr = GetLabelLayer((cv as ICurrentRasterInteractiver), _layerName, null); if (lyr == null) { return; } for (int i = listView1.Items.Count - 1; i >= 0; i--) { lyr.RemoveFeature(listView1.Items[i].Tag as Feature); if (RemoveFeature != null) { RemoveFeature(listView1.Items[i].Tag as Feature); } } listView1.Items.Clear(); } (cv as ICurrentRasterInteractiver).LabelService.Reset(); cv.Canvas.CurrentViewControl = new DefaultControlLayer(); cv.Canvas.Refresh(enumRefreshType.VectorLayer); }
/// <summary> /// Initializes a new instance of the LabelLayerEventArgs class. /// </summary> /// <param name="labelLayer">The ILabelLayer that is involved in this event.</param> public LabelLayerEventArgs(ILabelLayer labelLayer) { _labelLayer = labelLayer; }
/// <summary> /// A default method to generate a label layer. /// </summary> protected virtual void OnCreateLabels() { _labelLayer = new LabelLayer(); }
protected override void Dispose(bool disposeManagedResources) { if (disposeManagedResources) { DataSet = null; Symbology = null; if (_labelLayer != null) { _labelLayer.Dispose(); _labelLayer = null; } if (_selection != null) { _selection.Changed -= SelectedFeaturesChanged; } } base.Dispose(disposeManagedResources); }
/// <summary> /// Show the dialog to set up labels. /// </summary> /// <param name="layer">Layer whose label setup dialog is shown.</param> public void LabelSetup(ILabelLayer layer) { using var dlg = new LabelSetup { Layer = layer }; ShowDialog(dlg); }