`
- 浏览:
737148 次
- 性别:
- 来自:
广州
-
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的始终的。
字串6
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的关系
字串3
上面讲了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怎么被使用 字串3
这三个接口是不同的数据源可以展现一些基本功能的基本接口,也就是说不同的数据源要实现基本的功能必须实现这三个基本的类,才能在控件上展现出那些基本的能力。各种数据源都用相应的类实现了这三个接口。
那首先来看一下这三个接口之间的关系,
一个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
字串5
IGISFunctionality ――MapFunctionality QueryFunctionality
这就是web adf的优势所在,它可以使得各种不同的数据源都展现为resouce, 使得它们可以以相同的方式得到使用。对于控件而言,每个resouce就象一个图层,而不管数据源是什么。
就举一个地图放大的功能,一个mapcontrol中有两个datasouce,一个是arcgis server local,一个是arcims, 地图的范围重新设定了之后,控件都通过每个resouces提供的mapfunctionality给每个resouces重新设定范围,每个resouces输出这个新的地图。而mapcontrol呢就负责把这些输出图片显示在同一个界面上。对于控件而言,每个resouce就象一个图层。从resouce可以到达datasouce本身。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
python教程学习
tdac034.pdf
veclibm111111111111
nssm工具,进行2次解压后即可
视讯镜头优化,操作不走
【数据结构】的资源,包括书籍、在线课程和网站
北京大学-DeepSeek系列-提示词工程和落地场景.pdf.png
【财信国际经济研究院-2025研报】2025年2月CPI和PPI数据点评:通胀低于预期,内需亟待提振.pdf
【毕业设计】java-springboot+vue精品在线试题库系统源码(完整前后端+mysql+说明文档+LunW).zip
python安装-25.求 a 的 b 次方——有点不好意思哈.py
代码实现了自适应IMM(交互式多模型)算法,专注于对目标状态进行估计,并结合了匀速(CV)和匀加速(CA)运动模型。它使用自适应观测噪声估计和扩展卡尔曼滤波器(EKF)作为滤波主体,并在最后提供误差统计特性输出。
中产品工业物联网联网的基础功能,是企业开启数字化转型的入门之选。它能帮助企业快速搭建起基础的设备数据采集与监控体系,以较低成本实
北京大学DeepSeek系列-DeepSeek与AIGC应用.pdf.png
【毕业设计-java】springboot-vue基于多维分类的知识管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
## 一、数据介绍 本数据参考C刊《管理评论》佟岩(2024)老师的做法,使用各年度省级政府工作报告中“减碳”关键词的词频总数来测度地方政府对“减碳”的重视程度,“减碳”关键词包括二氧化碳、低碳、减排、节能、能耗、环境保护(环保)、生态、绿色。 本数据包含:原始数据、参考文献、代码do文件、最终结果。 ## 二、参考文献: 佟岩,李鑫,徐国铨.企业集团碳减排压力与债务分布-来自高耗能上市公司的经验证据[J].管理评论,2024,36(02):210-221.DOI:10.14120/j.cnki.cn11-5057/f.2024.02.014 ## 三、相关数据:城市、城市编码、年份、减碳重视程度词频。
python教程学习
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
python学习一些项目和资源
锐捷设备命令最全大合集
uniapp-machine-learning-from-scratch-05.rar