zoukankan      html  css  js  c++  java
  • point identity

    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

    using ESRI.ArcGIS.ADF.Web;
    using ESRI.ArcGIS.ADF.Web.Geometry;
    using ESRI.ArcGIS.ADF.Web.DataSources;
    using ESRI.ArcGIS.ADF.Web.UI.WebControls;
    using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools;


    /// <summary>
    ///IdentifyHelper 的摘要说明
    /// </summary>
    public class IdentifyHelper
    {
     public IdentifyHelper()
     {
      //
      //TODO: 在此处添加构造函数逻辑
      //
     }
        public static void ShowIdentifyResult(Map map, DataTableCollection dtc)
        {
            string returnstring = string.Empty;
            foreach (DataTable dt in dtc)
            {
                if (dt.Rows.Count == 0)
                    continue;
                returnstring += GetHtmlFromDataTable(dt);
            }
            returnstring = returnstring.Replace("\r\n","");
            returnstring = returnstring.Replace("\n","");
            string functionValue="var theForm=doucumnet.forms[0];";
            functionValue += "theForm.FunctionValue.Value='"+returnstring+"';";
            functionValue += "open('IdentifyResult.htm','IdentifyResult');";
            AddJavaScriptCallback(map, functionValue);

     
        }
        public static string GetHtmlFromDataTable(DataTable dt)
        {
            GridView gd = new GridView();
            gd.ToolTip = dt.TableName;
            gd.Caption = dt.TableName;
            gd.DataSource = dt;
            gd.DataBind();
            gd.Visible = true;
            gd.BorderWidth = 0;
            gd.CssClass = "list-line";
            gd.CellPadding = 3;
            gd.CellSpacing = 1;
            gd.HeaderStyle.CssClass = "barbg";
            gd.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
            gd.RowStyle.CssClass = "listbg";

            string returnString = string.Empty;
            using (System.IO.StringWriter sw = new System.IO.StringWriter())
            {
                HtmlTextWriter htw = new HtmlTextWriter(sw);
                gd.RenderControl(htw);
                htw.Flush();

                string tempStr=sw.ToString();
                returnString+=tempStr;
            }
            return returnString;

     
        }
        public static void AddJavaScriptCallback(Map map,string executeString)
        {
            object[] oa = new object[1];
            oa[0] = executeString;
            CallbackResult cr = new CallbackResult(null, null, "javascript", oa);
            map.CallbackResults.Add(cr);
     
        }
    }

    ————————————————————————————————————————————————

    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

    using ESRI.ArcGIS.ADF.Web;
    using ESRI.ArcGIS.ADF.Web.Geometry;
    using ESRI.ArcGIS.ADF.Web.DataSources;
    using ESRI.ArcGIS.ADF.Web.UI.WebControls;
    using ESRI.ArcGIS.ADF.Web.UI.WebControls.Tools;

    /// <summary>
    ///IdentityPoint 的摘要说明
    /// </summary>
    public class IdentityPoint:IMapServerToolAction
    {
     public IdentityPoint()
     {
      //
      //TODO: 在此处添加构造函数逻辑
      //
     }

        #region IMapServerToolAction 成员

        void IMapServerToolAction.ServerAction(ToolEventArgs args)
        {
            Map map = args.Control as Map;

            PointEventArgs point = args as PointEventArgs;
            System.Drawing.Point screen_point = point.ScreenPoint;

            Point pt = Point.ToMapPoint(screen_point.X, screen_point.Y, map.Extent, (int)map.Width.Value, (int)map.Height.Value);

            IGISFunctionality gisfunc = map.GetFunctionality("province");
            if (gisfunc == null)
                return;
            IGISResource gisresource = gisfunc.Resource;
            bool supportquery = gisresource.SupportsFunctionality(typeof(IQueryFunctionality));

            if (!supportquery)
                return;

            IQueryFunctionality qfunc;
            qfunc = gisresource.CreateFunctionality(typeof(IQueryFunctionality), null) as IQueryFunctionality;

            System.Data.DataTable[] qdatatable = qfunc.Identify(null, pt, 1, IdentifyOption.AllLayers, null);
            if (qdatatable != null)
                return;
            System.Data.DataSet dataset= new System.Data.DataSet();
            for (int i = 0; i < qdatatable.Length; i++)
                dataset.Tables.Add(qdatatable[i]);
            DataTableCollection dtc = dataset.Tables;

            IdentifyHelper.ShowIdentifyResult(map,dtc);
           


        }

        #endregion


    }


     

  • 相关阅读:
    【转载】 NumPy之:数据类型对象dtype
    在深度学习的视觉VISION领域数据预处理的魔法常数magic constant、黄金数值的复现: mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]
    关于Numpy数据类型对象(dtype)使用详解
    【转载】 大端模式和小端模式的区别是什么?
    在使用pytorch官方给出的torchvision中的预训练模型参数时为保证收敛性要求使用原始的数据预处理方式
    【转载】 解决 sudo echo x > 时的 Permission denied错误
    Javascript高级程序设计第二版前三章基本数据等笔记
    冒号课堂§3.4:事件驱动
    理解 JavaScript 闭包
    Browser clientX scrollLeft clientLeft
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1596091.html
Copyright © 2011-2022 走看看