关键技术
1. 空间数据管理优势
ESRI空间数据模型的发展历程,如下图所示:

图:空间数据模型发展
空间数据模型经历了文件到数据库到专业数据库的转变,ESRI提供的SDE及ArcGeodatabase数据模型,为空间信息应用提供了连接到大型关系型数据库的通道。能够支持不同的DBMS,并提供基本类似的功能,而且能为底层DBMS提供它们所不具备的功能的支持
与其他空间数据存储模型相比ArcGeodatabase数据模型有如下特点:
支持高性能的跨平台的空间数据的管理,支持多源的数据库:
ArcGeodatabase允许用户在多种DBMS中管理地理信息,如Oracle, Oracle with Spatial or Locator, Microsoft SQL Server, SQL Server Express,Informix, 以及IBM DB2等。
高性能的DBMS通道,开放的DBMS支持:
其本身不必是一个关系数据库或数据存储模型。它是一个能在多种DBMS平台上提供高级的、高性能的GIS数据管理的接口。
多用户支持:
能够为用户提供大型空间数据库支持,并且支持多用户编辑。
连续、可伸缩的数据库 :
可以支持海量的空间数据库和任意数量的用户,直至DBMS的上限。
GIS工作流和长事务处理:
GIS中的数据管理工作流,例如多用户编辑、历史数据管理、空间数据复制等都依赖于长事务处理和版本管理。
丰富的地理信息数据模型:
存储于DBMS中的矢量和栅格几何数据的高度完整性。这些数据包括,矢量和栅格几何图形、支持x, y, z和x, y, z, m的坐标、曲线、立体、多行栅格、拓扑、网络、注记、元数据、空间处理模型、地图、图层,等等。
灵活的配置:
可以让用户在客户端应用程序内或跨网络、跨计算机地对应用服务器进行多种多层结构的配置方案。空间数据库可以支持Windows,UNIX,Linux等多种操作系统。并且当构建多层次的大型系统时,可以根据不同级别系统的数据量的大小以及访问量的多少,选择不同的空间数据库类型,节约用户的投资。[page]
1.1. 基于DBMS的海量多源空间数据库
当前GIS技术发展的最新趋势是采用关系数据库或对象关系数据库管理空间数据,可以充分利用RDBMS数据管理的功能,利用SQL语言对空间与非空间数据进行操作,同时可以利用关系数据库的海量数据管理、事务处理(Transaction)、记录锁定、并发控制、数据仓库等功能,使空间数据与非空间数据一体化集成,实现了真正的Client/Server结构。
本系统采用ESRI的ArcSDE作为空间数据引擎,在数据库中可以存储各种空间,时间相关的数据和数据规则。ArcSDE中可以管理:
矢量数据:
ArcSDE可以存储基本的点,线,面数据,可以存储注记,支持所有通用的投影方式和椭球/基准面参数。
在坐标定义上除了X,Y外,还可以支持XYZ,XYM,XYZM等多维坐标,支持三维实体和纹理(MultiPatch)对象的存储。
栅格数据:
可以存储影像,DEM等不同类型的基于栅格描述的数据类型。数据的存储上,支持LZ77,JPG等各种有损或无损的压缩方式。栅格数据同样支持不同的投影。可以建立金字塔提高影像显示速度。
在存储上栅格数据分为镶嵌(Mosaic),目录(Catalogue), 属性(Attribute)三种类型,适应不同的需求。
地表模型(DTM):
通过不规则三角网来描述三维地表模型,在数据访问(如显示)过程中可以根据需要的分辨率获取不同密度的三角网表面数据,可以作为三维应用中的数据。
1.2. 标准化的空间数据库设计
由于采用关系型数据库进行空间信息的存储,因此,对空间信息库的设计与建模上,与其它数据库原理是基本上一致的。只不过空间信息库中存储的是地理数据。
空间信息库通过描述一个基于对象的数据结构,扩展并简化设计流程,空间信息库数据模型构建了“人们对现实世界周围对象认识的理解”和“这些对象在关系数据库中如何存储”的桥梁。
一般来说,关系数据库设计需要两个基本步骤:数据逻辑模型的结构化和数据模型的物理实现。 逻辑数据建模体现数据的用户视图,数据库建模则在关系数据库技术的框架中物理实现数据模型。 同样地,GIS综合信息库也需要经过这几个阶段。
使用UML进行空间信息库设计
数据模型是现实世界的某一部分的逻辑描述。传统的GIS软件没有引入面向对象的概念,只能对点、线、面等数据进行操作和分析,对这些点、线、面只能通过属性来定义,但是在实际操作中,这种方式是非常受局限的。
因此本地理信息共享平台综合信息服务平台将建立面向对象的空间信息库为整个空间信息库核心。并采用CASE工具以UML图表方式生成对象模式,为用户提供接口来创建和编辑面向用户的空间对象。
通过GIS平台提供的CASE工具子系统,我们能够扩展已有GIS平台的数据模型便于创建定义的对象。这些定义对象从已存在的GIS信息库数据对象继承行为。这些用户利用C++越过或者追加行为到从原对象继承的对象行为中。用户使用CASE工具以UML图表方式生成对象模式。
使用CASE工具,我们可以直接设计如下相关的各种GIS数据结构:
要素数据集
地理数据库中共享同一空间参考系的要素类集合;也就是说,存储在相同要素数据集下的要素类有相同的坐标系统,且要素位于相同的地理区域;不同几何类型的要素类可以存储在一个要素数据集中;只有在同一个要素数据集下的要素类才能定义要素类之间的拓扑关系。
要素类
具有相同几何类型、相同属性以及相同的空间参考系的地理要素的集合(如、线、多边形)。要素类可以在地理数据库中单独存在,也可以包含在文件或者其它要素数据集中。要素类可以将同类要素划分为独立单元,以便存储。除了点、线、多边形这些简单集合类型外,要素类还可以存储注记、尺寸标注等扩展类型。
关联关系
地理数据库中两个对象之间的关联或链接,关系可以存在于空间对象(要素类中的要素)之间、非空间对象(表中的纪录)之间,或是空间对象与非空间对象之间。
除了把空间数据分解、组织到要素类和要素数据集中,为了有机地整合空间数据和属性数据,还需要定义两者之间的关联关系,例如地块和土地承包者之间的关联关系。
子类
子类是要素类中或表中具有相同属性的要素或对象的子集。通过对一个要素类的逻辑划分(子类),我们可以为每个子类赋予不同的域值、关联不同的扩展表、定义不同的空间拓扑关系,甚至可以通过编程的方式分别制定不同的子类拥有不同的行为规则。运用子类定义空间数据库具有有效维护属性一致性、更细致地刻画空间拓扑关系、更灵活关联空间数据与属性数据等优势。
属性域
属性域是地理数据库中数据完整性的约束机制,定义了要素类或非空间属性表中字段的允许值,按照属性取值的类型,属性域可以划分为连续区间范围和编码枚举两种类型。在定义了属性域后,GIS将自动检查输入属性值的取值范围是否符合属性域的设置,因此有效的维护了数据一致性。
空间拓扑
拓扑指的是地理数据库中对明确了要素数据间空间关系类进行管理时遵循的规则集合。在此,空间拓扑关系特指后者。空间拓扑描述同一个要素数据集中的要素类之间的空间关系,例如可以规定一个点要素类必须落在一个面要素类中,或者规定一个线要素类必须是一个面要素类的边界等。参与拓扑规则可以是简单规则(只有一个要素类参与),也可以是复杂规则(有多个要素类参与)。提供拓扑校验的工具自动完成要素类之间空间关系有效性的分析。因此,空间拓扑可以有效保证数据的空间一致性。
另外,我们还可以直接引用已有的许多基于地理信息共享平台行业的数据模型。从一些GIS平台厂商那,可以免费下载并参考这些行业数据模型,并加以利用。[page]
1.3. 基于版本的空间数据长事务处理
应用系统对数据的时效性要求很高,因此必须实时更新已有的空间数据。GIS数据库需要提供开放的接口和标准,既为外来数据提供交换通道,同时数据库本身也要在不影响业务系统应用前提下,不断更新已有的空间数据。
GIS 数据处理流程和数据共享机制不同于传统关系型数据库的短事务处理,它需要一个长事务处理机制。ArcSDE通过Geodatabase的版本管理实现了将GIS的长事务处理映射到关系数据库的短事务处理上面,从而提供了对多用户编辑,空间数据库复制(包括离线编辑),历史数据管理等多种复杂GIS编辑环境的支持。
ArcSDE初始化时具有默认的状态和版本。用户可在此基础上建立公共的或私有的数据版本。版本是对数据库的快照,而不是复制。版本记录了数据库变化也就是数据增量的内容。通过版本协调将父版本与子版本进行比较并更新子版本;通过版本提交将子版本的变化提交到父版本。这就是ArcSDE版本管理的基本内容。
在多用户编辑环境下,用户基于默认版本分别创建各自的版本,并在自己的数据版本上工作,因而无须对多个用户同时访问的数据对象进行锁定。每个用户都是在直接对数据库进行操作(编辑、修改),但是ArcSDE为其建立了记录所有修改“痕迹”的增量记录,即版本。用户在这个数据版本进行编辑修改时,并不用关心其他用户是不是也在对同一数据进行操作。只有当用户完成了他的(长)事务处理工作时,系统才将其当时的数据版本“合并”到原来的数据版本中去,“冲突”也是在此时再加以处理。系统为用户提供了解决冲突的三种选择:维持原状、否决自己的修改或否决别人的修改。通过上述方式,ArcSDE提供了对多用户并发编辑访问的支持。
此外GIS空间数据库还支持商业DBMS的所有主要功能,包括DBMS的安全性、用户模式管理和DBMS的访问权限。
1.4. 多样的空间数据共享和交换机制
在地理信息共享平台GIS综合信息服务平台中,还提供了在空间数据库层面上的分布式空间数据的交换。本方案主要提供了两种空间数据层面上的数据交换。分别是中间标准数据交换和空间数据库之间的直接数据同步。
1.4.1. 标准中间格式共享
XML是文本格式的标记语言,其保存的数据信息具有透明性。因此,空间信息库进行数据交换的中间标准格式将采用XML数据格式。这个XML空间数据格式是公开的XML规范。并且为地理信息共享平台综合信息服务平台中的GIS平台所支持。
其他的应用程序或空间数据库库可以接受可以接收以下形式的XML数据流:
1) 交换整个要素集,数据是无损的;
2) 交换一个要素类(很像交换一个shapefile);
3) 交换变化的数据;
4) 在同GIS平台厂商的数据库之间还可以直接交换全部或部分的空间数据库的Schema。
1.4.2. 空间数据交换(Spatial ETL)技术
地理信息共享平台指挥系统的各种业务数据分布在八大业务数据库中,各个具体的空间信息数据分布在地方,省级、流域需要从地方提取信息,国家需要从省级、流域提取信息。同样的,对于一个空间数据,也需要提取必要的信息来进行水利的业务分析(BI)。GIS应用需要从这八大业务数据库中提取必要的信息进行业务分析和业务智能应用。
ETL作为BI的核心和灵魂实现数据的抽取、转换、清洗、装载的过程。简单来说,ETL工具的目标就是将数据从一个存储位置传输到另一个存储位置。ETL 的“提取”(Extract)功能指从某一指定的数据源中获取所需的数据;“转换”(Transform)功能是指对所获取的 数据进行处理,进行变换、甚至与其它数据进行合并,以重组为目标数据源所要求的正确结构;最后,“加载”(Load)功能是把处理的数据结果写入目标数据源。
“Spatial ETL”给ETL增加了空间特性,从而将它带入新的领域和高度。与传统的ETL工具相比,Spatial ETL工具除了具备传统ETL工具的一般功能之外,还有一点显著的区别,那就是Spatial ETL工具触及了空间信息,它既可以用来创建/挖掘空间数据,也可以用来发挥现存空间数据的作用。多数情况下,不同系统之间的空间数据组织方式存在较大差异,因此,简单地从一种格式转换成另一种格式并不足以解决问题。进行简单的格式转换或移植不能解决GIS互操作问题的时候,Spatial ETL就显示出其价值。
ArcGIS的Spatial ETL是ESRI公司与加拿大SAFE公司合作开发出的空间数据互操作功能。弥补了传统的ETL对空间数据操作的不足。ArcGIS Spatial ETL充分利用了FME的功能,可以实现对属性数据和空间数据的抽取,可以直接支持文件的数据库如Access或关系数据库如Oracle或DB2数据库属性数据,甚至是文本格式的数据或XML方式数据的抽取,还汇总了不同的空间数据格式的抽取和转换,如ArcGIS的Geodatabase、Oracle Spatial、DWG等100多种空间格式数据的支持,通过对多数据源的抽取、清洗、过滤、处理、加载,可以得到我们分析所需要的主题空间数据库。
Spatial ETL工具能够从一个数据库(data store)中提取数据,并把它转换成所需的投影、格式和视图,然后提供给发出请求的应用程序、或装载进另一个数据库(data store)。新生成的数据既可以作为临时用途提供给最终用户或应用程序,也可以作为永久性数据移植/转换项目的一部分结果。总的来说,Spatial ETL就是让用户“在适当的时间、以适当的形式、获得适当的数据”。
1.4.3. 基于增量的空间数据库同步复制
采用最新GIS的空间数据库复制技术,地理信息共享平台GIS综合信息服务平台也可以提供多个空间数据的之间的数据同步,这种同步复制方式,可以进行单向复制或双向复制,也可以支持同步复制与异步复制。GIS数据库复制技术只复制更新的内容,而不是对整个数据库进行复制,可以在普通的带宽下应用。并且支持不同RDBMS之间的空间数据复制。另外GIS数据库复制可以满足多级机构数据库之间数据的一致性和安全性。
1.5. 健全的历史空间数据管理
空间数据不仅要保存当前的状态,还需要保存其历史信息,即某个设备在过去某一时刻的状态,或随着时间的状态是如何改变的,以及某个空间区域随着时间的变化。ArcGIS的Geodatabase提供的历史归档功能可以记录基于版本的geodatabase中全部或部分数据的变化,记录其变化的时间和变化后的状态,并且提供工具访问某一时刻或者某一时间段的数据库状态,还提供了分析工具对变化的数据进行访问。Geodatabase历史归档是获取、管理和分析数据变化的一种机制。
历史归档是将所有针对空间数据库的Default版本的变化都保存下来,在档案类中存储和管理。当开始创建归档时,首先在数据库中创建Archive Class,它是对Default版本的完全拷贝,具备相同的Schema,但是增加了3个属性,其中gdb_from_date表示数据库某个状态的开始时间,gdb_to_date表示数据库某个状态的结束时间,gdb_archive_oid用来唯一标识档案类的某行记录。当Default版本变化以后,在档案类中增加一条记录,保存Default版本变化后的状态,以及该状态的存在时间段。
历史归档能够支持完全的Geodatabase数据模型,因此可以支持复杂网络模型的历史变化。
历史数据档案库具备时间属性,可利用GIS的时间动画、动画图表以及历史数据回放功能,实现历史数据的动态显示,反映应用系统各种事物和现象的动态变迁过程等。[page]
2. [page]空间信息服务优势[/page]
2.1. 多样的空间信息服务的类型
ArcGIS可以提供的空间信息共享服务非常丰富,从应用的角度可以分为如下三个层次:
基本信息的地图发布
如:基础地图(地形、影像),电子政务业务地图等。
提供查询、交互能力的功能页面
如:支持各种空间/非空间查询、动态专题图,地图在线编辑等。
高级分析功能和数据挖掘
如:交通网路径分析、商业选址分析、污染物扩散分析等。
地理信息共享平台综合信息服务平台中的信息共享系统和信息应用服务系统提供了诸多的Web服务。这些Web服务承担了不同的角色,满足不同的用户需要。从而形成了地理信息共享平台综合信息服务平台中服务多样性这样一个特色。
基于GIS平台软件提供的技术支撑,地理信息共享平台综合信息服务平台可以提供OGC标准服务和基于标准Web Service的各种高级GIS服务。
OGC服务主要包括带SLD支持的WMS、事务性的WFS-T、WCS、元数据目录服务CAT、KML服务等。其中WMS、WFS、WCS在前面章节已经有所论述。CAT服务是元数据目录管理和发布的标准服务。而KML由Google公司创建,最近纳入OGC标准的一个服务标准。
标准的Web Service指的是提供WSDL服务接口描述文档,能够向企业服务总线注册的Web服务。通过GIS平台,地理信息共享平台综合信息服务平台能够提供如下几类Web Service。
1)Map Service (2D):二维地图服务。提供网络地图展示、浏览和查询、地图在线编辑等服务。
2)Globe Service (3D):三维地图服务。提供网络三维地图浏览、查询服务。
3)Geocoding Service:地理编码服务。提供基于网络的地理编码查询定位服务。
4)Network Analysis Service:网络分析服务。提供基于服务器端的路网分析模型和工具。
5)Geoprocessing Service:地理分析服务。通过该服务可以将桌面GIS中常用的各种空间分析功能以网络形式提供。
6)Geodata Service:数据更新服务。该服务将数据库层次上的复制技术以Web服务形式发布。
7)Mobile Data Service:移动GIS服务。通过该服务可以将无线移动设备纳入到地理信息共享平台GIS综合信息服务平台体系中来。
我们在发布ArcGIS服务时,同时有一些可选的可被激活的服务功能。例如,一个地图服务可以发布一个网络数据层。这样我们就可以在地图服务中使用网络分析功能。
2.2. 高效的地图缓存服务的应用
2.2.1. 地图缓存的意义
地图缓存是在多级比例尺下预先渲染的分块的地图集合,用来提高地图显示和使用的效率。因为地图影像不需要根据用户的请求动态实时地渲染生成,因此缓存服务可以大大提高显示速度。然而,因为地图影像是在创建地图缓存时预先计算生成的,因此地图缓存只能用来提供静态的地图内容。
地图缓存保存了一系列比例尺下的地图数据,每个比例尺对应一定详细程度和分辨率的地图信息。在构建应用之前,一个好的设计首先要确定使用哪些比例尺,以及包含何种详细程度的地图信息。ArcMap和它所包含的按比例地图显示功能可以用来生成和维护高性能的地图缓存。
使用地图缓存技术的意义在于,不必为性能牺牲地图质量。
2.2.2. 地图缓存的创建、更新和删除
ArcGIS为我们提供了非常方便的MapCache创建、更新、管理工具,即可以使用桌面软件使用可视化的方式来创建,也可以使用命令来自动执行,其方式有多种,如:
1)使用桌面工具条上的“Build Map Cache”命令 ,来对当前视图范围内,建立缓存,或者关闭缓存。
2)使用“Auto-Cache”命令来自动建立 维护地图缓存。
3)使用ArcGIS Server Manager来建立缓存。
2.2.3. ArcGIS Server的特殊缓存管理能力
在ArcGISServer里缓存的管理与应用是非常灵活的,如:
1)可以为各个图层单独建立缓存
2)缓存地图和动态地图可以叠加在应用中(缓存地图可先显示)
3)支持定时更新缓存图片
4)支持按要素更新缓存图片(比如只更新湖北省)
5)支持按模板建立缓存图片(比如按Google方式,可以和Google Map叠加)[page]
2.3. 完善的空间信息服务的创建、发布和管理
ArcGIS Server允许在企业内或互联网上共享GIS资源。所谓GIS资源是指地图,globe,地址定位,空间分析模型,以及希望跟其他人共享的空间数据库。
ArcGIS Server利用ArcGIS桌面产品创建用来发布的地图,globe以及空间分析模型,然后在ArcGIS Server上进行发布。发布过程既可以在ArcGIS桌面中的ArcCatalog环境下进行,也可以在基于浏览器的ArcGIS Server管理器中完成。
如果想要共享这些资源,可以首先在ArcGIS Server中使用这些资源创建Web服务,然后通过各种客户端产品(也可以是其他的服务器)访问和使用这些资源。
在GIS服务器上共享GIS资源最主要的优点与通过服务器共享数据是一样的——例如,数据的集中管理的,支持多用户并发访问,可以为客户提供实时更新的信息,以及可供远程访问的强大的计算能力。
在分布式的环境中,系统用户可以非常流畅的实现对图形的浏览,数据信息统计、查询,实现对功能服务的调用,实现与系统的交互式互操作,甚至专业的用户还可以通过调用本系统中数据、功能、模型与其已有的应用程序叠加、聚合为其做出权威的判断与准确的解释。
但是为了实现这些丰富应用与强大的应用,必需将数据、功能、互操模型以服务的形式发布出来,在实现技术层面需要一个开放的、可灵活定制的、面向服务(SOA)架构的综合应用平台。ArcGIS无疑是最合适选择。提供了从数据处理,应用功能开发、服务定制到服务发布,系统优化,角色权限管理,安全加密等一整套解决方案。
使用ArcGIS实现综合信息服务发布需要经过数据源制作、缓存创建、服务发布三个步骤,其流程一般如下图所示:
[page]
图 服务发布流程
2.4. 全方位的空间信息服务的聚合
服务聚合即“mashup”是Web 2.0时代的主要技术之一。所谓的服务聚合即能够将来源不同的Web Service聚合在一起应用。在GIS行业,ArcGIS产品率先支持了GIS服务和数据的聚合,从而能够满足用户将远程的GIS数据、服务以及本地的数据、服务聚合在一起完成某个GIS需要。
ArcGIS提供了多种技术,使得开发人员和用户可以选择适合应用的方式实现GIS服务的聚合。ArcGIS提供的聚合技术分别是服务器端的聚合和浏览器端的聚合等。
应用服务器端的聚合即通过ArcGIS Server服务器端开发框架ADF实现将不同来源服务的聚合。用户的浏览器中从服务器上获取的信息为聚合好的地图,从而能够降低网络数据的传输。下图即为ArcGIS Server服务器端进行聚合的应用示例,本图展示的是将ArcGIS所发布的地图服务和Google地图服务在应用服务器端聚合的效果,我们可以清楚的看到Google的底图上叠加着ArcGIS发布的山东省区域地图。

