⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynameic.cs

📁 arcims加点的测试程序
💻 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 + -