ArcGIS Server .Net Web ADF体系结构(转)

ArcGIS Server .net来创建应用有三个层次,
1 使用manager来创建一个web应用
2 使用 .net模板来创建应用
3 使用adf来创建应用
对于一个项目开发来说,需要采用第三中方式来进行开发的,第一,第二中方式一般用于刚刚基础arcgis server的同志学习使用或者是非常简单的应用来使用的,使用adf来进行开发,弄清楚adf的体系结构就显的非常重要,否则就会象掉进arcobjects的巨多的组件堆里的感觉是一样的。在这个讲座中会讲到.Net ADF为我们提供了什么,我们该在ArcGIS Server.Net开发过程中怎么样有序的去使用它们。
以前我们的adf称为 Server adf,那是因为只有单一的数据源,即ArcGIS Server。而现在的是Web Adf,是针对多数据源的,可以是ArcGIS Server, ArcGIS IMs等。
Adf为我们提供的是控件和api。控件是提供用户界面,而common api和specific api的类来具体完成GIS的功能。
首先我们来看看控件,9.2 ADF的控件明显比以前版本复杂一些,除了我们常见的map,pagelayout,toc等控件之外,还出现了一系列的resoucemanager控件。这些控件的出现都是为支持多数据源的这个目标服务的,在解释控件的同时还会涉及到adf中的其他一些概念,这些概念都是贯穿adf的始终的。

1 Resouces,ResouceManager,webcontrols, functionality的关系。
首先我们来解释一下Resouces,ResouceManager,webcontrols, functionality的关系。
控件和数据源之间的关系是通过一系列的ResouceManager控件来维护的。ResouceManager决定哪些数据源是可以使用的Resouces,以及这些Resouces怎么样被控件所使用。一旦一个数据源被ResouceManager管理之后,就被展现为Resouces。控件通过Resouces到达数据源。Resouces可以把数据源以多种形式展现出来,比如可以提供一幅地图展现在map控件种,它也可以把数据源以图层列表的方式展现在toc控件中,也就是说Resource拥有不能的能力,这些不同的能力我们成为不同的functionaligy。
从控件角度来讲,不同的控件可以通过不同的方式来使用相同的数据源,比如一个Resouce可以为map控件提供一幅地图,也可以为toc控件提供一套图层的列表,这就Resouces的不同的functionality。
从数据源角度来讲,不同的Resouces会通用的展现一些能力,也就是提供不同的functionality,比如展现地图,查询地图等。
上面这些文字可能刚开始看起来比较费劲,但是对于使用.net开发的人来说一定要弄清楚这些关系。

2 Common APIs和specific APIs的关系
上面讲了Resouces可以展现为不同的能力,但是具体能够展现为哪些能力还是要看数据源本身能够提供什么样的功能。但是有一些能力是所有数据源都能办到的,也就是说Resouces可以展现出一些所有的数据源都可以提供的能力,比如提供地图,比如查询地图,无论是arcgis server作为数据源,还是arcims作为数据源,这些都是基本的能力。因此adf就把实现这些基本的普通的功能所需要的类归为Common APIs。而有些功能是有些数据源特有的,比如提供编辑功能,那是arcgis server特有的,arcims是无法提供的。这些就被称为specific APIs。
Specific APIs包括arcims api, arcweb api, ogc"wms api, arcgis server soap api, arcgis server arcobjects api,注意其中的arcobjects api也被列为了specific api了,它是arcgis server数据源的specific APIs。

