zoukankan      html  css  js  c++  java
  • ArcGIS Server .Net Web ADF的类库简介(转载)

    ArcGIS Server .Net Web ADF的类库简介(转载)
    2009-02-13 12:43
    在Server .net 9.2中,随着arcgis server的应用的多数据源模式的推出,导致了arcgis server必须提供一些能够支持各种数据源的类库,这也就是现在的.net adf的类库。因为这些类库和adf中提供的控件联系非常紧密,因此会在我们arcgis server的开发过程中频繁的使用到。

    附图中的所列出来的类是ArcGIS Server为我们提供的所有的类,

    Common APIs

    ESRI.ArcGIS.ADF.Web

    ESRI.ArcGIS.ADF.Web.DataSouces

    ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer

    ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService

    ESRI.ArcGIS.ADF.Web. DataSouces.Graphics

    ESRI.ArcGIS.ADF.Web.. DataSouces.IMS

    ESRI.ArcGIS.ADF.Web.. DataSouces.OGCWMSService

    ESRI.ArcGIS.ADF.Web..UI.WebControls

    Specific APIs

    ESRI.ArcGIS.ADF

    ESRI.ArcGIS.ADF.ArcGISServer

    ESRI.ArcGIS.ADF.ArcGISServer.Editor

    ESRI.ArcGIS.ADF.ArcWebService

    ESRI.ArcGIS.ADF.IMS

    ESRI.ArcGIS.ADF.Connection

    ESRI.ArcGIS.ADF.Tasks

    除了上面列出的这些之外的其他类库都是属于Specific APIs。

    Web ADF通过Common APIs来到达相应的Specific APIs。

    先来看Common APIs:

    ESRI.ArcGIS.ADF.Web.DataSouces:包含了为各种数据源用来实现的Common APIs的各种基本接口,比如IGISDataSouce,IGISResouce,IGISFunctionality等。

    ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer:里面包含的类基本上是ESRI.ArcGIS.ADF.Web.DataSouces中接口的一种实现,这些类就是web Adf中针对ArcGIS Server这种数据源的Common APIs.

    ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService:里面包含的类基本上是ESRI.ArcGIS.ADF.Web.DataSouces中接口的一种实现,包含了web Adf中针对ArcWebService 这种数据源的Common APIs.

    其他几个依次类推。

    各个库中的类的名称可能是相同的,比如MapFunctionality就在

    ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer

    ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService

    ESRI.ArcGIS.ADF.Web. DataSouces.Graphics

    ESRI.ArcGIS.ADF.Web.. DataSouces.IMS

    ESRI.ArcGIS.ADF.Web.. DataSouces.OGCWMSService

    各个库中都有,但是是针对不同的数据源的,这也就是支持多种数据源并且可以扩展自己的数据源的表现之一。

    ESRI.ArcGIS.ADF.Web..UI.WebControls:包含了web adf为我们提供的各种控件类。

    再来看看Specifics APIs:

    各种Specifics APIs的库的内容比较明确,都是针对不同的数据源要使用到的特殊的类。从名称上大家都可以看出来.

    比如ESRI.ArcGIS.ADF.ArcGISServer就是针对ArcGIS Server的Specific APIs,

    其他以此类推

    在从各种控件入手,进行任何的操作,首先都先接触到这些Common APIs,从Common APIs来判断是哪种数据源,然后着手进入Specific APIs。来看看下面一段代码:

    //从控件得到Functionality的集合

    IEnumerable funcenum = Map1.GetFunctionalities();

            foreach (IGISFunctionality gisfunc in funcenum)

            {

                //从functionality过得图层名称

                IMapFunctionality mf = (IMapFunctionality)gisfunc;

                string[] layerids;

                string[] layernames;

                mf.GetLayers(out layerids, out layernames);

                //从functionality中获得resource资源

                MapResourceLocal localRes = mf.Resource as MapResourceLocal;

                IMapServer pMapServer = localRes.MapServer;

                IMapServerObjects pMapServerObjects = pMapServer as IMapServerObjects;

                IFeatureLayer pFeatureLayer = pMapServerObjects.get_Layer(pMapServer.DefaultMapName, 0) as IFeatureLayer;        }

    首先从控件得到functionality,再从functionality得到resouce,根据resouce的类型我们就知道怎么去使用改resouce的specific APIs了,上面的例子得到Resouce的类型是MapResourceLocal,我们就可以进一步使用MapResourceLocal的Specific APIs――ArcObjects。


  • 相关阅读:
    tkinter 表格
    Python编程学习笔记 随时更新
    WIN32窗口程序
    OutputDebugString方便格式化WIN32封装
    免费的剪贴板工具Ditto安装与使用
    Notepad++安装json插件
    华为机试训练题
    Python+Flask+MysqL的web建设技术过程
    python Django 用法总结(转)
    python Robot Framework用法总结(转)
  • 原文地址:https://www.cnblogs.com/xianyin05/p/1437024.html
Copyright © 2011-2022 走看看