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
的数据的空间和属性查询能力。
刚才说了不同的数据源都有相应的类来实现上面的基本接口,那我们来看看
AecGIS 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本身。
posted @ 2009-03-01 14:25  依然神思者  阅读(234)  评论(0编辑  收藏  举报