ImageVerifierCode 换一换
格式:PDF , 页数:6 ,大小:540.86KB ,
资源ID:3175732      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3175732.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MapServer的WebGIS地图符号化研究与实现.pdf)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MapServer的WebGIS地图符号化研究与实现.pdf

1、第41 卷 第1 期上海师范大学学报(自然科学版)Vol 41,No 12 0 1 2 年 2 月Journal of Shanghai Normal University(Natural Sciences)Feb ,2 0 1 2基于 MapServer 的 WebGIS 地图符号化研究与实现顾颖虹,芮建勋,陈能,刘人杰,田冬迪(上海师范大学 旅游学院,上海 200234)摘要:地图符号化是当前数字地图研究的重要内容之一 在研究 MapServer 引用地图符号库实现 WebGIS 原理的基础上,着重探讨了 MapServer 的地图符号渲染方式,同时以基础要素为例实现地图的分类符号化,建立

2、基础要素符号库,最后构建具体实例调用,验证其可行性与有效性关键词:地图符号;MapServer;WebGIS;开源中图分类号:P 208文献标识码:A文章编号:1000-5137(2012)01-0056-06收稿日期:2011-05-06基金项目:上海市教委重点学科项目(J50402);上海师范大学理工科项目(SK200730);城市地理信息校重点学科(DZL801);世博专项(SK201054)作者简介:顾颖虹(1987 ),女,上海师范大学旅游学院硕士研究生;芮建勋(1971 ),男,上海师范大学旅游学院副教授;陈能(1961 ),女,上海师范大学旅游学院教授0引言作为形象化的语言,符号

3、能够直观地展示人们所要表达的内容 地图符号即地图的语言,是表达地理事物或现象的一种重要可视化工具1 2,是读图者感受地理事物或现象的主要方式,也是计算机制图的基础和空间数据可视化的核心内容 由于近年来数字地图、地理信息系统及互联网的快速发展,立足于网络的地理信息表达已经成为热点3 符合行业标准规范化的地图符号库是实现地理信息表达的重要组成部分 综合考察目前国内外 GIS 软件,均采用不同的描述模型与数据结构,难以实现地图符号库不同工程项目间的共享与服务,但是针对特定工程项目,制作完整规范的地图符号库仍具有重要研究意义,它将有效提高地图符号库的共享性、可移植性,大大减少项目构建的重复性劳动Map

4、Server 是美国明尼苏达大学(University of Minnesota,UMN)在 20 世纪 90 年代利用 C 语言开发的在线动态地图发布引擎4 其最大的特点是开放性,源代码全部公开,用户在免费使用的同时,能自行修改、复制及再发布 并且 MapServer 可以在多种系统环境下运行,支持包括栅格、矢量和空间数据库等不同格式的地图来源及不同的流行脚本语言如 Perl,Python,PHP 等 另外,MapServer 支持的 FastCGI能将 CGI 保持在内存中,避免了反复加载,因而获得较高的性能,北卡大学夏洛特分校的 Tobin Bradley通过对比试验发现 MapServ

5、er 的运行效率比 ESRI 公司的 ArcIMS 快将近 30%5 在以开放性和互操作为今后地理信息系统重要发展方向的背景下,开源 WebGIS 软件 MapServer 必将会得到越来越多人的关注因此有必要基于 MapServer 所提供的点、线、面图形对象去构建地图中所需的各种地图符号,最终组建地图符号库,以供基于 MapServer 的特定 WebGIS 项目实现不同地图时进行调用 本文作者结合网络地图符号特点,在研究 MapServer 引用地图符号库实现 WebGIS 原理的基础上,着重探讨了 MapServer对于各类地图符号的渲染方式,并以基础要素为例实现地图分类符号化,建立基

