于 Flex 的技术体系和特点,使用 Flex 进行 WebGIS ) 作者 简 介: 钟 广 锐 ( 1978- ,男,地 理 设计主要有以下优点: 副教授,主要从事 GIS 的开发研究。
1) 数据展示更直观。
Flex 具有丰富的矢量图形界面控 Email: atun 163. com 件和图表控件,对于以 “图” 为主要展示对象的 WebGIS, 正好可以互补,使系统更丰富、直观。
收稿日期: 2011- 17 1- 2) 操作更及时。
以前的 WebGIS 应用程序经常要将用 基金项 目: 广 东 省 自 然 科 学 基 金 项 目 户指令提交服务端处理,再将处理结果返回到客户端,所 ( 9451401501004135) ; 梅 州 市 科 技 局、 以需要耗费大量的等待时间。
而利用 Flex 则可以在客户端 嘉应 学 院 联 合 自 然 科 学 重 点 立 项 直接实现对用户操作的响应,跟桌面程序一致; 而且能够 ( 2009KJZ06) ; 嘉应学院地理科学重点 在此基础上,实现多个业务流程的同步处理。
扶持学科基金 3) 界面设计与业务逻辑设计分开。
界面的设计,采用 148 测绘科学 第 37 卷Flex 控件,自动生成 mxml 文件; 部分类的设计实现,则采用 ActionScript3. 0 编写; 而主要的业务逻辑设计,则采用 JA-VA 或 VS. NET 语言( 如 C) 进行开发; 分工明确,结构清晰。
3. 2 基于 Flex 的 WebGIS 的系统结构 基 于 Flex 的 WebGIS系统主 要 分 为 3 大 部 分:客 户 端 浏 览 器、 服 务 端( 包括 Web 服务器和 Web-GIS 服务器) 、数据库,见图 2。
客户 端 浏 览 器 中 的Flash Player 用于显示系统 图3 地图服务的发布界面并与用户交互,通过Remoting 方 式 异 步 调 用 Hibernate,应用程序层就可以专注于业务逻辑的实现,只Web 服 务 器 上 的 服 务〔5〕 ; 需要知道怎么使用 Hibernate 所提供的接口,而不用知道具为用 户 呈 现 一 个 丰 富 的、 图 2 基于 Flex 的 WebGIS 〔6〕 体实现的细节 。
其全局配置文件见图 4。
具有高交互性的可视化界 系统结构面,以图文一体化的方式显示空间和属性信息,同时也为用户提供地图交互、信息查询、地图分析的交互接口。
服务端包括 Web 服务和 WebGIS 服务,负责响应富客户端提交的请求,根据用户请求类型做出响应,主要包括通过 Web 应用服务器( 本文选用 . NET) 与 GIS 服务器( 本文选用 ArcGIS Server) 响应空间数据和属性数据请求,对空间数据进行分析和处理; 同时向下与数据库进行交互, 图4 Hibernate 配置界面 〔5〕维护各种数据之间的关系,完成对数据的操作 。
数据库是整个系统的底层,存储了包括空间数据和属 在图的 Mappings 设置中可以看到,有一系列的 “对象性数据,为整个系统提供数据源保障。
—关系映射” 文件,其命名方式为 “类名 . hbm. xml” ,其 作用是将数据库中的每一个表,映射为一个实体类对象,4 基于 ArcGIS Flex API 的 WebGIS 设计 然后就可以直接在 Flex 中调用这个对象及其方法 ( Remo- ESRI 公司的 ArcGIS Server 是一个发布企业级 WebGIS teObject 方式) ,并将结果绑定到 Flex 控件中,从而完成数应用程序的综合平台,提供了用于创建 GIS 应用程序和服 据的显示。
务的框架,在其 9. 3 系列中,发布了针对 RIA 应用的 Arc- 4. 2 客户端用户界面的设计GIS API for Flex( 以下简称 ArcGIS Flex API) ,它基于 ArcGIS 应用 程 序 界 面 主Server 的 REST 接口,因而可以很好地将 ArcGIS 提供的各 要 采 用 Flex 组 件 完种服务资源与 Flex 提供的组件相结合,构建具有良好交互 成,以 Flash 文 件 的体验的 Web 应用程序。
使用 ArcGIS Flex API 开发 Flex 应用 方 式 呈 现。
Flash可以非常便捷地使用地图功能和以 REST 接口提供的 GIS 查 Builder 4. 0 提 供 了 新询和分析功能; 同时,ArcGIS Flex API 着重提供 GIS 功能 的主题,界 面 控 件 样而不是提供 GIS 组件,可以让业务逻辑与 GIS 方便的结合。
式选择 更 丰 富; 而 且本项目 “三防” 决策管理 WebGIS 系统就是以此作为开发、 “状态 State” 的引入, 使页面的交互更加灵 图 5 系统界面运行基础平台。
系统中的属性数据存储管理采用 SQL Server2008,业务逻辑的设计采