Skyline服务(精选7篇)
Skyline服务 篇1
0 引言
伴随着经济的快速发展,服务化成为了产业发展的必然趋势,各种生产活动的成果逐渐开始以服务方式向用户进行交付[1]。进而,互联网上的服务种类越来越丰富,服务数据越来越繁杂,服务选择的优化成为了一个亟需解决的问题。
目前,Skyline服务选择成为了服务选择优化的一大研究热点[2,4,5]。这些研究大多是通过引入Skyline计算,选择出Skyline服务集,去除冗余服务,从而减小候选服务集大小、提高服务选择的效率。但是,这些研究只是去除了被支配的冗余服务,剩下的Skyline服务集仍然是一个非常庞大的服务集,这些服务必定只有少部分才会用于服务组合。所以,对候选服务进行二次筛选,选出能被选择的可能性最大的Skyline服务集,成为Skyline选择方法亟待解决的难题。
为了提高服务选择的效率,缩小Skyline服务集的大小,提出了Skyline服务Top-k选择方法。该方法可快速求解到最优的Top-k Skyline服务,去除冗余的Skyline服务,有效降低服务选择的时间,而不会影响服务组合的结果。
1 相关介绍
1.1 Skyline服务
Skyline计算(查询)[3]就是从一个数据库中抽取出不被其他任一数据对象所支配的所有数据对象的集合,也称为Pareto(即在不损害他方利益的情况下,使得自身已达最优)。目前,Skyline计算已经被引入到服务领域。
定义1服务支配[2]:设存在一个服务类S={s1,s2,…,sn},s1和s2为其中的两个候选服务,并且每个服务都有k个Qo S属性。如果i∈[1,k],s1(i)≥s2(i)(≥表示好于或等于),且,使得s1(j)>s2(j)(>表示好于),那么就有s1<s2(<表示服务支配,即s1支配s2),也就是说,候选服务s1的每一个Qo S属性值都要好于或等于候选服务s2的属性值,且至少有一个属性值好于s2。
定义2 Skyline服务集[2]:Skyline服务集是指在某一服务类S中不被其他任一服务所支配的最小候选服务的集合,记为Sky S,Sky S={si∈S|瓙sj∈S:sj<si}。
1.2 基于云模型的Skyline服务选择
文献[2]将Skyline计算引入到服务选择中,通过剔除候选服务中的冗余服务,得到Skyline服务集,从而缩小候选服务集的大小、提高服务选择的效率,并求解出基于Qo S全局约束的服务选择的解。同时,文献[2]提出了命题1,即服务选择一定选择自Skyline服务集,并为它的Skyline服务选择方法提供了理论依据。
命题1[2]设最优组合服务为S={s1,s2,…,sn}(si是对应组合服务类Si中选择出的服务),那么对于S中的每一个服务,都属于对应组合服务类的Skyline服务(记为Sky Si),即si∈Sky Si。
2 基于Skyline服务的Top-k选择
文献[2]将Skyline计算引入到服务选择中,剔除冗余的候选服务,降低候选服务集的大小,从而提高了服务选择的效率。但是,这只是服务选择的第一步,因为剔除了冗余的候选服务后,得到的Skyline服务集仍然是一个非常庞大的数据集。本节将对Skyline服务集进行筛选,选择出最优的Top-k Skyline服务,达到缩小Skyline服务集大小,而不会影响服务组合的目的。
2.1 理论基础
服务选择最终是为了服务组合,本节从服务组合角度,用数学推理的方式给出了基于Skyline服务的Top-k选择的理论依据。
众所周知,基于Qo S全局约束的服务选择的重点是从所有可能的服务组合中选择一个Qo S效用函数值最大且满足全局Qo S约束的组合。例如,假设最终的最优服务组合为S={s1,s2,…,sn},那么,它必须满足两个条件:
a)所有服务类的Qo S效用函数值U(S)最大;
b)Qo S属性聚合值qj(S)≤Cj,其中qj(S)为S的第j个Qo S属性聚合值,Cj为相对应的约束值。
本文设定服务组合的所有可能组合按Qo S效用函数排序,取其Top-k,最大限度的容许了条件b)的成立,所以,关键在于条件a),即使服务的Qo S效用函数值最大。
在顺序模型中,服务组合S={s1,s2,…,sn},服务类si的质量属性为q(si)={q1,q2,…,qj,…,qm},则S的Qo S效用函数值为:
均按照正属性来处理,其中Qjmax和Qjmin分别为所有服务类的质量属性qj的最大值和最小值,由于其余三种模式均可转化为顺序模式求解[6,8],仅考虑顺序模式。
如果所有的服务类在进行服务组合之前已经进行了归一化处理(处理后均为正属性),即每个服务类的每个Qo S属性的最大值和最小值均分别为1和0,另外,由于服务组合的Qo S属性的计算方式主要分为3种:累和,累积,最小值。所以,分三种情况分析。
(1)累和:如响应时间,价格,信誉度等
响应时间、价格的计算公式为,信誉度的计算公式为。
此时,服务组合S的Qo S属性的最小值肯定为0,所以效用函数变换为:
又由于对于有系数的Qo S属性,例如信誉度,有1/n,因为分子、分母都有,消去。所以,如果考虑的Qo S属性均为累和形式,则服务组合的效用函数变换为:
即,服务组合的效用函数与每个服务类所选择的服务的效用函数相关。所以,可以依据每个服务类中候选服务的效用函数值进行选择服务,而具体的依据或者具体的效用函数值范围的界定,由下节命题给出。
(2)累积:如可用性,可靠性,可能性
可用性计算公式为,此种情况下,如果所有考虑的Qo S属性都是这种累积的形式,服务组合的Qo S属性的最小值均为0,最大值均为1。服务组合的效用函数变换为:
可见,看不出与每个服务类所选择的服务的效用函数的关系,但可以肯定,如果此种计算方式的Qo S属性个数所占比重较少,且权重不大,其数值相对较小。
(3)最小值:如吞吐量
吞吐量的计算公式为,此种情况下qthr(S)=minni=1qthr(i),如果所有的考虑的Qo S属性都是这种最小值的形式,服务组合的Qo S属性的最小值均为0,最大值均为1。服务组合的效用函数变换为:
也看不出其与每个服务类选择出的服务的效用函数的关系,但是在权重非常小的情况下,其值相对也较小。
综上,如果一个服务组合,有a个属于累和类型的Qo S属性(令其属性标签为1至a),有b个属于累积类型的Qo S属性(令其属性标签为a+1至a+b),有c个属于最小值类型的Qo S属性(令其属性标签为a+b+1至a+b+c),那么服务组合的效用函数可变换为
其中,U(i)表示第i个服务、第1至a个Qo S属性的效用函数值。可以看出,如果累积和最小值方式的Qo S属性相对比较少(甚至没有),且其权重也不占主要地位,累和形式的结果就成了最终服务组合的效用函数值最主要的部分。在这种情况下,可以通过候选服务的效用函数值来界定被选择用来进行服务组合的可能性,达到降低Skyline服务集大小、提高服务选择效率的目的。这种方法的误差为:
2.2 相关命题
由上节可知,候选服务的效用函数值与服务组合是存在一定的函数关系的,对服务组合的某一个服务类而言,可以依据候选服务的效用函数值来界定一个范围,该范围内的Skyline服务是最有可能被选择后用于服务组合的。本节将给出基于Skyline服务进行Top-k选择的相关命题及其证明。
命题2如果对服务组合按照效用函数值进行Top-k排序,那么对于任意的服务组合S={s1,s2,…,sn}(si是对应服务类Si中选择出的服务),si一定属于其对应的Skyline服务集的Top-k(按效用函数排序)。
证明:反证法
假设对于服务组合S={s1,s2,…,sn},S属于Top-k,si是对应服务类Si中选择出的服务,,sim表示服务类中排名第m的服务。
由于按照Qo S效用函数(累和形式的Qo S属性效用函数值)排序的,所以对于Sky Si服务类,其效用函数排序为si1>si2>…>sik>sim。
又由于在顺序模型中,服务组合的Qo S效用函数与各个服务类效用函数值的关系如式(2)所示,所以,有k个服务组合,它们的Qo S效用函数一定大于服务S,这与条件“S属于Top-k”相矛盾,所以,假设不成立,命题得证。
命题3对于任一服务类S,如果其中的一个服务s1支配另一个服务s2,那么服务s1的Qo S效用函数一定优于服务s2的效用函数。
证明:设服务s1={x1,x2,…,xk},服务。
由于s1<s2(<表示支配、优于),则1≤i≤k,xi≥xi(≥表示好于或等于)。
又由于Qo S效用函数是各个质量属性的聚合值,聚合值随着各个属性值的越大也越大,所以Qo S效用函数也是单调函数,由此可知s1的效用函数一定优于s2的效用函数。得证。
2.3 Skyline服务的Top-k选择算法
根据上一节的命题,本节提出了基于Skyline服务Top-k选择算法,算法流程如图1所示。
该算法是一个并行算法,一边对候选服务集进行Skyline计算,一边根据效用函数进行排序,最终得到Top-k的Skyline服务集。算法代码如下:
3 实验与分析
本文对Skyline服务Top-k选择方法的对比分析以及其对服务组合的影响,进行了两个实验。
所有实验均基于公共Web服务集QWS[7](包含2507条Web数据信息,取其4个Qo S属性数据———Response Time,Latency,Throughput,Successability),以及随机产生的493条Web数据,Trustworthiness(Web服务起源可信度)取自文献[4]的实验数据。
所有算法都用Java实现,硬件环境配置为Intel(R)Core(TM)i5-3470 CPU,3.20 GHz,4 GB RAM running Windows 7(32位)。
(1)Skyline服务Top-k选择方法的对比分析
对比文献[2]提出的Skyline选择方法与本文提出的基于Skyline服务的Top-k选择方法,随机抽取Web服务,针对不同的k值,计算其服务选择的时间耗费,具体的对比如图2所示。
由图2可知,不管k值如何,随着候选服务集的增加,两种方法时间耗费的差距越来越大,本文提出的基于Skyline服务的Top-k选择方法大大减少了服务选择的时间耗费,从而能提高服务选择的效率。
(2)基于Skyline服务的Top-k选择对服务组合的影响分析
分两种情况分析本文提出的基于Skyline服务的Top-k选择方法对服务组合的影响:a)用户所关注的Qo S属性均为累和形式的Qo S属性;b)累和形式的Qo S属性相对较多,累积、最小值等其他形式求解的Qo S属性的权重很小。
对图3所示的服务组合流程,以及表1所示的组合阈值和权重,选取按效用函数值排序的前Top-k个服务组合(k=10)。两种情况下,最终得到的前10个服务组合如图4所示。
由图4可知,在仅考虑累和形式的Qo S属性的情况下,本文提出的基于Skyline服务的Top-k选择与文献[2]的Skyline选择后的服务组合结果相同;而在累和形式的Qo S属性占绝对优势的前提下,本文提出的基于Skyline服务的Top-k选择与文献[2]的Skyline选择后的服务组合结果相差较小,只有最后排行末尾的服务组合不一致。所以,本文提出的基于Skyline服务的Top-k选择算法是可行的、有效的,不会影响服务组合。
4 结语
本文在现有Skyline服务选择的研究基础上,提出了基于Skyline服务的Top-k选择方法,具体工作包括:1)从服务组合出发,给出了基于Skyline服务Top-k选择的理论依据;2)提出了基于Skyline服务的Top-k选择的相关命题,并证明了这些命题的正确性;3)设计了基于Skyline服务的Top-k选择算法,有效、便捷地计算出被选择的可能性最大的前Top-k个Skyline服务;4)通过实验证明了基于Skyline服务的Top-k选择算法能大大缩小服务选择的时间,提高服务选择的效率,是一种可行的、有效的服务选择方法。
Skyline服务 篇2
当前人们越来越重视三维信息的表达与处理。比如,城市规划部门建立城市三维景观模型,水电站以及其他企业建立三维信息系统。因此构建三维模型在现实生活中具有很重要的意义。目前关于三维建模技术有了很多研究,大致可以分为以下三种:一是利用常见的三维建模软件直接进行模型的建立,如:3DMAX、BIM等软件,该方法主要用于相对简单的建筑建模;二是利用GIS的线划数据和高程进行三维模型的建立,该方法只适用于比较规则的物体,因此,此方法很少用;三是利用倾斜摄影测量技术进行三维模型的建立。通过对获得的倾斜影像、街景数据、拍摄照片等不同数据源数据进行同名点选取、多视匹配、三角网(TIN)构建、自动赋予纹理等步骤,该方法成本比较高。
文章选取某水电站为实验片区,主要介绍以Skyline作为开发平台,并用3DMAX和Auto CAD等三维建模软件进行模型的建立。即通过3DMAX软件构建房屋及其他建筑物的三维模型,外业采集的房屋及其他建筑物照片纹理。二是通过正射影像和修正后的DEM在基于Sky Line系列下构建三维地形。
1数据准备及技术路线
1.1实验概况
梨园水电站位于云南省迪庆州香格里拉县(左岸)与丽江地区玉龙县(右岸)交界河段,上游与两家人水电站相衔接,下游为阿海水电站。电站坝址距丽江市公路里程距离为204km,经文化至丽江公路里程174km(经玉龙雪山景区至丽江166km),距大理市公路里程354km,距昆明公路里程680km,距攀枝花市公路里程约455km(经宁蒗)。
1.2实验数据
1.2.1地形图数据
此次采用的地图数据是梨园水电站内部的线划地形图,地形图数据需要经过处理后转换为Terra Explorer Pro批量建模的shp文件。
1.2.2正摄影像数据
根据三维重建的精度要求选择影像数据,一般采用航空影像或者高分辨率卫星遥感影像,本文的影像数据是通过无人机获取的。获取的影像数据通过专门的遥感处理软件进行纠正后使用。
1.2.3高程数据(DEM)
得到的DEM数据不精确,可根据原始数据重新进行处理,人为纠正调整得到精度较高DEM数据。通过纠正后的正摄影像数据和DEM一起在基于Skyline系列下的Terra Builder中直接调用,用于构建三维地形模型。
1.2.4纹理数据
纹理数据主要有道路、建筑物、大坝、发电厂以及其他景观的纹理。其中道路的纹理数据不需要拍摄获取,可直接从Terra Explorer中自带的材质库获得。而其他的纹理数据则需要通过拍摄获取。文章采用Photo Shop软件对采集到的纹理数据进行处理,为保证纹理的真实性和色调的均匀,纹理像素尺寸采用2的n次冥。
1.3技术路线
从构建梨园水电站三维地理信息系统的角度出发,利用C#.net编程语言,采用Sky Line软件提供额外Terra Developer组件作为开发平台建立梨园水电站三维地理信息系统,主要实现三维基本操作、信息查询、空间分析等功能。
文章用到的三维地形模型建立关键技术主要有三种:一是运用传统的三维建模方法构建地物的三维模型。即通过3DMAX软件构建房屋及其他建筑物的三维模型。二是通过正射影像和修正后的DEM在基于Sky Line系列下构建三维地形。Sky Line可以把正射影像、高程和矢量数据融合成一个高精度带有地理坐标信息的地形数据文件。三是基于Sky Line组件和Visual Studio平台下设计和二次开发出梨园水电站三维地理信息系统的界面、功能及需求。
1.4实验设备
实验用到的核心软件主要是Skyline和3DMAX,开发环境为Visual Studio2010。辅助软件为Photo Shop、Arc GIS10.1、Auto CAD2008。其中Photo Shop用于纹理处理与加工,Arc GIS用于处理矢量数据,Auto CAD用于地图数据源处理。
2三维模型的建立方法
2.1地形模型建立方法
地形模型的建立方法主要是通过将遥感影像数据和DEM数据在Skyline系列中进行叠加来完成地形模型的显示。Sky Line可以把正射影像、高程和矢量数据融合成一个高精度带有地理坐标信息的地形数据文件。具体过程如下:将DWG地形图导入Auto CAD中,然后对地形图数据进行处理,删除一些无关紧要的图层,保留主要的地物图层。将保留下来的图层导入Arcgis中,将其中的等高线提取出来作内插处理,然后生成DEM。对无人机影像进行纠正和投影变换,并使用Photo Shop进行美化处理,使其真实自然,把这些处理过的影像作为地形模型的纹理。Sky Line可以把正射影像、高程和矢量数据融合成一个高精度带有地理坐标信息的地形数据文件。此文件能真实的反应起伏和表达地形纹理的地形数据集,如图1所示。
2.2建筑物模型建立
2.2.1普通建筑物建模
将地形图导入Auto CAD中,将不需要的线进行删减,将主要的清晰的建筑物轮廓线留下,然后再将处理过的地形图数据导入Arcgis中进行拓扑检查,检查建筑物的轮廓线是否闭合,只有闭合的建筑物轮廓线才能进行后面的建模。将处理过的地形图数据导入3DMAX软件中进行建模,具体建模过程如下:首先打开捕捉,点击线工具,沿着CAD底图画出建筑物的轮廓,创建出一个二维物体,选中创建好的二维物体,选择修改器中的挤出,输入建筑物的高度,即可创建一个简单规则的建筑物。最后在把用Photo Shop处理好的纹理贴到建筑物中即可,纹理贴图方法如下:在3DMAX中选中待贴建筑物的面,然后点击材质选中相应的贴图纹理,在修改器中点击位图,将材质转到父对象,然后选择UVW贴图即可,如图2所示。
2.2.2特殊物体建模
采用自动拉伸的方法建模会使一些标志性建筑和结构复杂的建筑物严重失真,如大坝、桥梁等,对于这些不规则的物体以及标志性建筑需要进行单独建模。采用上述方法在3DMAX中对这些建筑进行单独建模,并对其结构和材质进行精细化。然后将建好的模型在3DMAX中转为Skyline支持的两种有利于加载和显示的格式:*.x和*flt格式。通过转换之后的模型文件可直接加载到Terra Explorer Pro中,导入以后调整好位置和属性,从而完成特殊建筑的建模,文章以实验区桥梁为例,如图3所示。
3结语
文章介绍了基于Skyline的三维地形模型建立方法。首先对三维模型研究现状进行了简述,然后介绍了以Skyline软件为平台,用某水电站CAD地图数据、无人机数据以及DEM数据为实例数据,并进行三维模型的建立,最后在Skyline平台上实现了水电站三维信息系统。结果表明本文的建模方法是可行、有效的,能很好、快速的建立大型三维地形模型。
摘要:近几年,随着信息技术的不断发展,二维GIS已不能满足人们的需求,人们对三维信息表达与显示的需求不断增强。因此,近年来,各种三维建模软件及方法得到快速发展。文章以某水电站为实验区,介绍以Skyline作为开发平台,利用3DMAX以及Auto CAD等建模软件进行模型的一种三维地形模型建立方法。具有速度快、精度高等优点。
关键词:Skyline平台,三维地形模型,3DMAX建模
参考文献
[1]徐丹,高晓蓉.基于Skyline的三维地形模型实现-以甘肃省政务地理信息平台为例[J].遥感技术与应用,2011,26(06):875-878.
[2]高晋宁.基于Skyline的城市三维景观模型构建研究[D].昆明:昆明理工大学,2012.
Skyline服务 篇3
在虚拟现实技术和网络技术飞速发展下, 三维地理信息系统在城市规划和房产应用等领域的应用优势明显, 其中最佳路径分析功能更显得尤为重要。
Skyline是目前国际上应用最广泛、技术最领先的三维GIS平台, 在海量数据方面功能尤其强大。由于数据计算量大, Skyline的最佳路径分析时间较长并且对硬件要求较高。本文旨在从算法上改进Skyline的最佳路径分析功能, 使该软件日臻完美。
1 基本原理
1.1 最佳路径
Skyline中的最佳路径, 是指在地形坡度基础上两点之间的最短空间距离。
1.2 遗传算法
遗传算法是一种基于自然遗传和进化而形成的自适应全局优化搜索算法, 具有鲁棒性强、并行性强、应用性强等显著特点。
遗传算法的操作算法主要有:
1) 选择算子
把优化的个体直接遗传到下一代或者通过交叉产生新的个体再遗传到下一代。判断个体优良与否的标准就是各自的适应值。这符合达尔文适者生存的原则。
2) 交叉算子
把2个父代个体的部分优秀结构进行重组而生成新个体的操作。交叉能使遗传算法的搜索能力飞跃提高, 是算法中的核心。
3) 变异算子
对群体中的个体串的某些基因值进行改动, 变异概率不能大于0.5, 否则退化为随机搜索。变异提高了局部搜索能力, 也保持了种群多样性。
2 算法设计
本文使用遗传算法进行最佳路径分析, 首先对分析空间进行栅格化, 其次用栅格排列初始化种群, 最后用遗传算子进行操作, 最终得到最佳路径。
2.1 空间栅格化
将不可通过区域用凸多边形描述, 根据坡度的梯度单调性变化和不可通过区域进行栅格划分, 其中包含不可通过区域的栅格为障碍栅格, 反之则为自由栅格。本文只对自由栅格进行编号, 如图1所示。
2.2 初始化种群
2.2.1 个体编码方法
由起始位置A到终点位置B的路径就表示一个个体, 以图1中红色路径为例为例, 则该个体用栅格序号法表示为:
每次最佳路径分析的区域不同, 选择可变长度的染色体进行编码。
2.2.2 初始种群的产生
本文选取一系列随机产生并且不一定连续的栅格连接A和B。这样既可以降低初始种群的困难。根据初始种群产生原则, 如图1所示, 以下路径都可以作为初始种群的个体编码示例:
2.2.3 适应度函数设计
最佳路径分析是以基于坡度的空间最短距离作为个体适应度函数:
式中, n为该个体的栅格总和, 表示第i个栅格直线距离, 表示第i个i栅格的坡度。i
2.3 遗传算子设计
1) 选择算子。本文个体选择概率基于排序的适应度分配, 采用轮盘赌选择法。
2) 交叉算子。本文选择重合点交叉, 随机选取两个个体, 栅格序号相同点进行交叉。
这种交叉方式不会产生间断路径。
3) 变异算子。本文采用单点变异操作, 这样既能降低了计算量, 又保证最佳路径的求解。
3 结果测试与分析
为了验证算法合理性, 本文以某区域的FLY为例 (Skyline软件特有的三维影像文件) 。区域包括1 765个坡度区域、1 204个路段和132个三维模型。
测试参数中, 种群大小为50, 遗传代数为100, 变异概率为0.002。
经测试基于遗传算法的的最佳路径更加优化, 而且在相同的硬件条件下分析时间比单纯使用Skyline软件少2~3s。如图2, 为基于遗传算法的Skyline最佳路径分析测试图, 其中红色矩形区域为起始位置, 黑色路径为最优路径。
摘要:本文介绍了遗传算法的操作和特点并使用遗传算法对skyline最佳路径分析进行改进, 并通过实验测试证明算法的可行性和合理性。
关键词:遗传算法,最佳路径
参考文献
[1]王小平, 曹立明.遗传算法-理论、应用与软件实现[M].西安:西安交通大学出版社, 2002.
Skyline服务 篇4
据调查显示,信息80%是通过视觉获取的,因此视觉效果作为评价标准,具有以真实地景、地理空间位置为平台的飞行模拟,才能对飞行员体验飞行、对飞行的认知起到帮助,而Skyline能满足平台需要,为用户提供真实的地景和地理空间,因此基于Skyline开发的飞行模拟具有重要意义。飞行模拟的一个重要方面就是飞机的座舱仪表显示系统,它能让飞行员体会到从第一视角观察自己的飞行状态及周围的地景变化。为满足人们体验模拟飞行的视觉效果,文中基于实现Skyline模拟飞行的前提下,对如何实现座舱仪表的显示进行了探讨,并得出如何高效简单地解决座舱仪表显示的问题。目前仪表显示可以通过OpenGL、DirectX和Flash实现,文中给出用Flash实现Skyline飞行座舱仪表显示的方法,该方法高效、快捷。
1 Skyline和Flash简介
1.1 Skyline
Skyline是独立于硬件之外、多平台、多功能的一套基于网络的三维地理信息系统平台。用户可以利用航空和卫星遥感影像、地形高程数据和其他的二、三维地理空间和属性数据,创建自定义的虚拟现实三维可视化场景,进行浏览、查询、分析和网络发布。它能够允许用户快速融合数据、更新数据库,并且有效地支持大型数据库和实时信息流通讯技术,此系统还能实时地展现给用户3D地理空间影像,并开放所有的API,无论在网络环境还是单机应用,用户都能根据自身的业务需求开发定制功能,建立个性化的三维地理信息系统。文中基于Skyline提供的开放API实现模拟飞行功能的基础上,进行再次开发,实现座舱仪表的显示。
1.2 Flash
Flash是重要的动画制作工具,它是基于矢量的图形系统,各元素均为矢量,只用少量的向量数据就可以描述一个复杂的对象,占用的存储空间仅为位图的几千分之一,同时矢量图像可以做到真正的无级放大,这样图像始终可以完全显示,并且不会降低画面质量。在Flash中,一般动画都是依靠关键帧实现,方便快捷,用户只需给出一个对象的几个关键动作,生成关键帧,系统就会根据需要在各个关键帧之间自动插入平滑的动画。Flash使用了“层”的概念,不同的角色可以出现在不同的层面上,相互掩映,可以单独对某一层面进行操作,并且可以看见效果。文中根据Flash的这些特性,实现了座舱仪表的显示。
2 座舱仪表显示功能实现
2.1 座舱仪表制作
为了达到座舱仪表显示更为逼真的目的,采用3D MAX制作。3D MAX是集各项3D功能为一身的软件,建模、渲染、材质、动作等使得建模更加精致、逼真。建模完成的效果如图1所示,该图作为Skyline窗口的背景贴图。
利用3D MAX的裁剪渲染功能,将图1中的每一个仪表(除地平仪以外)及仪表指针单独渲染输出保存图像如图2所示,用于之后加入到Flash场景中制作动画。由于地平仪中的圆柱是随着飞机俯仰角的变化而转动,在Flash中实现较困难,因此将其独立出来,放在3D MAX中制作动画,设置旋转一圈为720帧,然后再通过裁剪渲染,按每帧输出得到720张图像并保存。
在新建的Flash工程中,将仪表图像及其相应的指针分层放入场景,并按照指针的指示设定足够的帧数和关键帧制作动画输出保存为*.swf文件。其中,Flash支持图片的批量加载,并自动将每幅图像按编号顺序添加为关键帧,这使得地平仪的制作简单化。制作效果图如图3所示。
2.2 仪表动态显示实现
以上制作的仪表必须通过数据的驱动才能转动,数据来自于飞行模拟。本文的仪表动态显示是通过C#编程语言实现,通过建立同一命名管道实现飞机参数与仪表指针帧数之间的通信,具体实现过程如下:
(1)建立Myfly和Flash两个工程文件。Myfly工程用于模拟飞行并将飞行参数输出;Flash工程用于加载制作的*.swf文件,并匹配飞行参数与指针帧数之间的关系。
(2)建立同一命名管道。Myfly中的管道作为客户端,用于发送带一定格式的数据;Flash中的管道作为服务器端,用于接受数据并按数据格式解码。
(3)运行两个工程文件,实现仪表的动态显示。其显示结果如图4所示。
可以看到飞行的场景为Skyline提供的海量遥感影像,座舱为3D MAX制作的座舱,仪表为Flash动画,在飞行参数的驱使下,指针发生了偏转,实现了座舱仪表的动态显示。而图5为机舱照片直接粘贴,仪表都是静止的,而且显示效果不好,相比之下,通过3D MAX和Flash相结合制作的飞行座舱仪表显示取得了良好的效果。
3 结束语
论述了基于Flash实现Skyline的飞行座舱仪表显示,该实现使得飞行模拟更加逼真形象。与其他仪表显示相比,显示更精致;优点是较好地使Skyline的开发平台与Flash相结合,实现了不同工程程序间的相互通信,对Skyline的二次开发能力进行了补充。
摘要:Skyline作为一个三维地理信息平台,为用户提供直观、形象的三维地景显示和二次开发功能。文中在Skyline实现模拟飞行的基础上,论述了如何用3D MAX和Flash实现座舱仪表的显示,并用飞行参数驱动仪表指针,实现了更加逼真的模拟飞行。
关键词:Skyline,Flash,座舱,航空仪表
参考文献
[1]王娟.飞行仿真中虚拟航空仪表显示系统的研究和实现[D].吉林:吉林大学,2005.
[2]东方道迩.SkylineGlobe+6技术白皮书[M].北京:北京东方道迩信息技术股份有限公司,2010.
[3]吴东岩.飞行模拟器座舱仪表驱动的设计与应用[D].吉林:吉林大学,2006.
[4]李俊涛,李学仁,李永宾.基于DirectX的虚拟仪表技术在飞行仿真中的应用[J].空军工程大学学报,2004,5(6):1-4.
Skyline服务 篇5
目前对地下管线的管理仍然停留在图纸及文字手工管理或计算机二维图形管理模式。作为城市建设的一个重要组成部分, 地下工程的规划、设计、施工及运行管理需要完整、精确、直观的地下管线信息。因此, 建立城市地下三维管线信息系统, 实现管线数据的三维可视化就成为一个迫切的需要。在建立城市地下三维管线信息系统的过程中, 城市地下管线数据模型的制作就成为极其关键的一个环节, 因为管线数据模型的的设计是三维显示和操作的基础, 直接决定了整个系统的完整性、准确性和直观性。
1 地下管线概况
建立城市地下管线的空间模型, 首先要了解地下管线的分布特征和空间结构。种类繁多, 主要分布在城市道路地下, 呈立体空间交叉网状分布, 具有分布集中性和不可见性等特点。
城市地下管线可以分为给水、排水、煤气、电力、电信、有线电视、热力和工业8大类, 并且每种管线还可以按照其传输的物质和用途的不同进行细分, 例如, 排水系统可以分为污水、雨水和雨污合流等。各种管线分层而立, 不同的管线不存在直接的关系。虽然城市管线种类繁多, 但是其基本的结构是一致的, 一般都由管点、管线段及附属设施组成。管线层由若干条管线、管点和附属设施组成, 一条管线可以分为若干条管线段, 而管线段是两个管点之间的连接管的通称。管点的基本几何结构可以分为以下几类:管线交叉点、管线分支点、管径变化点、管线埋深变化点、管线转折点、附属设施中心点。
2 管线数据模型的设计思路
采用面向对象的设计思路, 将每段管线或者管点看作为一个对象, 制作成独立的模型, 一个数据对象应包括一个唯一的标识号, 该标识号用于后期地下管线查询系统的属性查询功能。
在管线三维视图中, 一段管线一般用圆柱面表示, 圆柱面的轴心即为管线中心线, 圆柱面的截面半径为管线在截面处的半径。在构造管线三维图形时, 管线的截面是以等边多边形来实现的, 实验表明, 管线表面等分地越细, 模拟管线在直观上就越接近真实管线, 但模型的计算量增大, 电脑显示速度会降低;反之, 模拟管线比较粗糙, 电脑显示速度较快。当管线表面为八边等边形时, 显示真性与显示速度能取得较好的平衡。
3 管线数据模型制作方式
3.1 skyline软件独立制作管线数据模型
3.1.1 skyline软件系统工具箱制作管线数据模型
Skyline Terrasuite是目前国际上应用较广泛、技术较领先的3维GIS平台之一, 具有精确的定位查询、浏览、编辑、注释、打印、空间分析、VR技术、用户自定义工作界面、基于COM的二次开发以及网络发布等功能。由TerraBuilder, TerraExplorer和Ter raGate三个相互独立的子系统构成。
TerraExplorer pro具有创建简单三维模型的功能, 系统的工具箱提供了一系列的简单三维实体可以放置到三维场景中, 其中包括:三维模型、点云模型、线性点云模型、建筑物、三维多边形、立方体、圆柱、球体、圆锥、金字塔、三维箭头。在工具栏上选项相应的图标可以在三维场景中绘制相应的三维图形。
由于地下管线多为圆柱型, 可用系统的工具箱提供的圆柱模型制作工具进行手动绘制。该方式方便快捷, 可直接在三维场景中绘制管线数据模型, 对模型有较为直观的控制。因为是手动绘制, 模型的位置精度难以保证, 需进一步调整。
3.1.2 skyline软件二次开发制作管线数据模型
TerraExplorer A PI提供了一套强大的接口用来集成TerraExplorer、TerraEx plorerPro和用户自定义应用。TerraExplo rer也提供了一套A ctiveX控件, 可将3D窗口、信息树和导航图以控件对象的方式嵌入到用户自定义的可视化界面中。
TerraExplorer API接口中的IObjectM anager51用于管理三维窗口中的所有对象, 可创建、删除、修改三维窗口中的所有对象。可根据管线属性信息利用IObjectManag er51接口下的CreateCylinder方法创建圆柱模型。具体代码如下。
用该方式制作管线数据模型需要管线的属性数据, 比如:管线起止点的x、y、z方向上的坐标、管径、透明度、截面多边形面数、线条颜色、填充颜色、管线名称。该制作方式是以管线的坐标数据为基础进而在三维场景中生成管线数据模型, 所以用该方式生成的模型的位置极为精准, 可用以主要管线的生成, 对整个管网图层的在三维场景中的位置进行控制。该方式的不足之处为:需要逐个输入属性数据, 较为繁琐, 只适用于少数模型的生成。
3.2 多软件平台协作制作管线数据模型
3.2.1 AutoCAD+ArcGIS+3dsMax生成管线数据模型
在AutoCAD中对地形图进行处理, 对不需要的线进行删减, 减少数据量, 只剩下主要并清晰的管线线条, 将数据导入到Arc GIS中进行拓扑检查, 对管线线条中的断、超、重情况进行修正处理, 以保证后面的建模可以顺利进行。
将AutoCAD数据导入到3ds Max中进行建模。将导入场景中的数据的scale值设为1, 建模时数据的小数点前或后的位数不应太多, 以提高运行速度, 对于所建的模型要进行优化, 在维持模型显示效果的前提下, 使用尽可能少的点、线、面和多边形。模型完成之后需对模型进行塌陷, 并防止平移、旋转等操作时出现问题然后将模型的坐标值归零。最后在3DMAX中使用PandaD XExport插件导出.X文件。该方法需要多个软件平台协作, 流程复杂, 制作繁琐, 但可以用来制作较为精细的模型, 比如管点和附属设施。
3.2.2 管线数据模型手动方式加载
TerraExplorer pro具有加载三维模型的功能, 系统的工具箱提供了Load 3D Mo del工具将三维模型加载到三维场景中。将导入场景中的模型的scale值设为1, 保持模型的实际尺寸。鼠标在TerraExplorer pro场景中的点击位置即为模型的加载位置, 但鼠标点击位置往往不是模型的实际位置, 需要对模型进行移动。
3.2.3 基于A rcGIS shp文件的管线数据模型流方式加载
对于数量较少的模型以手动方式加载较为快捷, 如果要加载较多数量的模型, 则采用流方式进行加载, 具体步骤如下。
将所有模型的X, Y点坐标获取输出成txt文本, 同时添加相应模型名称字段和模型编号。将txt文本导入Arcgis制作点shp文件, 并加以投影。对点shp文件进行剪辑, 增加模型保存路径字段如D:tempskylin e�****.x。
TerraExplorer pro具有加载三维模型的功能, 系统的工具箱提供了load featuerl ayer工具将shp文件加载到三维场景中。将导入场景中的模型的scale值设为1, 保持模型的实际尺寸。
4 管线数据模型制作方式整合
由上文可知, 管线数据模型制作有多种方式, 且各有优缺点。如果要制作一个高精度的完整的管线系统, 就需要对上述各种制作方式进行整合, 在不同的情况下使用不同的制作方式, 以达到快捷、方便和精准的效果。管线数据模型的制作流程一般分为三个阶段如图1所示:流程一, 使用sky line软件二次开发工具制作主要管线数据模型, 因为该建模方式精度较高, 适合主要管线的生成, 从而对整个管网图层的在三维场景中的位置进行控制;流程二, 选择简单快捷的skyline系统工具箱制作次要管线数据模型, 对管网系统进行补充;流程三, 需要对管点和附属设施进行建模, 故采用能够精细建模的多软件平台协作的方式。整体效果图如图2所示。
5 结语
城市信息化建设的步伐逐渐加快, 各大中城市都加强数字城市建设的投入, 城市管线作为城市发展的命脉, 在城市规划建设和日常安全建设中的作用不可忽视。我们相信三维管线数据模型制作技术将在城市管线信息化建设中发挥更大的优势。
参考文献
[1]《城市地下管线探测技术书册》编写委员会.城市地下管线探测技术书册[M].北京:中国建筑工业出版社, 1998.
[2]毛坤德, 刘俊林, 周园.三维地下管网管理系统研究与开发[J].城市勘测, 2007, 6 (6) :36~3 7.
Skyline服务 篇6
随着数据库技术及数据库管理系统的广泛应用, 数据库存储的数据量急剧增加, 如何从庞大的数据中找出人们最感兴趣或最关心的信息, 成为了一项重要的研究课题。作为一种方法skyline计算就是从一个数据库中找出不被其他任何数据对象支配的数据对象集合。所谓的支配, 即假设数据点p支配点q, 当且仅当p在任意维度上的取值都不比q差, 且至少在一个维度上比q更好。因为在目标决策、数据挖掘方面的潜在应用, skyline计算引起了越来越多研究者的关注。
在绝大多数数据库中, 用户和目的点 (用户可选择的目标) 都分布在数据库中。假设数据是随机分布在一张数据网上, 查询指导用户从出发点到达目的点, 从出发点到目的点之间的路径的长度就是它们的成本, 传统的算法, 例如分治算法 (Divide-and-Conquer, D&C) 、最近临近算法 (Nearest Neighbor, NN) 、分枝界限算法 (Brance-and-Bound skyline, BBS) 索引算法 (Index) 、排序过滤算法 (Sort-Filter-Skyline, SFS) , 都可以计算哪条路径成本最小。
但是这些算法都只是考虑用户的一种成本, 但是在现实中, 存在多种成本共同影响用户决策的现象。例如从家去单位上班选择什么途径就是多重成本共同作用的结果。假设成本有: (1) 时间、 (2) 费用、 (3) 天气、 (4) 路况等等。可供选择的途径有: (1) 做公交车、 (2) 骑自行车、 (3) 坐地铁、 (4) 出租车、 (5) 步行。假设今天起得早、天气好, 也许会选择骑自行车或者步行去单位, 而如果起得早但天气情况很恶劣 (时间成本和天气成本) , 也许就要选择公交车或者地铁了。同理如果起的晚了 (注重时间成本) , 就会选择打车去单位争取不迟到, 但如果同时考虑路面上早高峰拥堵情况的话 (时间成本和路况成本) , 打车不见得比坐地铁时间快。所以通常人们在决定一件事情的时候往往不是由一种成本所能决定的, 而是由多种成本共同作用的结果。
介绍了倾向查询的例子, 结合skyline来看, 如果有一种方案无论在哪个成本上都比其他的方案优秀, 那就可以说该方案支配其它的方案, 但现实往往是不可能找出在任何方面都强于其它方案的方案, 因为每个方案的侧重点不同, 因此需要用到skyline理论来列出候选的点 (不受其它方案支配的点) 来供用户选择。
虽然倾向查询在应用上很普遍, 但是到目前为止这方面的相关文献很少, 因此, 本文中总结了相关的skyline方法, 并且结合Kyriakos M等人提出的算法来解决多成本偏好查询的问题。
问题构建
在这一节中, 构建问题和查询方案, 假设数据是以图的形式存储在计算机上的, 起始点和目标点随机分布在图中。
多成本网络 (Multi-cost network, MCN) :用G={V, E, W}来表示, 其中V表示点的集合, E代表边, W代表每条边上的成本, 因为每条边的成本种类有许多种 (例如:长度, 花费, 时间等等) , 所以用一种向量机制w (e) 表示, w (e) ={w1, w2, …, wi}, 其中wi (for i=1 to d) 。为了简化用
目标点集P:P中包含全部的目标点, P中的所有点均在图中的某条边上。如果某个目标点在某条边上, 它的权值就是分别从这个点到两个端点的值 (它们的和就是整条边的权值) 。
最短路径和最短成本向量:假设有一个查询从起点q到p, 用si (q, p) 来表示q到p的最小成本, 其中i表示各种成本中的第i个, 并且用ci (q, p) 表示各种成本相加的总的成本。例如, s1 (q, p) 是q到p的欧几里得长度 (c1 (q, p) 是欧几里得长度的总和) , s2 (q, p) 表示q到p的步行时间 (c2 (q, p) 是总的步行时间) 。
MCN skyline:在MCN中, skyline (q) 包含那些不被其它p’支配的点p, 如果p支配p’, 当且仅当ci (q, p) ≤ci (q, p’) , 才能成立。
最后, 假设图中所有的数据都存放在如图1所示的结构中, Adj tree中存放图中各个点, 每个点 (假设为vi) 指向一个相邻文件 (Adjacency file) 在这个文件中存放着与vi有边相连点 (假设为vj) 及边
传统寻找目标点的算法是从起始点q开始对每个目标点p进行d (成本类型数量) 次拓展, 之后再计算c (p) , 但是这种算法的缺点是要进入储存目标点的数据文件d次, 从而导致I/O时间过长。根据skyline的性质, skyline目标点集合sky (q) 应该是起始点q周围的一些点, 所以提出了局部搜索算法 (Local Search Algorithm, LSA) 。
1、局部搜索算法 (Local Search Algorithm, LSA)
LSA算法最主要特征是拓展成本d的同时削减搜索空间。并且在没有新的skyline目标点出现时停止算法。LSA算法开始用最近临近算法 (Nearest Neighbor, NN) 来拓展起始点q中的每一种成本, 从而找到每个成本的目标点。LSA算法经历两个阶段:增长阶段与收缩阶段。
增长阶段:在增长段中, 候选的skyline目标点被识别出。假定我们关心的成本有d个, 那么算法在每一个成本中找出下一个最近的目标点, 之后转到下一个成本。每一个成本找到的候选目标点都放入skyline候选集CS (Candidate Set) 中。这个过程直到第一个目标点被“选定”。所谓的“选定”是指一个目标点p被d中的每一个成本都找到了, 这就意味着目标点p的所有成本都被计算过了。
举一个例子来说明局部搜索算法在增长阶段是如何进行的。如图3所示, 假设d=2, 即我们关心的成本有两种 (C1, C2) , 图中有点p1-p5, 分布如右图所示, 其中横轴代表成本C1, 纵轴代表成本C2。从左图中我们可以看出找到每个成本的顺序。首先搜索成本C1, 找到最近的点p1, 并将p1放入候选目标集 (CS) 中, 之后搜索C2, 找到p5点, 因为p5没有在目标集CS中, 所以将它放入。算法持续这种成本交替查找过程, 直到p3被“选定” (p3第一次被C2找到, 第二次被C1找到) 。增长阶段到这里结束, 并且候选目标集CS={p1, p2, p3, p5}, 右图中的水平、垂直虚线 (如p3) 表示扩展的边界。
被选定的点可以直接作为skyline目标点的一部分输出。在例子中, 选定的点是p3, p3点只能被浅灰色区域中的点支配, 但是在图中, 浅灰色区域中是空的, 假设不空, 那么在p3点被选定之前, 浅灰色区域中的点就会被选定了。因此p3是一个skyline点。另外, 通过skyline点的定义, 选定的点 (p3) 不能支配候选集中CS的点 (p1, p2, p5) 因为在CS中的点至少有一个成本比选定点 (p3) 的成本类型好。
当第一个目标点被选定之后, 除了CS中的点, 其它的点都可以不用考虑了, 因为它们可以保证被选定点所支配。再次看一下图3, 深灰色区域就是被p3支配的区域, 任何在此区域中的目标点 (如p4) , 都被p3支配。因为C1、C2已经扩展了全部的区域, 任何可能的不被选定点支配的目标点全部放入了CS中。剩下的问题就是从CS中决定那些是skyline目标点, 这些是在收缩段要解决的。
收缩阶段:在收缩阶段中, 找出并确定每一个skyline点, 和前边增长阶段的区别是它只处理CS中的不被选定点支配的其它目标点, 如果CS中的点p因为第i个成本类型的扩展被找出, 那LSA算法就记录ci (p) , 如果p被所有的成本类型找出, 之后要做两点:1、将它作为skyline目标点输出给用户。2、检查CS中是否有被p支配的点, 如果有就从CS中删除该点。收缩阶段当CS中没有候选点时结束。
继续刚才的例子, 选定p3之后, C2找到p1 (p1已经在CS中) , 并且选定它, 因为在C1、C2上, p1的所有成本类型都已经知道了。所以p1作为skyline点可以输出给用户, sky (q) ={p3, p1}。之后检查CS中剩下的点p2和p5是否被p1支配。C1 (p2) 知道, 并且它大于C1 (p1) , 而C2 (p2) 我们还不知道 (因为C2的拓展还没有找到p2) , 但是我们可以确定它不会比C2 (p1) 小。因为C2拓展是线序的, C1 (p1)
之后轮到C1扩展, 它找到p4, 但是p4不属于CS所以淘汰, 之后下一个是p5, 选定p5并且sky (q) ={p3, p1, p5}, 现在CS中没有候选点了, 算法结束。
根据LSA算法的内在性质可以提高程序运行的性能。首先, 根据定义可以看出, 在d中每一个成本类型中第一个找到的目标点不可能被其它的目标点所支配, 因为该目标点至少有一个维度上的值是最优的。因此, 我们可以把每个成本类型中第一个找到的目标点作为skyline点直接输出。利用这个性质, 我们可以减少候选目标集CS中元素的个数, 从而使LSA算法更早结束。在图3中, p1、p5, 可以被直接作为skyline目标点输出, 因此, 在增长段结束时, CS中只剩下p2。
通过以上的介绍我们可以看出, LSA算法是一种在二维或多维坐标轴中找出skyline点的比较好的方法, 但是在现实的网络中, 利用LSA算法开销还是比较大的, 这主要是因为查找的目标点通常都是分散在图中, 目标点和起始点之间利用通路和节点相连接, 起始点、目标点、节点和边的信息是以问题构建中图2的形式存储在机器中的, 可以想象到, 利用LSA方法, 在查找每一个成本类型时, 都要读取机器中的信息, 这造成了较大的IO操作, 降低了算法的效率。实例请看下图5。
在图5中, 从q点出发寻找目标点的过程中, LSA算法的前提需要先计算出每一个目标点的各个成本。利用传统的算法从q点出发, 先计算各个目标点的时间成本, 之后再计算各个目标点的距离成本, 在两种成本都知道的情况下, 最后利用LSA算法求出skyline点。
通过上边介绍可以看出LSA算法在I/O上开销比较大, 尤其是在扩展成本类型中读取邻接点和目标点所在的边时, 要多次从磁盘文件中读取数据 (次数取决于d) 。因此在此算法的基础上提出了联合拓展算法 (Combined Expansion Algorithm, CEA) , 该算法保证了每一个节点和边的读取次数不会超过一次。
2、联合拓展算法 (Combined Expansion Algorithm, CEA)
假设图中所有的数据的存储格式如图2所示, 搜索成本C1时, 每当拓展到一个新的节点 (或目标点) 时, 读取该节点 (或目标点) 的全部信息, 不仅包括与C1成本相关的, 还包括该节点 (或目标点) 其它成本的信息, 并将他们存入相应的数据结构中。
如果拓展C1时找到一个目标点, 就暂停C1的拓展, 开始搜索成本C2, 当C2找到一个目标点时, 暂停C2的拓展, 开始搜索C3, 在搜索中, 每当成本找到一个目标点就把该目标点放入CS中 (如果该目标点已在CS中, 则该目标点的此项成本标记一下) , 一直循环此过程, 当所有的成本都找到同一个目标点后 (也就是选定了一个目标点) , CS中的点就是skyline点的候选点。之后我们再利用上文里说的方法淘汰掉CS中那些被其他候选点支配的点, 并将最后剩下的目标点返回给用户。
结合图5的例子来分析一下CEA算法, 假设成本C1为路程, C2为所用时间。从q点开始, 首先拓展成本C1, 与q邻接的v1, v2, v6, 分别为3km, 2km, 4km, 根据算法要求, 将v1, v2, v6, 三个邻接点的所有信息都存入相应的数据结构中, 之后沿着路程最短的v2继续拓展, 找到v7, 并将v7点的所有信息存入相应的数据结构中, 之后利用最近临近算法 (Nearest Neighbor, NN) 继续拓展各个邻接点, 找到目标点p2, 将p2放入CS中, 暂停C1的拓展, 开始C2, 因为在C1拓展中, v1, v2, v6, v7等等点的信息已经取得并存入了相应的数据结构中, 所以C2拓展时不需要在进入文件中读取信息, 提高了程序运行的速度, 当遇到的邻接点是C1拓展时没有读取的情况时, 程序进入该点读取全部信息并存入相应的数据结构中, 最后C2找到目标点p3, 并放入CS中, 之后暂停C2的拓展从新开始C1, 如此循环, 最终C1, C2拓展选定p4点, CS={p2, p3, p4}, 之后利用LSA中收缩阶段的算法来确定那些点作为skyline点输出给用户。
实验
实验选取San joaquin公路网来测试LSA与CEA这两种算法。 (资源自”http://iapg.jade-hs.de/personen/brinkhoff/generator/”取得)
在该公路网中, 包含约16830个点及22000条边, 为了满足实验要求, 在公路网中利用高斯分布在10个随机点周围生成目标点。这么做的主要原因是模拟现实中的城市, 因为在现实的城市中, 实现某一目的的设施或服务通常都是集中在一定区域中的, 以北京为例, 电子及高新技术产业主要集中在中关村, 大型金融企业主要集中在西二环金融街, 高等学府主要在海淀区等等。定义每条边的成本类型数量d, 其中d∈[2…5], 默认d=4。同时根据每条边的成本特点, 将边分为独立的、关联的、不关联的三种, 其中独立的是指边的各个成本取值是完全随机的。不关联的是指某一个成本取值低, 其余的成本相比就比较高。关联的是指某一个成本低, 其它的成本也比较低。最后, 因为处理的数据较大, 利用最近最久未使用算法 (LRU) 来管理内存, 设置缓冲区大小为整个San joaquin公路网所占存储空间的1%—4%, 默认2%。每次测试, 更改上述参数中的一种来计算总的时间 (包括I/O和CUP处理时间) 。
1、实验环境
硬件平台:
CPU:Intel Core i5-3450
内存:Kingston 4GB DDR3 1333 (KVR1333D3N9/4G)
硬盘:Seagate 1TB 7200转64M SATA2 (ST1000DM003)
软件平台:
操作系统:Windows 7 Professional
程序设计语言:Java
JDK版本:JDK1.6
2、实验结果
图7显示了目标点P的数量对查询时间的影响, 在实验中, P的数量取值在2500到20000之间, 从图中可以看出, LSA与CEA的查询时间与P成反比的关系, 这是因为在目标点较少的情况下, 算法需要拓展较多的边来寻找可能的点。随着设定目标点的增多, 拓展边的时间减少, 但在P大于10000以上时, 变化趋势减缓, 这是因为整个网络总节点数所限。
图8显示了成本d的数量对于查询时间的影响, 不出所料地, 随着d的增加, 两种算法查询需要的时间增加, 这是因为1、随着d的增加, 要进行更多的拓展。2、目标点候选集CS中的点越来越多, 固定第一个skyline点的时间增加。
图9显示了每条边上成本分布类型对时间的影响。从图中可以看出, 两种算法在不关联类型的成本下, 运行时间最长, 这是因为, 算法计算一种成本时距离某个目标点很近, 但在查询其它成本时对于该目标点很远。
这导致了有较大的skyline点候选集CS, 并且很难确定第一个skyline点。相反的, 对于关联类型成本下, 两种算法所用时间最短, 因为算法计算一种成本时距离某个目标点很近, 在查询该点其他成本时距离也很近, 因此能很快找出第一个skyline点, 同时, CS也不会很大。
图10表示了缓冲区大小对于计算时间的影响, 从图中可以看出, 随着缓冲区的增大, 两种算法所用时间都逐渐变小, 但观察图可以看出, 缓冲区的大小对于LSA算法的影响更大, 因为相比于CEA, LSA算法要求更多的I/O操作, 因此, 有较大的缓冲区, 可以存储更多的数据资料, 从而减少IO操作。
Skyline服务 篇7
GIS是处理空间信息的强大工具, 已在资源、环境、石油、电力、市政管理、城市规划等众多领域发挥着巨大作用。当前GIS的研究成果和应用系统主要集中于描述二维空间信息, 各项技术已较为成熟。但由于二维地理信息系统将实际的三维事物采用二维的方式表示, 具有很大的局限性, 大量的多维空间信息无法得到利用, 不能给人以自然界的本原感受。随着计算机图形学和硬件技术的迅猛推进, 三维GIS 成为当今GIS 发展的重要趋势。由于水环境信息流域性的分布, 需要强有力的GIS支持。本文旨在研究基于Skyline软件构建太湖流域水环境三维GIS系统。
2 Skyline软件结构及功能
本系统采用Skyline作为三维GIS平台, Skyline是目前国际上应用最广泛、技术最领先的三维GIS平台, 由TerraBuilder、TerraExplorer Pro和TerraGatesare三个相互独立的子系统构成, 分别实现数据合成、数据发布、数据展示三大功能。
Terra Builder用于融合大量的影像、高程和矢量数据, 以此来创建有精确坐标的三维模型地形数据库, 为三维地理信息系统提供基础地形数据。Terra Builder通过叠加航片、卫星影像、地形数据、数字高程模型以及各种矢量地理数据, 可以迅速方便地创建海量3D地形数据库。
TerraGate是一种强大的网络数据服务器技术, 用来管理如何同时传输海量数字地形数据到众多终端用户。其提供了一个平台来启动由Terra Builder及Terra Explorer Pro创建的很多应用, 并且提供了数字地球接入功能, 使得众多网络应用具有了地理信息参考的功能。该服务器软件与一般视频流的主要区别在于, 能在互联网上通过可变带宽来无缝接入, 而不会受到网络连接的反应时间或中断的影响。
TerraDeveloper软件开发工具以ActiveX控件形式提供丰富的应用客户化定制功能。开发人员可在TerraExplorer Pro环境中, 利用TerraDeveloper开发工具, 集成TerraExplorer Pro软件系统的全部功能, 开发自己的3D可视化应用系统。客户化开发的系统可以是应用程序, 也可以以HTML网页形式实现。TerraDeveloper可以为基于台式机、笔记本、网络或无线解决方案的PC机应用系统扩充强大的三维地理空间处理接口功能。
3 系统设计
太湖流域水环境三维GIS系统综合应用了空间三维技术与GIS技术, 对太湖流域水环境监测信息进行模拟仿真, 实现多视角、多层次的三维显示, 同时实现了地形模型与用户的交互访问。系统包括三个方面的内容:流域数据中心、三维可视化场景、集成系统平台。
(1) 水环境数据中心:
由太湖流域水环境监测数据、污染源数据、主要比例尺基础地理空间数据、环境要素地理空间数据、卫星遥感正射影像数据、航空遥感正射影像数据、三维地形数据组成。
(2) 三维可视化场景:
利用三维GIS平台Skyline实现在太湖流域高精度三维电子地图上的信息发布展示功能, 根据太湖流域航空影像、卫星数据、数字高程模型创建太湖流域三维地形景观数据库, 创建三维交互式环境, 为太湖流域水环境信息的立体化分析和空间展现提供支持。
(3) 集成系统平台:
系统采用Bs结构, 应用.net 2008调用组件、开发包开发三维GIS系统, 实现三维地理信息的任意浏览、自动飞行、监测点位分布展示、三维模型叠加显示等功能, 要求具有与数据的集成交互功能, 能通过三维GIS操作直接完成对数据、视频、报表等信息的查阅。
4 三维场景的实现
在本系统中, 我们通过收集资料、数据预处理、建立三维地形、精确建模、系统集成等一系列步骤建立太湖流域水环境三维场景。Skyine软件使用方面, 主要是采用TerraBuilder产品融合完成太湖流域高精度的影像和高程数据, 采用TerraGate实现三维地理数据的网络化发布, 采用TerraDeveloper的ActiveX控件接口在客户端实现基于Web方式的三维浏览。
4.1 三维地形数据建立
太湖流域水环境三维地形数据的建立需要高程数据、矢量数据、航空和卫星影像数据四类。航空和卫星影像数据经过坐标系的确定与配置、投影转换、金字塔生成、数据加载、黑边处理、白边处理、影像裁剪等处理过程, 最终叠加矢量数据和高程数据合成三维地形数据。影像数据坐标系的配置可以用ArcGIS软件来实现, 其余过程主要用三维地理数据加工软件Skyline TerraBuilder来实现。利用TerraBuilder可融合太湖流域大量的影象、高程和矢量数据, 以此来创建有精确坐标的太湖流域三维模型地形数据。
4.2 三维建筑物模型建立
在环境自动监控应用中, 除了地形地貌等地理信息以外, 还需要尽可能逼真地展现监控现场 (如污染源、自动站等) 的所处位置和空间布局, 而这些信息在三维地理数据中是不包含的, 必须依靠三维建模技术来实现在数字空间中对真实世界的模拟。
为更逼真地展示监控现场的情况, 本系统采用了几何造型结合图像的建模方法, 以矢量图形为基础, 综合使用建筑物的轮廓、颜色、纹理、阴影等信息, 既有效提高建模精度, 又能合理控制模型文件的大小, 保证了展示效果。在3DMAX中的数据处理工作包括贴图处理、三维建模、纹理映射以及数据导出四个部分。
4.3 三维GIS系统集成
完成三维地形数据和建筑物模型建立后, 我们在net.2008环境下调用SkyLine组建进行系统的开发。在开发过程中通过复调试系减少系统运行错误, 确保系统运行的正确性、可靠性和稳定性。利用Skyline组件进行开发, 可获取其所提供的三维可视化功能, 并通过不同的视角流域水环境空间数据、地形数据和业务数据进行查询, 进行三维动画模拟, 主要包括以下功能:
(1) 基本功能。包括地图放大、缩小、平移、鹰眼导航、全图显示、回到初始视野、测量距离/面积、图层控制、图例, 这些为GIS的基本功能, 查询和空间分析工具不包含在内, 结合业务分别阐述。
(2) 浏览功能。支持在三维可视化场景中进行多模式飞行, 包括自由飞行、转向、升降、调速等, 同时对感兴趣的区域进行路径定制播放。
(3) 动态标注功能。三维可视化系统会将各测点监测到的重要数据动态实时的在图中显示出来, 优先显示测点中检测到的超标指标, 并以红色高亮显示。
(4) 查询功能。系统对三维地形数据和业务数据库进行了关联, 在三维可视化GIS中可对场景内的任意节点进行相关属性信息的查询。属性信息可以通过文字、数据、图纸、图像以及多媒体等形式表现出来。
5 系统功能模块
(1) 国家考核断面水质监测。
实现对53个国家考核断面的水质例行监测数据的查询分析, 可对数据进行纵向 (同一断面不同年度) 和横向 (不同断面同一时间段) 的比较分析, 以及查看断面的具体位置、全景照片、视频录像等。
(2) 太湖湖体监测。
实现对21个太湖湖体监测点的数据查询分析功能, 可对数据进行纵向和横向的比较分析, 并可在电子地图上查看最新的污染物空间分布情况、污染时空变化情况。
(3) 水质自动监测。
该模块接收已建的75个水质自动站的最新监测数据和水面及站房内的实时视频, 可对指定时间段的日平均和月平均数据进行统计查询分析, 可在电子地图上显示站房的三维模型和全景照片。
(4) 重点污染源自动监控。
利用标准数据交换协议, 实时接收282家国 (省) 控重点污染源自动监控系统的监测数据, 包括137家工业废水污染源和145家污水处理厂, 主要功能包括:污染源信息查询、监测数据查询、实时视频监控、企业三维模型、全景照片和360度视频展示、排污口阀门远程控制等。
(5) 主要入湖河流环境规划。
可对15条主要入湖河流进行自动巡航飞行, 形象显示河流小流域地形地貌断面、水质站的布设情况, 查看河流详细规划资料。
(6) 蓝藻预警监测。
提供根据蓝藻遥感影像生成和查看蓝藻爆发频率分布图的功能, 可查看每个月度的蓝藻爆发区域, 也可查看每天的遥感影像和全年蓝藻面积的变化趋势。
(7) 排污指标交易。
该模块主要功能包括排污指标申购审核、收费确认、交易申请审核、指标交易及许可证变更、交易监管核查等。
(8) 污染源普查。
利用图表的方式显示污染源普查数据情况, 包括COD、氨氮、总磷、总氮等指标排放量, 分地区排放量统计结果, 工业源、农业源、生活源对区域污染的贡献等。
(9) 涉太部门信息共享对接。
展示与其他涉太部门的数据交换共享成果, 主要包括水利部门提供的引江济太调水通道监测数据和引排水量、太湖每日水位、气象部门提供的每日气象监测资料, 以及其他涉太部门的数据对接。
6 结语
【Skyline服务】推荐阅读:
Skyline论文11-02
服务产业与服务元素06-15
服务理念及服务目标05-10
万科服务服务标准10-04
酒吧服务员服务流程10-21
服务意识与服务礼仪05-11
社工服务中心服务流程08-25
牢记服务宗旨 端正服务作风10-23
物业服务与保安服务10-24