3 Common APIs的基本结构,adf中如何来使用这些common APIs?
我们在开发过程中首先接触到的就是ADF中提供的这些Common APIs,而且它的结构比较明朗,不像Specific APIs那样多样。首先我们来看几个基本接口,
IGISDataSouce――定义了数据源的连接
IGISResouce――定义了datasouce提供的信息类型等
IGISFunctionality――定义了resouce怎么被使用
这三个接口是不同的数据源可以展现一些基本功能的基本接口,也就是说不同的数据源要实现基本的功能必须实现这三个基本的类,才能在控件上展现出那些基本的能力。各种数据源都用相应的类实现了这三个接口。
那首先来看一下这三个接口之间的关系,
一个GISDataSouce会包含一系列的GISResouces。GISDatasouce是一个比较大的概念,主要就包含了ArcGIS Server Local, ArcGIS Server internet ,ArcIms, WMS, ArcWeb这几种。那就拿ArcGIS Server Local来说吧,它包含了MapResouce, GeocodeResouce, GeoprocessingResouce几种。
一个GISResouce会包含一系列的GISFunctionality。Functionality定义了resouces怎么被使用。Functionality主要有两种mapfunctionality,queryfunctionality。Mapfunctionality主要展现resouce的地图能力,比如输出地图图片,改变地图范围,设置地图中图层的可见性等。而queryfunctionality主要展现resouce的数据的空间和属性查询能力。
刚才说了不同的数据源都有相应的类来实现上面的基本接口,那我们来看看arcgis server local这种数据源的相应的实现类:
IGISDataSouce ――GISDataSouceLocal
IGISResouce ――MapResouceLocal, GeocodeResouceLocal
IGISFunctionality ――MapFunctionality QueryFunctionality

这就是web adf的优势所在,它可以使得各种不同的数据源都展现为resouce, 使得它们可以以相同的方式得到使用。对于控件而言,每个resouce就象一个图层,而不管数据源是什么。

就举一个地图放大的功能,一个mapcontrol中有两个datasouce,一个是arcgis server local,一个是arcims, 地图的范围重新设定了之后,控件都通过每个resouces提供的mapfunctionality给每个resouces重新设定范围,每个resouces输出这个新的地图。而mapcontrol呢就负责把这些输出图片显示在同一个界面上。对于控件而言,每个resouce就象一个图层。从resouce可以到达datasouce本身。

转载于:https://www.cnblogs.com/j3eee/archive/2009/02/25/1398283.html

ArcGIS Server实现带气泡查询的.NET Web ADF Task开发指南 ArcGIS Server 是一款由Esri公司开发的强大的地理信息系统(GIS)服务器软件,它允许用户发布、管理和使用地理数据和服务。ArcGIS Server 为创建网络地图服务提供了一个成熟的平台,并通过地理处理能力扩展了GIS的功能。.NET Web ADF框架提供了一套全面的工具和库,用于开发具有丰富功能的Web GIS应用程序。在本章节中,我们将深入了解.NET Web ADF框架的概况、开发环境的搭建,以及如何创建一个.NET Web ADF应用程序。 阅读详情

相关推荐

ArcGIS Server .Net ADF开发

ArcGIS Server .Net ADF开发

ArcGIS Server开发——Web ADF应用程序开发入门

  本文介绍如何使用Web制图应用程序模板在无需编辑任何代码的情况下快速建立ArcGIS ServerWeb制图应用程序。Web制图应用程序模板是与Visual Studio集成于一体的。   前期准备工作:①软件安装与配置;② 制作一幅地图并发布到ArcGIS Server。   前期准备工作本文都不做详述,本文创建了China_400.mxd地图文档发布至ArcGIS Ser...

248

开发基于.net_ADF的ArcGIS_Server_Web应用

开发基于.net_ADF的ArcGIS_Server_Web应用

Arcgis Server系列 ADF的开发与实例

在Arcgis Server学习过程中,大家也许最先使用的就是用自带的ADF进行初步的Server开发.总的来说,ADF算是一个比较强大的Web服务器端控件.为我们封装了大量的代码和客户端操作.从而降低了我们的开发难度.不过,由于我用的是Arcgis Server9.0.其自带的ADF还存在这一些问题,造成了所开发的项目的一些问题,这些问题往往会造成整个项目的失败和遗憾.在这个文章的最...

weixin_30306905的博客 278

从IMU到机器人定位:手把手教你用ESKF(Error-State Kalman Filter)搞定传感器融合

本文详细介绍了如何使用ESKF(Error-State Kalman Filter)实现IMU与多传感器的融合,解决机器人定位中的积分漂移问题。通过代码示例和Gazebo仿真案例,展示了ESKF在自动驾驶和移动机器人中的核心应用,包括误差状态建模、预测过程实现和观测更新策略,帮助开发者掌握这一高效滤波技术。

weixin_33275503的博客 285

别再手动写用例了!用AI Agent自动生成测试用例的保姆级实战(附Python代码)

