public static ISymbol GenerateLayerSymbol(LayerDef layerDef, GeometryType geometryType) { if (layerDef == null) return GetDefaultSymbol(geometryType); if (layerDef.GeometryType == GeometryType.Point || layerDef.GeometryType == GeometryType.Multipoint) { ISimpleLineSymbol outline = Runtime.graphicEngine.newSimpleLineSymbol(); outline.Color = layerDef.OutlineColor; outline.Style = layerDef.LineStyle; outline.Width = layerDef.LineWidth; ISimpleMarkerSymbol symbol = Runtime.graphicEngine.newSimpleMarkerSymbol(); symbol.Color = layerDef.Color; symbol.Size = layerDef.MarkerSize; symbol.Style = layerDef.MarkerStyle; symbol.Outline = outline; return symbol; } else if (layerDef.GeometryType == GeometryType.Polyline) { ISimpleLineSymbol symbol = Runtime.graphicEngine.newSimpleLineSymbol(); symbol.Color = layerDef.Color; symbol.Style = layerDef.LineStyle; symbol.Width = layerDef.LineWidth; return symbol; } else if (layerDef.GeometryType == GeometryType.Polygon) { ISimpleLineSymbol outline = Runtime.graphicEngine.newSimpleLineSymbol(); outline.Color = layerDef.OutlineColor; outline.Style = layerDef.LineStyle; outline.Width = layerDef.LineWidth; ISimpleFillSymbol symbol = Runtime.graphicEngine.newSimpleFillSymbol(); symbol.Color = layerDef.Color; symbol.Style = layerDef.FillStyle; symbol.Outline = outline; return symbol; } return null; }
public void AddLayer(LayerDef layerDef, Layer layer) { _layerList.Add(layerDef); _layers.Add(layer); }
public Task <IGraphicsLayer> addGdbLayer(LayerDef layerDef, string dbFile, int start = 0, int maxFeatures = 0) { return(null); }
public void AddLayer(ArcImsLayer layer, string query, LayerQueryMode queryMode, Renderer renderer) { int nextLayerNo = 0; // layers from other services and data frames are not allowed if (layer.DataFrame != DataFrame) { throw new ArcImsException("The specified ArcImsLayer is not in the same service and dataframe as the ArcImsMap."); } // queries and renderers are only allow on feature layers SpatialQuery spatialQuery = null; if (!String.IsNullOrEmpty(query) && queryMode != LayerQueryMode.None) { if (layer.Type != CommonLayerType.Feature) { throw new ArcImsException("Definition and selection queries are only allowed on feature layers"); } spatialQuery = new SpatialQuery(query); } if (renderer != null && layer.Type != CommonLayerType.Feature) { throw new ArcImsException("Custom renderers are only allowed on feature layers"); } // add all group layers that contain this layer ArcImsLayer parent = layer.Parent as ArcImsLayer; while (parent != null) { AddLayer(new LayerDef(parent.ID)); parent = parent.Parent as ArcImsLayer; } // handle queries and renderers LayerDef layerDef = new LayerDef(layer.ID); if (spatialQuery != null) { if (queryMode == LayerQueryMode.Definition) { layerDef.Query = spatialQuery; layerDef.Renderer = renderer; } if (queryMode == LayerQueryMode.Selection) { Layer axlLayer = new Layer(String.Format("__{0}", nextLayerNo++)); axlLayer.Query = spatialQuery; axlLayer.Dataset = new Dataset(layer.ID); if (_service.IsArcMap) { layerDef.Renderer = renderer; } else { axlLayer.Renderer = renderer; } AddLayer(axlLayer); } } else { layerDef.Renderer = renderer; } AddLayer(layerDef); }