📄 dynameic.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using ESRI.ArcGIS.ADF.IMS.Data;
using ESRI.ArcGIS.ADF.IMS.Display;
using ESRI.ArcGIS.ADF.IMS;
using ESRI.ArcGIS.ADF.IMS.Carto;
using ESRI.ArcGIS.ADF.IMS.Carto.Layer;
using ESRI.ArcGIS.ADF.IMS.Display.Renderer;
using ESRI.ArcGIS.ADF.IMS.Display.Symbol;
using ESRI.ArcGIS.ADF.Web.DataSources.IMS;
/// <summary>
/// 用于地图加载动态图层(测试标记A098271918261716)
/// </summary>
public class Dynameic
{
public enum LayerType
{
Point = 0,
Line = 1,
poly = 2
}
public Dynameic()
{
}
#region 用默认形式渲染图层
/// <summary>
///
/// </summary>
/// <param name="LayerType"></param>
/// <param name="drainLayer"></param>
/// <returns></returns>
public FeatureLayer setLayer(LayerType eLayerType, FeatureLayer drainLayer)
{
switch (eLayerType)
{
case LayerType.Point://point
drainLayer.Type = FeatureType.Point;
SimpleMarkerSymbol simpleMarkerSymb = new SimpleMarkerSymbol(System.Drawing.Color.Fuchsia, 10, MarkerSymbolType.Triangle);
simpleMarkerSymb.AllowLabelOverlap = true;
simpleMarkerSymb.Antialiasing = false;
simpleMarkerSymb.OutlineColor = System.Drawing.Color.Bisque;
simpleMarkerSymb.ShadowColor = System.Drawing.Color.DarkGray;
simpleMarkerSymb.Transparency = 30;
SimpleRenderer PointRenderer = new SimpleRenderer(simpleMarkerSymb);
drainLayer.Renderer = PointRenderer;
break;
case LayerType.Line://line
drainLayer.Type = FeatureType.Line;
SimpleLineSymbol drainSymbol = new SimpleLineSymbol(System.Drawing.Color.Brown, 2);
SimpleRenderer drainRenderer = new SimpleRenderer(drainSymbol);
drainLayer.Renderer = drainRenderer;
break;
case LayerType.poly://poly
drainLayer.Type = FeatureType.Polygon;
SimpleFillSymbol simpleFillSymb = new SimpleFillSymbol(System.Drawing.Color.Fuchsia, System.Drawing.Color.Beige, PolygonFillType.Vertical);
simpleFillSymb.AllowLabelOverlap = true;
simpleFillSymb.Antialiasing = false;
simpleFillSymb.BoundaryColor = System.Drawing.Color.Beige;
simpleFillSymb.BoundaryWidth = 3;
SimpleRenderer FillRenderer = new SimpleRenderer(simpleFillSymb);
drainLayer.Renderer = FillRenderer;
break;
}
return drainLayer;
}
#endregion
#region 工作区及图层
public MapView delLayer(MapView View,string Name)
{
Layer _L = View.Layers.FindByName(Name);
View.Layers.Remove(_L);
return View;
}
#region 添加SHAPE工作区及图层
/// <summary>
///
/// </summary>
/// <param name="View"></param>
/// <param name="workspaceName"></param>
/// <param name="Path"></param>
/// <param name="LayerType"></param>
/// <param name="LayerName"></param>
/// <param name="TocName"></param>
/// <returns></returns>
public MapView setShapeLayer(MapView View, string workspaceName, string Path, LayerType eLayerType, string LayerName, string TocName)
{
MapView mapView = View;
ShapeWorkspace drainWkspc = new ShapeWorkspace(workspaceName, @Path);
FeatureDataset drainDataset = new FeatureDataset(LayerName, drainWkspc);
FeatureLayer drainLayer = new ESRI.ArcGIS.ADF.IMS.Carto.Layer.FeatureLayer(LayerName, drainDataset);
drainLayer = setLayer(eLayerType, drainLayer);
drainLayer.Name = TocName;
mapView.Layers.Add(drainLayer);
return mapView;
}
#endregion
#region 添加SDE工作区及图层
/// <summary>
///
/// </summary>
/// <param name="View"></param>
/// <param name="sdeWorkspaceName"></param>
/// <param name="sdeService">服务器</param>
/// <param name="instance">端口</param>
/// <param name="sdeUser">用户名</param>
/// <param name="sdePass">用户密码</param>
/// <param name="LayerType">图层类别</param>
/// <param name="LayerName"></param>
/// <param name="TocName"></param>
/// <returns></returns>
public MapView setSDELayer(MapView View, string sdeWorkspaceName, string sdeService, string instance, string sdeUser, string sdePass, LayerType eLayerType, string LayerName, string TocName)
{
MapView mapView = View;
//ShapeWorkspace drainWkspc = new ShapeWorkspace(workspaceName, @Path);
SdeWorkspace drainWkspc = new SdeWorkspace(sdeWorkspaceName,sdeService, instance, sdeUser, sdePass);
FeatureDataset drainDataset = new FeatureDataset(LayerName, drainWkspc);
FeatureLayer drainLayer = new ESRI.ArcGIS.ADF.IMS.Carto.Layer.FeatureLayer(LayerName, drainDataset);
drainLayer = setLayer(eLayerType, drainLayer);
drainLayer.Name = TocName;
mapView.Layers.Add(drainLayer);
return mapView;
}
#endregion
#region 添加IMAGE工作区及图层
/// <summary>
///
/// </summary>
/// <param name="View"></param>
/// <param name="workspaceName"></param>
/// <param name="Path"></param>
/// <param name="LayerName"></param>
/// <param name="TocName"></param>
/// <returns></returns>
public MapView setImageLayer(MapView View, string workspaceName, string Path, string LayerName, string TocName)
{
MapView mapView = View;
ImageWorkspace drainWkspc = new ImageWorkspace(workspaceName, @Path);
ImageDataset drainDataset = new ImageDataset(LayerName, drainWkspc);
ImageLayer ImageLayer = new ESRI.ArcGIS.ADF.IMS.Carto.Layer.ImageLayer(LayerName, drainDataset);
ImageLayer.Name = TocName;
mapView.Layers.Add(ImageLayer);
return mapView;
}
#endregion
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -