(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf_第1页
(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf_第2页
(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf_第3页
(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf_第4页
(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(地图学与地理信息系统专业论文)基于服务的商业地产webgis研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ad i s s e r t a t i o nf o rm a s t e rd e g r e e ,2 010 u n i v e r s i t yc o d e :1 0 2 6 9 r e g i s t r a t i o nn u m b s :5 10 7 0 8 010 31 ea s tch i n an or m a l u n i v e r s i t y r e s e a r c ha n dr e a l i z a t i o no fc o m m e r c i a lr e a le s t a t e w e b g i sb a s e do ns e r v i c e s c o l l e g e :r e s o u r c ea n de n v i r o n m e n t a ls c i e n c e d e p a r t m e n t :g e o g r a p h y s p e c i a l t y :c a r t o g r a p h ya n dg e o g r a p h i ci n f o r m a t i o ns y s t e m m a j o rf i e l d :d e v e l o p m e n ta n da p p l i c a t i o no fg i s s u p e r v i s o r :p r o j i a n p i n gw u g r a d u a t e :j i el i u s h a n g h a i ,c h i n a m a y , 2 0 1 0 华东师范大学学位论文原创性声明 郑重声明:本人呈交的学位论文基于服务的商业地产w e b g i s 研究与实现, 是在华东师范大学攻读硕壬博士( 请勾选) 学位期间,在导师的指导下进行的 研究工作及取得的研究成果。除文中已经注明引用的内容外,本论文不包含其他 个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体, 均已在文中作了明确说明并表示谢意。 作者签名: 日期:五h 年乡月2 弓日 华东师范大学学位论文著作权使用声明 c h a n 鲈舄 鬻 地图控件( m a 曲 璧 c a l l b a c k 砖f w e b a d f 羹tc o p y 删b a c 赢u l l ;霾 响应 图例控件_ c h a n g e 亡:两 翼 嘶a c k r 黜l t s p j a v a s c r i p t 匕二。二二二二:;二二:。;二;乏燃涵 e s r i a d f ,s y s t e m p r o c e s s c a l l b a c k r e s u l t 图2 - 9w e b a d f 控件引发的脚本刚调 但并不是所有w e ba d f 控件的变化都需要手动处理,通过控件的属性设置 可有保持一些w e ba d f 控件之间的内在关系。比如已经绑定到m 印的t o o l b a r 控件,任何工具的执行过程都会自动将m a p 的c a l l b a c k r e s u l t s 拷贝到t o o l b a r 的c a l l b a c l r e s u l t s 中。所以如果在自定义c o m m a n d 或t o o l 里对m a p 做了修改, 不需要将m a p 产生的c a l l b a c k r e s u l t s 拷贝给负责带回响应的t o o l b a r 控件。 w e ba d f 控件可以自动生成更新页面所需的c a l l b a c k r e s u l t 对象,也可以构 建自定义的用于更新其它页面部分的c a l l b a c k r e s u l t 对象,c a l l b a c k r e s u l t 提供了 四种参数来改变页面内容或者执行j a v a s c r i p t 脚本。对象和参数定义如下: c a l l b a c k r e s u l t ( s t r i n gc o n t r o l t y p e ,s t r i n gc o n t r o l i d ,s t r i n ge v c n t a r g ,p a r a m so b j e c t 【】 p a r a m e t e r s ) 表2 4c a l l b a c k r e s u l t 对象的参数 辨9 ”。 一描述 _ ? ”_ + := 一醚= 了:= 二 :c o n t r o l t y p e 类型 “e o n t e n t 用来设置h t m l 元素的o u t e r h t m l 属性 i n n e r c o n t e n t 用来设置h t m l 元素的i r m e r h t m l 属性 i m a g e 用来设置i m a g e 元素的s r c 属性值 j a v a s c r i p t 用来在客户端执行j a v a s c r i p t 脚本 可以把构建的自定义c a l l b a c k r e s u l t 对象添加到负责带回响应的w e ba d f 控件的c a l l b a c k r e s u l t s 属性中,这样就可以实现页面其它部分的异步更新。 华东师范人学2 0 1 0 届硕士毕业论文 第二章w e b g i s 原理及技术研究 z 3 3 3w e ba d fc 1 i e n tc a l l b a c k w e ba d fc l i e n tc a l l b a c k 框架中的客户端可以是w e ba d f 组件,也可以选 择h t m l 组件进行回调发送,两种发送方式统一于上述的a s p n e tc a l l b a c k 机 制。不同之处是通过设置上述w e b f o r md o c a l l b a c k 函数的第一个参数,h t m l 组件的异步请求交由p a g e 页面处理,w e ba d f 组件发送的请求交由其对应的 w e ba d f 控件处理,比如提交到m a p 控件处理的异步请求函数如下: w e b f o r m d o c a l l b a c k ( m 印,a r g u m e n t ,p r o e e s s c a l l b a c k r e s u l t ,c o n t e x t ,p o s t b a c k e r r o r ,t r u e ) 如果请求由一个w e ba d f 组件产生,则由相应的w e ba d f 控件来处理, 此时可以创建一些自定义c a l l b a c k r e s u l t 来对页面中其它内容进行修改,最后将 这些c a l l b a c k r e s u l t 添加到负责带回响应的w e ba d f 控件中。响应带回客户端 后,由w e ba d f 客户端的p r o c e s s c a l l b a c k r e s u l t 0 函数进行解析。 如果是非w e ba d f 控件来产生请求和响应,用p r o c e s s c a l l b a c k r e s u l t 0 来处 理服务器端响应( 如图2 1 0 ) 。比如p a g e 页面实现了i c a l l b a c k e v e n t h a n d l e r 接 口,请求由页面中的一个h t m l 按钮发出,在r a i s e c a l l b a c k e v e n t 0 方法中将所 有响应( 包括非w e ba d f 控件的) 都构建成c a u b a c k r e s u l t 的结构,并集中到 c a l l b a c k r e s u l t c o l l e c t i o n 中,然后在g e t c a l l b a c k r e s u l t 0 方法中返回 c a u b a c k r e s u l t c o l l e c t i o n t o s t r i n g ( ) ,客户端处理响应的j a v a s c r i p t 函数指定为w c b a d f 客户端的p r o c e s s c a l l b a c k r e s u l t 0 函数,则省去了自己解析响应的麻烦。 图2 1 0 非w 曲a d f 控件引发的脚本回调 、 华东师范大学2 0 1 0 届硕士毕业论文 第二章w e b g i s 原理及技术研究 2 3 3 4w e bf i d fp a r t i a lp o s t b a c k 如果w e b 页面中有s e r i p t m a n a g e r 控件,就意味着选择了a s p n e ta j a x 方式进行异步通信,那么w e ba d f 控件在实际运行时也会采用这种方式。该方 式的内部原理是通过s c r i p t m a n a g e r 的r e g i s t e r a s y n c p o s t b a c k c o n t r o l 方法把所有 的w e ba d f 控件注册为异步回送的触发器,当然也可以用该方法手动注册其它 a s p n e t 服务器控件,改变其原来传统的整页回送模式。 如果是w e ba d f 控件触发了页面的p a r t i a lp o s t b a c k ( 如图2 1 1 ) ,那么它 的c a l l b a c k r e s u l t 会自动通过s c r i p t m a n a g e r 的r e g i s t e r d a t a l t e m 方法注册为一个 d a t ai t e m ,并通过s c r i p t m a n a g e r 返回到客户端。在客户端获取各个d a t ai t e m s 后,通过w e ba d f 客户端预定义的p r o c e s s c a l l b a c k r e s u l t 函数来自动进行处理, 并进行页面的局部更新。 驴7 _ 一。“” 驴嬲”黼硼彤嘲2 m 铆8 鞭彬碣 客户端 l。 服务器端 荔 匿i 。,g 。0 + 。 。 , 一“。0 、i 请求 l 地图控件 ; 图例控件 霾 爹 地图控件 i jl a s p :n e ta j a x善 c a l l b a c k r e s u l t sc a l l b a c k r e s ut j a v a s c r i p t 气 f 一_ “f 二二“。r “a “d d 。- “霉 谕憾静i , 曼 w e ba d f j a v a s c r i p t n s e r i p 咖t m ,飙a 黟苣 暨艮定兑e 胡哗敝蠡,搦 p r o c e s s c a l l b a c k r e s u l t 匿 。“ 荔 陵。o 二二:二。幽。础;龇矗龇。蹴鼢。妊翩船徽磁叠 图2 1iw e b a d f 控件引发的异步请求 如果触发页面p a r t i a lp o s t b a c k 的为非w e ba d f 控件时( 如图2 1 2 ) ,更新 w e ba d f 控件内容的方法有u p d a t e p a n e l 方式和d a t ai t e m s 方式。如果将w e b a d f 控件放入u p d a t e p a n e l ,则根据上述u p d a t e p a n e l 的特性,会刷新里面的整 个w e ba d f 控件,这是不必要的,w e ba d f 控件所需要更新的内容仅仅是服务: 器端产生的c a l l b a e k r e s u l t s ,而不需要从头到尾的洗心革面,所以c a l l b a c k r e s u l t s 可以通过手工方式作为d a t ai t e m s 来插入到p a r t i a lp o s t b a c k 的响应中。 华东师范大学2 0 1 0 届硕卜毕业论文第二章w e b g i s 原理及技术研究 s c r i p t m a n a g e r 中注册的d a t ai t e m s 可以在服务器上以j s o n 字符串形式打包 传到客户端进行处理。客户端接收到服务器端的异步p o s t b a c k 响应后,在进行任 何局部内容的修改前,会触发客户端的p a g e l o a d i n g 事件。这样就可以利用 p a g e r e q u e s t m a n a g e r ( 一个管理客户端页面生存周期的j s 对象) 捕捉到这个事件, 从而将注册成d a t ai t e m s 的c a l l b a c k r e s u l t s 交给p r o c e s s c a l l b a c k r e s u l t 0 函数来处 珲。 客户端 a s p :n e ta j a x j a v a s c f i p t 客户端脚本 w e ba d fj a v a s c r i p t p r o c e s s c a l l b a c k r e s u l t 请求 ,服务器端 q ;扎? 4 | i 、t o 一寸。kipm c a l l b a c k r e s u l t 对 象集转化的j s c n 字符串 w e b a d f 控件 c a l l b a c k a r e s u l t s a;dda每datai t e m - x x 、x , i c c 硼o n k v e r t 舞t o 纛二 s c r i p t m a n a g e r c o n t r o l = _ z 。臼定义c 3 l 獭a c k r e s u l t s 图2 1 2t w e b a d f 控件引发的异步请求 在服务器端将c a l l b a c k r e s u l t 注册成d a t ai t e m 的代码如下。 s e r i p t m a n a g e r l r e g i s t e r d a t a l t e m ( p a g e ,m a p l c a l l b a c k r e s u l t s t o s t r i n g ( ) ) ; 在客户端监听p a g e l o a d i n g 事件的代码如下: s y s a p p l i c a t i o n a d di n i t ( o n l n i t f u n c t i o n ) ; f u n c t i o no n i n i t f u n c t i o n0 s y s w e b f o r m s p a g e r e q u e s t m a n a g e r g e t l n s t a n e e ( ) a d d _ _ p a g e l o a d i n g ( a s y n c r e s p o n s e h a n d l e r ) ; f u n c t i o na s y n c r e s p o n s e h a n d l e r ( s e n d e r ,a r g s ) v a td a t a l t e m s = a r g s g e t _ d a t a l t e m s o ; i f ( d a t a l t e m s _ _ _ p a g e ! = n u l l ) e s r i a d e s y s t e m p r o c e s s c a l l b a c k r e s u l t ( d a t a l t e m s 【- - p a g 朝) ; 华东师范大学2 0 1 0 届硕士毕业论文 第三章基于服务的商业地产w e b g i s 设计与开发 第三章基于服务的商业地产w e b g i s 设计与开发 3 1 系统总体设计 3 1 1 系统架构设计 基于服务的商业地产w e b g i s 在逻辑上可以分为数据服务层、g i s 服务层、 w e b 服务层和表现层,其中g i s 服务层和w e b 服务层可以视为系统的业务逻辑 层。系统架构如下图3 - 1 所示: i表现层 f 登陆界面 认证机制 l “a j a x 引擎 w e b 服务层 l g i s 基本功能业务逻辑功能 系统管理功能l i t i l 。 l j l k i a r e o b j e c t s | , ,ls n fl 7 l 空间信恩w e b 服务l 一,il g i s 服务层s o m :t s o c 空间信息w e b 服务 a r c o b j e c t s i 貉 t 1r, 彩 锈 箩 蹬 觚s d e 引擎 、。i 亥 缓 一 l 数据服务层t l 貉t 、r 缓 爹| 空间数据库卜1c a d 、s h p 、图片、m p p 、x m l l _ 一 属性数据库 縻 图3 - l 两业地产w e b g i s 体系结构 表现层是用户直接使用的操作界面,用户对系统功能的调用都在表现层执 行,因此提供一个人性化的、符合业务操作流程的图形用户界面是非常重要的。 基于b s 架构的表现层通常是通过客户端的i e 、f i r e f o x 等浏览器来展现的,它 们通过标准w e b 协议访问w e b 服务器。通过浏览器将地图数据内容展示出来, 用户可以执行相应的操作,比如用户可以浏览、查询地产信息和进行地图缩放、 漫游、量测等操作。 w c b 服务层上包含基于w e ba d f 开发的w e b 应用程序,主要包含h t m l 和a s p n e t 编写的w e b g i s 页面、j a v a s c r i p t 编写的客户端脚本、c 语言编写的 3 0 , 华东师范人学2 0 1 0 届硕上毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 业务逻辑功能。w e b 服务层还包含访问g i s 服务或a r c o b j e c t s 对象的代理。w e b 服务器在解析a s p n e t 页面和w e ba d f 控件之后,把标准的w e b 页面通过网 络协议发送到客户端,使用客户端浏览器展现出来。 g i s 服务器是g i s 服务或a r e o b j e c t s 对象的宿主,w c ba d f 开发的w e b 应 用程序可以从g i s 服务器中获取服务器对象并从中获取地图数据接口,从而为 w e b 应用程序提供空间信息服务。 数据服务层主要为空间信息w e b 服务或其它业务逻辑提供基础数据,主要 包括属性数据库和空间数据库。可以通过空间数据库引擎把一个关系型数据库建 为空间数据库,用来存储空间地图数据及属性数据,也可以把纯属性数据放在一 个专门的属性数据库中,通过a d o n e t 来访问属性数据。 3 1 2 功能模块设计 系统功能设计以工程项目为单元,通过g i s 技术,整合城市规划、项目管理、 基础设施及楼宇智能化功能,为项目建设前期、建设阶段及竣工以后,提供多方 位的管理和服务。城规信息查询主要为项目建设前的规划人员服务;项目进度管 理主要为项目建设过程服务;智能楼宇管理主要为项目竣工以后同常运营服务; 图纸管理、基础设施、三维虚拟及历史演变等模块则可以从项目建设过程一直到 项目竣工以后发挥效用。系统功能模块设计如图3 2 所示: 1 g i s 基本功能模块是系统操作的基础,用户可以通过客户端浏览器进行 基本的g i s 操作,包括放大、缩小、漫游、全图、测距等功能。g i s 查询功能主 要包括空间查询和属性查询,空间查询是在地图上进行拉框选择或点选以获取当 前位置及其附近区域的相关信息;属性查询是根据查询条件确定图层中符合要求 的要素,并能够在地图上确定其所在的位置。 2 工程进度管理以工程建设的生命周期为主线,通过跟踪工程前期、现场 施工和竣工验收等阶段的关键节点,反映关键节点的计划进度和实际进度。对超 过计划进度的节点提供提醒功能,记录项目进度偏差报告,并生成项目的进度报 表。采用g i s 技术反映整个商业地产的工程情况,包括未开工、开工和竣工的工 程的分布情况,以及项目开工以后对进度正常、进度超时等情况的分布展现。 3 图纸管理以项目为中心,通过项目唯一编号,建立“一项一档 ,实现 3 l 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 对项目相关的文档、图片、c a d 等信息进行管理。项目的建设信息按照项目前 期、设计阶段、施工阶段、竣工阶段进行分组,然后每组数据按照文档、图片、 c a d 进行分类整合。为项目建设过程及今后项目的维护提供有效的资料检索。 建设项目的相关信息以“资料袋 的方式与项目的具体地块捆绑,通过地图可以 快速调取感兴趣工程的档案。 4 基础设施管理是指对区域范围内的道路、绿地、环卫、通讯邮政、综合 管线( 主要包括供水、雨水、污水、供电和燃气) 等方面的管理,精确定位各种 基础设施,实现多种信息的叠加,提供有效的信息查询和维护能力。 图3 2 商业地产w e b g i s 功能模块 5 楼宇管理处于整个项目的后期,应用于项目竣工以后,主要为楼宇的租 赁、管理和维护服务。楼宇信息管理以楼层平面图为基础,可以切换楼宇和楼层 来查看不同的楼层平面图,查询每层的基本楼层信息;楼宇物业管理主要包含租 赁查询、租赁统计和租赁维护三个功能。 6 三维虚拟用于对项目建成后的效果展现,包含示意性模块和精确性模拟 华东师范大学2 0 10 届硕上毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 两种方式。示意性模拟主要体现建筑物的布局和高程情况,不体现建筑物的精细 外表,可动态即时查看建设效果;精确性模拟即为三维仿真模拟,能够很好的体 现项目建成后的情况,可为后期的项目宣传提供很好的展示平台。 7 历史演变是指对项目建设过程中的空间信息和图片信息进行历史存档, 从而可以实现对历史时期各个阶段的区域建设状态进行查看,或者对不同历史时 期的信息进行比对。历史演变的相关信息也可以很好的用于项目的宣传和推广活 动。 3 1 3 系统开发环境 系统的开发环境主要包括w e b 服务器、g i s 服务器、数据库服务器和开发 工具等方面。w e b 服务器主要有i i s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 和a p a c h e ,a p a c h e 一般需要独立安装配置,而w i n d o w s 系列操作系统一般自带i i s 服务器。 基于服务架构的g i s 服务器主要有e s r i 的a r c g i ss e r v e r 和超图的 s u p e r m a pi s e r v e r ,a r c g i ss e r v e r 是基于a o 组件的企业级g i s 服务器,能够发 布多种标准空间信息服务,a r c g i ss e r v e r 9 3 及以后版本还包含a r c s d e 空间数 据库引擎。 , 数据库服务器主要包括o r a c l e 、s q ls e r v e r 、d b 2 、p o s t g r e s q l 等,空间数 据库引擎a r c s d e 或超图的s d x 可以利用o r a c l e 、s q ls e r v e r 等关系型数据库 存储空间数据,a r c s d e 还支出开源的p o s t g r e s q l 数据库。 开发工具主要包括开发框架和开发语言,可以利用a s p n e t 框架和c 撑语言 或者e c l i p s e 框架和j a v a 语言,在客户端一般都使用j a v a s c r i p t 语言。 3 2 系统数据库设计 数据是信息系统的基础,对于商业地产信息系统而言,会涉及到大量的多种 类型的数据,因此在数据库设计时要充分考虑对多时相多数据源的空间数据及商 业地产属性数据的容纳能力,同时要充分考虑数据库的可扩充能力。系统数据库 的建设是商业地产信息系统的重要组成部分,关系到整个系统实际应用的效率, 因此本小节从数据组成、空间数据存储和属性数据存储等方面进行相关阐述。 3 3 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w e b g l s 设计与开发 3 2 1 数据组成 1 基础地理数据 商业地产信息系统的基础数据应包括地产项目及其周边的道路、河流、绿地、 建筑、交通、管线等方面,这些数据的获取一般是以s h f 、e 0 0 、m i f 等格式的 文件获得。 2 遥感影像数据 遥感影像数据最好能够覆盖商业地产项目的多个时间段,如开工前、施工时、 竣工后的遥感信息。遥感数据是基础地理数据的有效补充,很多信息可以从遥感 影像中获得,还可以通过数字化工作得到矢量地图。 3 地块规划数据 商业地产的地块规划信息包括地块用途、建筑限高、规划设施、绿化率、容 积率等方面,这方面的数据很多来源于c a d 图纸。 4 项目建设数据 项目建设涉及到大量的施工图纸( 比如楼层平面图、建筑立面图和剖面图) 、 项目计划进度文件、施工现场图片以及大量的属性数据( 比如房屋面积、造价、 计划开工时间、计划竣工时间、实际开工时间、实际竣工时间等) 。 5 基础设施数据 商业地产的基础设施主要用于供水、供电、供热、燃气、通信、环卫、消防 和防灾等方面,基础设施数据的收集有利于日后的维护检修。 6 楼字租赁数据 商业地产的楼宇主要用于租赁,因此楼宇的租赁信息是系统中非常重要的属 性数据,它主要包括租赁编号、楼宇编号、房间号、租赁人、租金、联系电话、 开始时问和结束时间。 3 2 2 数据存储 系统一般采用关系型数据库建立和存储系统属性数据表,系统为用户常用的 功能和满足最基本的需求设计了基本的表格,如表3 1 所示。在实际应用中用户 应根据功能的需求扩充数据库。 华东师范大学2 0 1 0 届硕士毕业论文第二三章基于服务的商业地产w e b g l s 设计与开发 表3 1 商业地产信息系统基本属性表 ? 表格名称表格用途 一7 锄 巍 p一4r ,。一一,、t ,煳 dr o l e定义用户角色 tu s e r记录用户名和密码 d - e n t i t ) ,定义空间实体名称 t _ e n f i t y f i e l d记录实体属性字段 飞j r o j e c t s i n f o记录项目详细信息 tm p p i n f o记录进度文档信息 tm p p i t e m s 记录进度节点信息 dr e n t 定义租赁状态 tr e n t l n f o s 记录详细租赁信息 对于空间数据的存储,可以采用空间数据库引擎,在属性数据库的基础上建 立空间地理数据库g e o d a t a b a s e 。基于a r c s d e 建立的g e o d a t a b a s e 采用面向对象 的空间数据模型,是建立在标准关系型数据库之上的空间数据库。 g e o d a t a b a s e 在同一模型框架下对g i s 通常所处理和表达的地理空间要素, 如矢量、栅格、三维要素、网络及要素间的关系和拓扑规则等,进行统一的描述 ( 如图3 3 ) 。g e o d a t a b a s e 是按照层次型的数据对象来组织地理数据,包括要素 数据集、要素和对象。除此之外,g e o d a t a b a s e 能够更好地描述不同对象的空间 信息、属性信息以及相互之间的关系,它是图形数据和属性数据的容器,其内容 全部存储在关系型数据库中【5 2 1 。 在商业地产的建设过程中涉及的数据会不断增加,对空间数据库在复杂性、 集成性、并发性等方面的要求也不断提高。鉴于上述要求以及a r c s d e 在海量数 据存储、多用户并发访问、版本管理、长事务处理等方面的强大优势,商业地产 信息系统可以采用基于a r c s d e 的g e o d a t a b a s e 实现空间数据的存储和管理。 先把s h f 、e 0 0 、m i f 等类型的g i s 数据文件导入g e o d a t a b a s e ,以要素类 来存储,根据需要将相同空间参考的要素类放在一个要素数据集中管理( 如图 3 - 4 ) 。c a d 类型的数据可以直接放入g e o d a t a b a s e ,也可以进行相关转化并进行 拓扑处理后再导入g e o d a t a b a s e 。对于遥感影像和图片信息在数据库中是以二进 3 5 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 制格式进行存储的。遥感数据以栅格数据集来表示,以栅格表的形式管理单或多 波段栅格数据,遥感影像数据通过把地理要素划分成离散的单元表达,通过这种 存储方式,在检索栅格数据时,只会影响并返回需要的片,而不是整个栅格数据 集。通过建立网格索引达到快速检索的目的,创建影像金字塔减少服务器和客户 端之间的数据传输,优化显示性能,提高显示效率5 2 1 。 影像 图3 3g e o d a t a b a s e 支持的数据类型 图3 - 4g e l a t a b a s e 中最简单的数据类型及表现形式 华东师范人学2 0 1 0 届硕十毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 3 3 空间信息服务发布 基于空间信息服务的w e b g i s 功能实现的基础是g i s 服务器发布的服务,因 。 此系统功能实现的第一步是w e b 服务的发布。在2 2 1 章节中已经论述了服务发 布的目的是为了实现服务器上资源( 包括基础数据、地图文档、地理处理工具和 地址定位器等) 的网络共享,所以资源的准备工作是服务发布的重要组成部分。 下面还是以a r c g i ss e r v e r 为例详细论述发布w e b 服务的流程: 1 资源准备。以地图服务使用的地图文档资源为例,利用a r c m a p 创建地 图文档( 事i n x d ) ,地图文档的数据可以来自s h a p e f i l e 、c o v e r a g e 、c a d 和 g e o d a t a b a s c ( 包括个人数据库、文件数据库和a r c s d e 数据库) 。地图文档不仅 保存空间数据的引用信息,还保存数据显示的符号化信息。商业地产w e b g i s 系 统涉及的地图文档包含了商业地产开发区域及周边的现状信息、规划信息及楼宇 信息等,下图3 5 展示部分示例性地图文档: 鲴瑟鲴黧。 囤蕤熟嚣! 鲴冀萎攀碧掌 鲴黧蕊? 固熟嚣 鲴赣攀蕊! 鲴篓瑟最? 鲴嚣慧? 鲴撼蕊? 鲴熟愁? 勤篓簿= 图3 5 发布地图服务所需的地图文档 鲴篡m t d :篡 酋夔翟= 翮熬e , = ,善, j 狲a + , j , q 弱- d 掌o e u 鲴篡= : 2 开放资源访问权限。在2 2 2 章节论述的a r c g i ss e r v e r 服务器管理模式 中我们知道s o c 是w e b 服务真正的宿主,因此需要将相关资源的访问权限提供 给a r c g i ss e r v e rs o c 用户。具体的操作是右击地图文档和数据所在的文件夹, 设置它的共享属性和安全属性,在共享属性页中选择共享此文件夹,在安全属性 页中赋予a r c g i ss e r v e rs o c 用户访问文件夹的权限。 3 发布服务。w c b 服务可以通过桌面程序a r c c a t a l o g 或实例网站a r c g i s s e r v e rm a n a g e r 来发布。在a r c c a t a l o g 的g i ss e r v e r s 目录下双击a d da r c g i s s e r v e r ,输入g i s 服务器的主机名或服务器u r l ;或者在a r c g i ss e r v e rm a n a g e r 华东师范人学2 0 1 0 届硕士毕业论文 第三章基于服务的商业地产w e b g l s 设计与开发 的登陆页面中输入g i s 服务器名称及相关的用户名和密码后,都可以进行w e b 服务的发布操作。利用a r c c a t a l o g 进行地图服务的发布最为简单,通过添加新服 务- ( a d dn e ws e r v i c e ) ,如图3 - 6 所示,然后输入服务名、选择m a ps e r v i c e 服务 类型和服务对应的地图文档即可。 留c a t a l o 一一i 。l l - + j c :、 葺_ 。 lt y p e _ d :、 i c 研d _ 叩s e r i f c e 一璺d a t d i k s c o 蛳c t i 姐摹 一i l jz 一豳j n i 坤e r v i c e 净dd i t 曲a s es e r v e r s i l j t j y n - 蟑$ e r w e e 毫潮6 i ss e r v e r s 一i l j z _ p d _ c , a e r , i 婶s 以。 箔a d da r c g x $ s e r v e r 一i l j z _ p t h - 2 0 i 叩$ e r w c 鹄a d da r c l 船s e r v e r i l j z _ p t d j t _ 坤s ”i c 鹬a d d 雠s e r v e r掣i l j z j 蛳t i 姆s e 州c e 锸a d d 懈s e r v e ri l j z _ x x 西 i 婶s e z v x c e 斗二璺叉阻t 一i l jz _ x z 缸弘 i 婶s e r v i c e i l j z j t _ j s d t i 坤s e r v i c e 争bs e a r e r e a e l * 花 i l j z - l zy d 趵 _ 峰s e r v i c e 0 酗f r 血 i 幻z 如# s i 坤s “访c t i l s 咖l l 峰s e r v i c e ( 2 l l x y b 2 i 峙s e r v t c = b i s e o t 啦e c t i h 帅3 - 坤s ”v i c i l 印ml h ps h ,i c r ,口p r 叩 t i s 口h 雌f o l d h 留r o o te o l d , rp r t i _ 窘a d d i s * r v i e * 骨p r 叩“t i t 一一,。l 蔗t 图3 - 6 发布地图服务 图3 7 地图服务参数设置 4 服务参数设置。w e b 服务的参数可以在服务发布时设置,也可以在发布 后进行更改,更改服务参数必须先停掉服务,参数设置完成后再重新启动。通过 2 2 3 章节我们知道地图服务可以设为池化或非池化,对于池化的地图服务还可 以设置其孤立性。如果需要修改服务器对象,则必须选择非池化方式;如果需要 3 8 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w e b g i s 设计与开发 临时修改服务器对象,则可以选择高立度的池化服务;如果从不修改服务器对象, 则可以选择低孤立度的池化服务,这种方式最能节省服务器资源。无论选择哪种 方式,都需要设置地图服务的最低和最高实例数,这个参数的设置主要取决于访 问服务的并发数,当并发量较大时需要修改默认设置。服务参数的设置如图3 7 所示。 5 设置地图缓存。在发布完地图服务后,可以选择为地图服务建立地图缓 存。通过2 2 4 章节我们知道当客户端访问创建了缓存的地图服务时,获取的是 服务器上预先建立的静态地图切片,而不是动态渲染的地图。对于大数据量和高 并发数的系统,可以显著提高地图在系统中的显示速度并降低服务器的负荷,提 高系统的运行速度。 3 4g i s 功能开发 3 4 1 地图浏览 基于2 3 3 所述的n e tw e ba d f 框架开发的w e b 页面主要包含用于地图显 示的m a p 控件、用于连接g i s 服务器上地图服务的m a p r e s o u r c e m a n a g e r 控件和 用于功能操作的t o o l b a r 控件。 o ; 图3 - 8w e ba d ft o o l b a r 提供的工具 t o o l b a r 控件提供了一个封装良好的框架( 如图3 8 所示) ,它基于a j a x 方式 实现页面的异步处理和局部刷新。t o o l b a r 控件不仅自带了一些实现g i s 基本操 作的工具,还提供了可扩展的t o o l 和c o m m a n d 工具。当需要与地图交互并启动 3 9 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w c b g i s 设计与开发 服务器端响应时应使用t o o l 工具,开发者仅需要在服务器端创建一个继承了 i m a p s c r v e r t o o l a c t i o n 接口的类,并在该类的s c r v c r a c t i o n 方法中实现客户端请 求,整个回调过程由w e ba d f 框架管理,开发者无需实现回调的细节。 g i s 最基本的功能包括放大、缩小、漫游和全图,t o o l b a r 控件直接提供了 这四个工具,可以很方便的直接添加到工具条上来。w e ba d f 还提供了m a g n i f i e r 控件,可用利用它来实现放大镜工具。m a g n i f i e r 控件可以和地图控件及地图数 据源关联起来,只需将放大镜窗口拖曳到想要放大的地图部位,通过设置其放大 倍数,就可以在放大镜窗口中详细浏览到这小块位置的具体情况。 3 4 2 地图测量 测量功能也是g i s 的基本功能之一,t o o l b a r 控件上没有提供测量工具,可 以基于n e t 的u s e rc o n t r o l 技术开发用户自定义控件m e a s u r e 。开发的量测工具 可以进行点、线、面的量测,测量界面的设计如图3 - 9 所示。m e a s u r e 控件继承 于u s e r c o n t r o l 类和i c a l l b a c k e v e n t h a n d l e r 接口,为每个测量工具定义客户端脚 本,使用c l i e n tc a l l b a c k 的方式异步发送请求,在服务器端主要通过自定义的 p r o c e s s m e a s u r e r e q u e s t 函数处理客户端请求,服务器处理结果以c a l l b a c k r e s u l t 格式交由客户端p r o e e s s c a l l b a c k r e s u l t 函数处理并更新测量面板。 图3 - 9 自定义开发的测量工具 点测量工具可以读取当前鼠标在地图上任意部位画点的x y 坐标值,例如当 需要知道某设施的地理坐标,或者想知道任何点状图层某要素的坐标时都可以使 用该工具;线测量工具可以获得地图上两点间的距离,在画线过程中,每画一段 4 0 信息查询主要方便规划人员查询区域各方面的空间现状信息和宏观的城市 规划内容,也可以使承租人对商业地产及周边的现状及未来有个整体认识。信息 查询功能的实现还是以异步脚本回调为基础,通过鼠标点击地图,查询指定图层 的地理要素。查询结果以属性框的方式异步弹出,显示要素的基本信息,并给出 详细信息链接。 在城市规划页面的t o o l b a r 工具条上添加一个“信息查询 自定义按钮。 在客户端选定该按钮,然后在地图页面上点击想要查询的要素,这时在客户端产 生一个鼠标的m o u s e d o w n 事件,可以通过j a v a s c r i p t 捕捉到鼠标当前的坐标( 屏 幕坐标) ,然后通过脚本回调的方式把坐标信息传递给服务器端页面中包含的 r a i s e c a l l b a c k e v e n t 方法,在该方法中把屏幕坐标转化为地图坐标。 。 移v 一多 德造名鞣金穗丈厦 建缓地垃浦东南路a 7 9 - 譬 建设年代1 9 9 7 年 建筑高震1 1 0 米 建雾疆 数地上2 8 屡、地下2 屡 用地面貌0 。6 7 万平方米 慧寝筑面积s 1 万平方米 主要功意办公、餐饮、银行。 f 详细信童) 图3 1 0 信息查询 地图服务的i q u e r y f u n c t i o n a l i t y 接口提供了i d e n t i f y 、f i n d 和q u e r y 等方法 用于获得指定查询条件的要素,通过上述的地图坐标和i d e n t i f y 方法就可以得到 查询要素的具体信息。城市规划页面中的g e t c a l l b a c k r e s u l t 方法可以把要查询要 素的具体信息返回到客户端。在客户端利用指定的j a v a s c r i p t 函数来处理返回的 信息,并进行异步更新。信息查询的结果如图3 1 0 所示。 4 1 华东师范大学2 0 1 0 届硕士毕业论文第三章基于服务的商业地产w e b g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论