public override void Reload() { DataFrames.Clear(); _mapServerDefinition = null; try { _mapServerDefinition = MapServer.GetMapServerDefinition(); string defaultName = MapServer.GetDefaultMapName(); foreach (MapServerInfo mapServerInfo in _mapServerDefinition.MapServerInfos) { bool isDefault = mapServerInfo.Name == defaultName; AgsDataFrame dataFrame = new AgsDataFrame(this, mapServerInfo, isDefault); DataFrames.Add(dataFrame); if (isDefault) { DefaultDataFrame = dataFrame; } } } catch (Exception ex) { throw new AgsException("Unable to communicate with the ArcGIS Server", ex); } }
public AgsMap(AgsDataFrame dataFrame, int width, int height, GeoAPI.Geometries.Envelope extent) { _service = dataFrame.Service as AgsMapService; DataFrame = dataFrame; Width = width; Height = height; Extent = extent; }
public AgsLayer(AgsDataFrame dataFrame, MapLayerInfo mapLayerInfo, MapServerLegendInfo mapServerLegendInfo, bool defaultVisible) { _service = dataFrame.Service as AgsMapService; _mapLayerInfo = mapLayerInfo; _mapServerLegendInfo = mapServerLegendInfo; DataFrame = dataFrame; DefaultVisible = defaultVisible; ID = mapLayerInfo.LayerID.ToString(); Name = mapLayerInfo.Name; double toPixels = 1.0 / (12 * dataFrame.Dpi); if (dataFrame.MapServerInfo.Units == esriUnits.esriMeters) { toPixels *= MetersPerFoot; } if (mapLayerInfo.MaxScale > 0) { MinimumPixelSize = mapLayerInfo.MaxScale * toPixels; } if (mapLayerInfo.MinScale > 0) { MaximumPixelSize = mapLayerInfo.MinScale * toPixels; } if (mapLayerInfo.IsFeatureLayer && mapLayerInfo.LayerType != "Annotation Layer" && mapLayerInfo.LayerType != "Raster Catalog Layer") { Selectable = mapLayerInfo.CanSelect; Fields = new List <CommonField>(); foreach (Field proxyField in mapLayerInfo.Fields.FieldArray) { AgsField field = new AgsField(proxyField); Fields.Add(field); if (field.Type == CommonFieldType.ID) { FeatureIDField = field; } else if (field.Type == CommonFieldType.Geometry) { GeometryField = field; switch (proxyField.GeometryDef.GeometryType) { case esriGeometryType.esriGeometryPoint: FeatureType = OgcGeometryType.Point; break; case esriGeometryType.esriGeometryMultipoint: FeatureType = OgcGeometryType.MultiPoint; break; case esriGeometryType.esriGeometryPolyline: FeatureType = OgcGeometryType.MultiLineString; break; case esriGeometryType.esriGeometryPolygon: FeatureType = OgcGeometryType.MultiPolygon; break; } } } Legend = new AgsLegend(mapServerLegendInfo); } else { switch (mapLayerInfo.LayerType) { case "Raster Catalog Layer": case "Raster Layer": Type = CommonLayerType.Image; break; case "Annotation Layer": Type = CommonLayerType.Annotation; break; case "Group Layer": Type = CommonLayerType.Group; break; } } }