本文详细介绍了如何利用AI Agent技术自动生成测试用例,大幅提升测试工程师的工作效率。通过Python代码实战演示,从环境搭建到核心Agent构建(需求解析、场景挖掘、用例编排),再到与企业工具链(TestRail、Jira)的深度集成,帮助团队实现测试用例的智能化生成与管理。

weixin_30897233的博客 648

ArcGIS Server .Net Web ADF的类库简介

在做过Server .net 9.2之前版本开发的人都知道,arcgis server adf本身并没有什么类库,只有一些便利类供我们使用,比如webmap,比如webpagelayout,除此之外,我们都是使用的是arcobjects组件来进行开发的。但是在Server .net 9.2中,随着arcgis server的应用的多数据源模式的推出,导致了arcgis server必须提供一些

TemateRoom的专栏 1369

Jetson-nano 编译实时内核并烧录

前言 之前一篇文章介绍了正常的烧录过程,使用的是默认内核,实际工作中需要对内核打补丁升级为实时内核,并对其重编译。 一、准备内容 官网大法好 官方内核下载链接 官方交叉编译器下载链接 官方文档 ubuntu主机一台 根据官网选择下载对应的文件, 1、L4TDriver Package (BSP) source jetson内核文件。 2、官方交叉编译器 因为我们不是在jetson上直接编译,而jetson是arm平台,所以要进行交叉编译。 二、使用步骤 1.解压 内核 tar -xjf public_s

ldl371122的博客 3288

使用ArcGIS Server和ASP.net建立一个简单的网站

内容摘要  提供的指导描述了如何创建一个简单的ArcGIS Server ASP.NET网页。为了诊断,尽可能使用最小的应用,这样有助于测试ArcGIS Server和.NET 应用开发框架(ADF)是否配置适当且工作正常。  过程描述  在运行这个例子前,在网络服务器上必须安装好.NET ADF,ArcGIS Server已经安装并正常运行,达到所有的系统要求。 1.创建一个ASP.NET

太初有道 6217

Halcon窗体开发避坑指南:C#自定义控件实现7大图像交互功能

本文详细介绍了如何利用C#封装自定义Halcon控件,以解决原生HWindowControl功能不足的问题。通过实战代码,展示了如何实现图像按比例显示、鼠标拖动缩放、灰度值读取、图像保存、截图及图形叠加等七大核心交互功能,并重点剖析了内存管理、坐标转换等开发避坑要点,帮助开发者构建稳定可复用的机器视觉组件库。

weixin_29251131的博客 292

深度解析机器人关节位置环控制:从理论到实践

本文系统阐述了机器人关节位置环控制的核心原理与实现方法。首先介绍了关节控制的基础框架,阐明位置环在闭环控制中的关键作用。随后深入解析PID控制算法原理,包括比例、积分、微分项的功能与参数整定原则。在软件实现部分,提供了模块化设计思路和Python伪代码示例,强调实时性保障和异常处理机制。文章还包含典型面试问题解答和应用案例,展示如何通过参数优化将定位精度提升20倍。最后指出未来发展趋势将聚焦算法自适应性和系统稳健性。全文兼顾理论深度与实践指导,为开发者提供从基础到进阶的完整技术路线图。

郑伟强dev的专栏 52

Esri中国社区 » GIS大讲堂:ArcGIS Server .Net ADF中的AJAX

ArcGIS Server .Net ADF中的AJAX(一)对于没有很好的.net编程基础,arcobjects的开发经验的开发人员而言,开发arcgis server的应用是比较费劲的。最简单和最快的学习之处就是先整清楚esri为我们提供的模板程序,别看这个功能简单的模板程序,里面包含了各种你开发arcgis server应用所需要的技术。Ajax技术就是其中之一。下面讲的东西在模版程序中都可以找到应用。我们并不细究ajax复杂的技术本身,我们需要的仅仅是ajax技术在我们的arcgis server开

Vita Dolce 3704

学Simulink——基于 Simulink 的 滑模控制(SMC)

本文详细介绍了基于Simulink的Buck变换器滑模控制(SMC)设计与实现方法。首先阐述了传统PI控制在负载突变时的不足,以及滑模控制具有强鲁棒性和快速响应的优势。通过建立Buck变换器的连续状态方程,推导了含积分项的滑模面和控制律,并采用边界层法抑制抖振。文章分步骤讲解了Simulink模型搭建过程,包括主电路、控制器实现和负载扰动模拟模块。仿真结果表明,在负载1A↔5A阶跃时,SMC控制输出电压波动仅0.08V,恢复时间0.35ms,远优于传统PI控制。同时给出了工程实践中的参数选择建议和数字实现技

amy_mhd的博客 254

使用ArcGIS Server开发WebGIS系统

使用ArcGIS Server开发WebGIS一般可以有以下几种途径1、使用ESRI ADF for java或for .Net      ADF是ESRI开发的一套用于WebGIS开发的框架,功能非常强大。偶使用过for Java的版本。他使用JSF构建,提供了很多控件,开发简单的WebGIS系统可以直接使用甚至不需要编码。支持瓦片式地图,支持BS系统下的GIS空间数据编辑,内建了测距、测面积、...

whxhz的专栏 1762

操作系统实验四 进程运行轨迹的跟踪与统计(哈工大李治军)

实验4 进程运行轨迹的跟踪与统计 实验目的 掌握 Linux 下的多进程编程技术; 通过对进程运行轨迹的跟踪来形象化进程的概念; 在进程运行轨迹跟踪的基础上进行相应的数据统计,从而能对进程调度算法进行实际的量化评价,更进一步加深对调度和调度算法的理解,获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。 实验内容 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以

leoabcd12的博客 4654

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ArcGIS Server .Net Web ADF之几何类型的相互转换

数据类型之间的转换来源于Web ADF支持多元数据。支持多种数据源表示web应用可能会在同一个应用中和不同的数据源打交道。总的来说,每一中数据源都可以脱离Web ADF而独立进行工作,只需要维护自己的Specific APIs。但是由于Web ADF把他们结合在了一起,因此不同数据类型之间的转换就会频繁的在开发中遇到。Web ADF中提供了各种转换类,在不同的命名空间中以静态方法的方式提供。ESR

Oscar_King网络“求索”学堂 2655

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ArcGIS Server .Net Web ADF体系结构

ArcGIS Server .Net Web ADF体系结构   ArcGIS Server .net来创建应用有三个层次,1 使用manager来创建一个web应用2 使用 .net模板来创建应用3 使用adf来创建应用对于一个项目开发来说,需要采用第三中方式来进行开发的,第一,第二中方式一般用于刚刚基础arcgis server的同志学习使用或者是非常简单的应用来使用的,使用adf来进行

niehoude的专栏 684

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Arcgis Server的 ADF的开发与实例

原文章地址(http://www.cnblogs.com/tony111082/archive/2006/10/18/532335.html)在Arcgis Server学习过程中,大家也许最先使用的就是用自带的ADF进行初步的Server开发.总的来说,ADF算是一个比较强大的Web服务器端控件.为我们封装了大量的代码和客户端操作.从而降低了我们的开发难度.不过,由于我用的是Arcgis S

soulkiten的专栏 2565

ArcGIS Server框架

ArcGIS Server .net来创建应用有三个层次,1 使用manager来创建一个web应用2 使用 .net模板来创建应用3 使用adf来创建应用对于一个项目开发来说,需要采用第三中方式来进行开发的,第一,第二中方式一般用于刚刚基础arcgis server的同志学习使用或者是非常简单的应用来使用的,使用adf来进行开发,弄清楚adf的体系结构就显的非常重要,否则就会象掉进arcobje

ykqiu的专栏 1103

运用ArcGIS Server开发WebGIS系统主要几种途径及发展趋势

使用ArcGIS Server开发WebGIS一般可以有以下几种途径 1、使用ESRI ADF for java或for .Net ADF是ESRI开发的一套用于WebGIS开发的框架,功能非常强大。偶使用过for Java的版本。他使用JSF构建,提供了很多控件,开发简单的WebGIS系统可以直接使用甚至不需要编码。支持瓦片式地图,支持BS系统下的GIS空间数据编辑,内建了测距、测面

哈里·雪利博客 8439
上一篇: 通用的ADF编程步骤
下一篇: nema协议解析收藏
developer2016
博客等级 码龄10年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值