6、础要素符号库,同时搭建简单实例调用该符号库,验证其可行性第 1 期顾颖虹,芮建勋,陈能,等:基于 MapServer 的 WebGIS 地图符号化研究与实现1地图符号分类及特征分析根据制图学理论,地图符号按各自是否依比例表示二维地图平面上的地物,可分为点状符号、线状符号、面状符号 点状符号指不能依地图比例尺表示小面积地物和点状地物的符号,具有定位和可选的方向性信息,通过形状和颜色表示地图要素的性质、等级、大小和数量等特征;线状符号是指长度在地图上按比例表示,而宽度在图上不依比例表示的符号,表达呈线状或带状延伸分布的地图要素,及该地图要素的分布位置、延伸形态和长度;面状符号则是指在二维地图上各方

7、向都能依比例尺表示的符号,符号的形状与地图要素的平面图形相似,其轮廓线(如实线、虚线或点线)表示它的分布范围,轮廓线内加绘的颜色说明它的性质和数量6 7 2MapServer 实现网络地图符号化的原理MapServer 可渲染地理数据,即显示地理图像4 在以 MapServer 构建的 WebGIS 中,MapServer 能够以 CGI 与 MapScript 两种模式运行 其中,在 CGI 模式下,MapServer 渲染地理数据需以下4 类信息:Map-file,HTML 初始化表单,HTML 模板文件及空间数据在网络环境中,MapServer 实现地图符号化主要有以下的运作过程,当用户

8、通过浏览器访问 Web 服务器发出 HTTP 请求后,Web 服务器则调用 MapServer 递交 HTML 初始化表单,表单中指向的 CGI 应用程序随即读取 Mapfile,该文件通过内部 Symbol 关键字对符号库中已定义的地图符号进行引用,并根据信息配置渲染出定义在 Mapfile 中的地图,同时读取 HTML 模板文件,搜寻可替换字符串,将生成的地图嵌入到 HTML 页面,经 Web 服务器返回至客户端浏览器4 而在 MapScript 环境下,MapServer 不同于CGI 模式下只是简单的网络应用接口不能利用外部库功能,MapScript 作为程序接口支持从不同编程环境调用

9、 MapServer 的基本功能,但是实现地图符号化与 CGI 模式下相一致,同样是读取 Mapfile 文件Mapfile 文件作为整个 MapServer 系统显示地图的核心,它定义了地图对象、空间点位之间对应关系,在实现符号化的过程中,通过外部矢量绘图软件如 CorelDraw,Adobe Illustrator 等设计符号或修改 True-Type 字体符号以及直接调用栅格图片实现符号的准备,转化成点、线、面 3 类符号分别入库,Mapfile 依据地理空间要素与符号之间的对应关系,引入相应的符号类(点、线、面)绘制函数,实现符号化2,8 如图 1 所示,Mapfile 控制地图符号化

10、的流程图 1Mapfile 控制地图符号化的流程3基于 MapServer 的分类符号化符号化即根据符号信息和实体定位信息,通过缩放、旋转、平移将符号从有限的符号空间变换到地图空间9 MapServer 绘制点、线、面 3 类符号与空间数据的类型并不一致,而是由 Mapfile 文件中 Type关键字给定,如 point,line,polygon,当空间数据类型为面状时,在 Mapfile 中 Type 定义为 line,则绘制出75上海师范大学学报(自然科学版)2012 年多边形的边界线 下面详细介绍 MapServer 对点、线、面 3 类符号的实现方式3 1点状符号的实现点状符号在地图上

11、是一个定位点,一般获取的是坐标点位信息及色彩信息 在 MapServer 中可通过Unicode 调用,实时矢量绘图以及调用已有图片 3 种方式实现符号化点状地物(1)Unicode 方式Unicode 是一种在计算机上使用的字符编码,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求 MapServer 的 Unicode 调用全部来源于对于字体文件的调用,即将绘图类型设置为 TrueType,使用字体文件中自带的 Unicode 进行绘图 倘若需要实现 Unicode 的移植,只要修改字体文件,将目标符号添加到指定的字体文件中即可以飞机场的