图:服务器端mashup示例
浏览器端的聚合即应用服务器端从不同服务提供者处得到地图信息后,并不进行叠加,而是将多个地图信息同时传送给浏览器端,浏览器再实现对多个地图的聚合。此种聚合方式的优点是能够降低对应用服务器的计算需求,同时还能够在浏览器实现对多个地图的逐一显示,从而在网速较慢的情况下用户可以得到最佳的用户体现。
下图即为在浏览器端进行服务聚合的示例,从图中我们可以看出,服务的一个来源是微软的Visual Earth地图,另一个则是ArcGIS的服务区域分析服务,当用户在Visual Earth上选中一个点时,ArcGIS的服务区域分析功能将会进行计算,将反馈回以时间为分级的专题图,如下图将1、2、3分钟内的服务区域以不同的色彩在底图上展示。

图 : 浏览器端mashup示例[page]
2.4.1. 空间信息服务的聚合
ArcGIS Server提供基于REST服务的JavaScript API和Flex API,允许开发人员直接访问ArcGIS Server提供的各类空间信息服务,并在客户端实现服务的聚合。
JavaScript技术
JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意
ArcGIS中包含的JavaScript APIs使最终用户能够将来自于ArcGIS Server的基于地理信息系统的网络服务与其它的网络内容相结合。该项新功能使得在客户应用中部署ArcGIS Server的数据和服务以及在企业中传递空间分析变得更加轻松自如。ArcGIS 9.3是首个提供mushup功能的GIS软件。
ArcGIS Server9.3提供全新的REST服务和JavaScript APIS这些API将大大简化用户的开发时间并使用户能够快速和方便地为地理信息系统的Web应用程序提供mashup能力。
JavaScript库可以让用户能够把ArcGIS的服务器的地图、地理编码、和geoprocessing服务嵌入到Google Maps和微软Virtual Earth。
Flex技术
在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:RIA是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提供了一种廉价的选择。
从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。
Flex是为满足希望开发 RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。
做为GIS技术的引领者,在ESRI的ArcGIS平台,完全兼容Flex技术,不但为现在的空间信息综合应用的发布提供了更多的选择,也为以后的技术发展做好的充分的铺垫。
2.4.2. 空间信息服务的再发布
ArcGIS的提供的服务是非常灵活,非常强大的,通过可访问的HTTP协议共享、发布的是信息而不仅仅是数据。这决定了不但ArcGIS用户之间可以相互使用这些信息,非ArcGIS用户同样可以调用、使用这些服务。
同时ArcGIS Server支持同时调用多种信息服务,进行服务叠加,甚至可以由服务再生服务,即典型的“服务+服务”的架构,以实现更丰富的应用。如USGS(美国地质勘探局)发布的全球地震震源分布专题数据只是一层点状的分布图,是没有参考底图的,它可以与GoogleEarth发布的全球的遥感卫星影像数据叠加,可以为全球的用提供以遥感底图做为背影的全球地震震源数据。同样的,基于ArcGIS构建的主要单位分布数据与可以与GoogleEarth发布的全球的遥感卫星影像数据叠加后发布,实现服务的再发布。[page]
2.5. 高度的空间信息服务的安全性
数据安全
由于空间数据放置于关系型数据库中进行存储,因此数据库的安全也同时依赖于关系型数据库提供的安全技术。数据安全主要包括数据访问控制、数据加密和数据备份等。
服务安全
在SOA架构的应用系统中,最大的问题即服务的安全性。由于Web服务以Http协议提供,其消息载体又是文本形式,协议和消息都非常简单易读,因此SOA架构的服务安全性显得尤为重要。
xx市空间信息服务共享平台中空间信息服务平台采用的GIS应用服务器能够使用128位SSL技术提供对Web服务传递的点对点加密。服务使用者可以通过Https形式调用服务。
另外,为了实现对Web服务的访问控制,系统采用的GIS应用服务器具备用户和角色管理功能,GIS应用服务器集成了的Windows的Active Directory或者Unix系统中的LDAP等各种帐户管理技术。并且针对不同的用户角色赋予不同Web服务的访问权限。从而只有提供正确用户名密码的服务使用者才能正确调用指定的Web服务。这种服务访问角色的使用将有效的控制各部门发布的服务安全性。在保证信息共享的同时也保证了信息服务的安全。
网络安全
根据地理信息共享平台业务应用需求以及数据安全的需要,xx市空间信息服务共享平台中空间信息服务平台网络系统依托政府专网建设,将充分考虑网络使用的安全性。
xx市空间信息服务共享平台中空间信息服务平台网络系统公众区、对外服务区、数据存储管理区三个网络域。公众区即用户所在的区域,受管理区域各中心的Web应用或者Web服务的代理服务器构成;安全区域由空间数据库、GIS应用服务器和Web服务提供部分组成。每个区域之间采用防火墙进行网络控制。