12、符号为例,采用此种方式实现符号化 该符号通过造字软件 Font Creator Program 在自定义字体文件 symbol_map 中设计,并获取其 Unicode 十六进制编码,并转换成十进制 具体符号定义代码如下所示,#后为注释:SYMBOL#开始符号定义NAME airport#当前的符号名称定义为 airportTYPE TRUETYPE#指定符号类型为调用字体文件FONT symbol#指定字体文件为自定义的 symbolANTIALIAS true#平滑显示单个符号CHARACTER#1;#指定编码的十进制形式,在改字体文件中为“1”END#结束符号定义Unicode 方式实现

13、点状符号过程如图 2 所示:图 2unicode 实现点状符号过程(2)实时矢量绘图方式MapServer 制作矢量地图符号时,支持两种类型,即 Vector 和 Ellipse Vector 方式是根据符号文件中指定的坐标点来进行绘图,Ellipse 方式则是根据符号文件中给定的参数 x 和 y 值画出一个实心的椭圆,若 x 与 y 的值相等,则会画出一个实心的圆 以市政府的符号为例,采用 Vec-tor 实现符号化 具体符号定义代码下所示,#后为注释:SYMBOL#开始符号定义NAME citycenter#当前的符号名称定义为 citycenterTYPE VECTOR#指定绘图类型为

14、vectorPOINTS0 0 375#起笔在(0,0 375)点0 35 0 375#下一笔在(0 35,0 375)点,和上一点之间用直线相连0 5 0#下一笔在(0 5,0)点,和上一点之间用直线相连0 65 0 375#下一笔在(0 65,0 375)点,和上一点之间用直线相连1 0 3750 75 0 6250 875 10 5 0 750 125 185第 1 期顾颖虹,芮建勋,陈能,等:基于 MapServer 的 WebGIS 地图符号化研究与实现0 25 0 6250 0 375#回到起笔处(0,0 375)点ENDFILLED TRUE#绘制的符号填充指定颜色END#结束符

15、号定义(3)调用已有图片MapServer 亦支持使用栅格图进行地图符号的渲染,一般支持 GIF 和 PNG 这两种格式的栅格图 使用已有图片作为地图的符号,需在符号定义的时候将 Type 设置成 pixmap 显然当用栅格图作为地图符号的时候,在地图显示时候不能更改图片的颜色 但是要绘制极其复杂的地图符号时,使用栅格图进行渲染是一种理想的替代方法 以其他区县政府符号为例,采用调用已有图片实现符号化 具体符号定义代码下所示,#后为注释:SYMBOL#开始符号定义NAME otherdistrict#当前的符号名称定义为 otherdistrictTYPE pixmap#指定绘图类型为 pixm

16、apIMAGE /otherdistrict gif#调用名为 otherdistrict gif 的图片END#结束符号定义以上 3 种方式定义的点状符号引用后显示效果图如图 3 所示图 3(a)飞机场符号unicode 方式图 3(b)市政府符号实时矢量绘图方式图 3(c)其他区县政府符号调用已有图片方式3 2线状符号的实现MapServer 并不支持直接定义线状符号,而是在地图图层调用的时候,根据图层的类型决定是否把符号绘制成线状,即在 Mapfile 中需将图层的 Type 属性定义成 line,通过点状符号渲染线状符号,本质上绘制的仍是点状符号 复杂的线符号可看做是若干个基本的线符号(如直线、虚线、点线等)的叠加或者是点符号沿着线的前进方向的周期性重复 根据以上两个特征,因此绘制线状符号存在两种不同的绘制方法:单一特征的线符号叠加组合;将线符号分解成基本点符号循环配置实现 6,10 MapServer 在实现线状符号绘制时,也体现了上述思想 如图6 所示,以城市高架符号为例,分 3 步完成该符号的绘制,即 Mapfile 文件中在 Class 类调用3 次点状符号,首先调用以

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1