arcigis server 开源发布地图怎么设置抗锯齿

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于ArcEngine 的供水管网GIS 符号库的设计与实现.doc 6页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
2012 年 2 月
第 10 卷第 1 期
地理空间信息
GEOSPATIAL INFORMATION
Feb., 2012
Vol. 10, No. 1
基于 ArcEngine 的供水管网 GIS 符号库的设计与实现
王战举 1,范玉茹 2
(1. 广东龙泉科技有限公司,广东 广州 . 66240 部队,北京 100046)
要:在供水管网地理信息系统建设过程中,地图浏览和制图输出是最基本的建设功能,地图符号在这些功能中起着非
常重要的作用,人们对地图可视化表达和使用的要求越来越高。根据我国 GIS技术规范和供水行业标准的要求,重点阐述
了 ArcEngine环境下供水管网地理信息系统地图符号库设计与制作的实现方法。在符号的制作过程中采用了抗锯齿的技术,
减弱了 ArcGIS平台下图形锯齿化的问题。
关键词:供水管网地理信息系统;地图符号;ArcEngine;符号库;抗锯齿
中图分类号:P208
文献标志码: B
文章编号 :
1 研究的理论基础
供水管网地理信息系统是一个充分运用地理信息
系统技术,将供水企业的整个制、输、配、用水的管
线及附属设施的空间图形数据(以及设备的附件数据)、
属性数据、档案数据和多媒体文件数据融为一体,具
有供水管网综合信息的地理化、可视化的地理信息资
源业务应用系统。供水管网数据及其他基础地形数据
是供水管网地理信息系统的主要数据源之一,同样也
是供水管网地理信息系统中主要的产品表现形式之一。
地图符号是表达地图内容的基本手段,它不仅能
表示事物的空间位置、形状、质量和数量特征,而且
还可以表示各个对象之间的相互联系及区域总体特征。
的接口。开发者可以使用这些组件创建客户 GIS桌面
应用程序或定制其他 GIS应用。
在地图符号化方面,ArcGIS制作了很多方便的可
视化工具,自身也附带了很多符号库,但作为国外生
产的 GIS通用软件,其自带的符号库显然在我国不适
用,特别是供水等特定行业的习惯,在使用中经常带
来很多不便,再加上 GIS在各行业中的深入,人们对
地图可视化表达和使用的要求也越来越高,因此就有
必要开发新的制作符号的方法,制作符合供水管网地
理信息系统要求的符号库。本文结合某城市供水管网
地理信息系统的建设,根据 GIS技术规范和供水行业
标准的要求,阐述了在 ArcEngine环境下供水管网地理
信息系统中符号库设计和实现的关键技术。
地图符号是地图的语言,它是在地图上用以表示各种
空间对象的图形记号或者还包括与之配合使用的注记。
符号库的设计
高质量的地图符号是丰富地图内容、增强地图的易读
地理信息系统建设过程中符号库的设计和制作占有很
重要的位置。
ArcGIS是 ESRI公司开发的一个完整的地理信息
平台,包括桌面 GIS、服务器 GIS、移动 GIS和开发
GIS 4个框架。桌面 GIS(Desktop)软件套件是包含了
一套带有用户界面的 Windows桌面应用。其中 ArcMap
是 Desktop中一个主要的应用程序,承担所有制图和编
辑任务,也包括基于地图的查询和分析功能。开发 GIS
为开发者提供了可编程的 GIS工具包,用户可以扩展
桌面 GIS、定制基于桌面和基于 Web的应用,也可以
在现有的应用系统中嵌入 GIS功能。其中 ArcEngine是
ArcObjects组件跨平台应用的核心集合,提供多种开发
收稿日期:
项目来源:国家自然科学基金资助项目()。
2.1 面临的问题
由于地图符号是 GIS系统建设不可缺少的重要工
作之一,人们对符号库的研究文献已经很多,然而综
观目前的供水管网地理信息系统,其所带的符号库存
在以下几个问题:
1)符号库的研制主要是从研制者的角度,而不是
从具体使用者的需求出发来进行的,没有建立在对广
大用户视觉感受实验的基础上。
2)对地图符号体系的研究仍然受到纸质地图的思
维束缚,没有充分考虑供水管网地理信息系统“运行
后时期”用户对地图使用要求的特点,如城市地图数
据共享、专业用户需要更详细的符号分类等。
3)尽管对符号库的研究文献已经很多,但没有一
个统一的标准。每个 GIS应用系统都要研制自己的符
第 10 卷第 1 期
王战举等:基于 ArcEngine 的供水管网 GIS 符号库的设计与实现
号库,由于没有统一的符号体系与制作规范,用户要
花费大量的时间和重复的劳动来适应不同的符号库或
研制适合某一项目用户的符号库,这不利于其推广应
用,且造成资源上的浪费。
4)现有标准中,有关符号体系的内容是一个指导
正在加载中,请稍后...您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于RIA与ArcGIS+for+Server的+WebGIS研究与实现.pdf 83页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
电 子 科 技 大 学
UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA
专业学位硕士学位论文
MASTER THESIS FOR PROFESSIONAL DEGREE
基于RIA 与ArcGIS for Server 的
WebGIS 研究与实现
专业学位类别
作 者 姓 名
学 位 论 文
基于 RIA 与 ArcGIS for Server 的WebGIS 研究与实现
(题名和副题名)
(作者姓名)
电子科技大学
(姓名、职称、单位名称)
申请学位级别 硕士
专业学位类别
工 程 硕 士
工程领域名称
计算机技术
提交论文日期 2015 年4 月
论文答辩日期 20 15 年5 月
学位授予单位和日期 电子科技大学
2015 年 6 月
答辩委员会主席
注1:注明《国际十进分类法UDC 》的类号。
Based on RIA and ArcGIS for Server WebGIS
research and implementation
A Doctor Dissertation Submitted to
University of Electronic Science and Technology of China
Master of Engineering
Prof. Jiang chunhua
Information
Engineering
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作
及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方
外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为
获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与
我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的
说明并表示谢意。
作者签名:
论文使用授权
本学位论文作者完全了解电子科技大学有关保留、使用学位论文
的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,
允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全
部或部分内容编入有关数据库进行检索,可以采用影印、缩
正在加载中,请稍后...基于GeoServer的电子地图系统说明
转载,原文地址:
一AJAX的应用系统,前台页面基于OpenLayers2.2版本来开发,地图服务基于GeoServer1.5,后台查询基于Spring和Hibernate。前后台基于JSON方式进行通信。
注意:为了使代码有最大的安全和维护保障,前后台所有的文件存储和通信编码均为UTF-8(SLD文件有例外,另有说明),数据库编码安装时也指定为UTF-8。
开源软件 WebGIS OpenGIS PostgreSQL PostGIS GeoTools GeoServer uDig
OpenLayers
一、OpenGIS相关概念知识
1.1 开源软件、Web技术相关
1.2 OpenGIS相关
二、相关软件介绍:
三、WebGIS相关的OpenGIS规范
3.1、WFS/WMS:
3.1.1、版本与流通:
3.1.2、请求规则:
3.1.3、响应规则:
3.1.4、WFS请求编码:
3.1.5、WFS名称空间:
3.1.6、坐标参考系统:
3.1.7、WFS操作:
3.2、空间数据格式WKB/WKT
四、PostgreSQL/PostGIS安装
五、空间数据库实现
5.1 Shapfile简介
5.2 用PostGIS管理空间数据
六、用uDig可视化生成SLD
七、基于GeoServer的WebGIS的实现
7.1 系统总体结构
7.2 GeoServer服务器端概览
7.3 GeoServer配置
八、用OpenLayers实现WebGIS客户端
8.1 OpenLayers简介
8.2 实例说明
一、OpenGIS相关概念知识
1.1 开源软件、Web技术相关
GPL:GNU 全局公共许可证(General Public License)简称为GPL,是GNU的开源软件许可证的一种,大多数的
程序和超过半数的自由软件使用它。同时,它也是开源软件领域对许可人权力限制最严的许可证。GPL首先是承认软件的版权——软件有原始的版权所有者,然后
纳入自由软件的版权许可约束。在承认版权的前提下,通过软件的版权许可来实现自由权利的要求。GPL许可证最重要的特点在于它要求根据GPL许可证发布的
软件(如:最有影响力的Linux)修改、翻译的演绎作品,甚至只要其任何一部分代码是以GPL发布的,那么全部程序也必须受GPL许可证的约束,即继续遵守GPL许可证的规定,有些人将其称之为GPL的“病毒效应”。GeoTools、GeoServer都使用GPL授权协议。
AJAX:Asynchronous Javascript. and
XML(异步Javascript和XML),AJAX是Web2.0时代的主要技术之一,它通过JS与服务器通信,中间传输数据使用XML(当然采用
XML不是必须的,如本系统为JSON),实现网页内容无刷新更新。网上地图的请求与显示通常采用此技术,最典型的如:Google
Map。本文中的OpenLayers也使用了此技术。
JSON:JavaScript. Object
Notation(JavaScript对象符号),JSON是一种用简单文本描述JavaScript对象的开放格式标准,它易于构建和解析。换句话
说,可以将发往浏览器的数据编码格式从XML改为JSON对象,而JSON对象能够很容易地转成JavaScript对象。
MVC设计模式:
模型-视图-控制(Model、View、Controller)的缩写。模型(Model)是应用程序的主体;视图(View)负责生成用户界面部分;
控制器可以根据用户的输入,控制用户界面数据显示及更新Model对象状态。MVC设计模式要求在应用程序开发中将模型逻辑,界面显示,数据层相分离。
MVC设计模式由事件驱动。OpenLayers就实现了这种设计模式。
1.2 OpenGIS相关
OGC:OpenGIS联盟。
WMS:Web Map Server
网上地图服务,最简单的功能就是:通过HTTP请求,获得相应的地图,地图为图片格式,如:JPG/GIF/PNG。
WFS:Web Feature Server 网上要素服务,最简单的功能就是:通过HTTP请求,获得相关的地理要素信息。
WCS:Web Coverage
Server,简单地说就是对栅格数据的服务,它允许用户得到连续的栅格图像,这些图像可能包含多个波段,因此你可以将一幅完整的多波段遥感影像放到你的
WCS服务器上用WCS进行Internet共享,而用户利用浏览器或者其它胖客户端工具通过HTTP请求就可以得到这个影像数据。当然可以对请求参数进行限定,取得其中的一部分(空间的一部分或波段的一部分)数据。
SLD:风格化图层描述器(Styled Layer
Descriptor)的简称,用于定义地图显示样式,GeoServer支持SLD,通过自定义SLD,可以在地图中显示文本和图片符号,还可以设置过滤器,自定义图例。
GML:地理标记语言,是WFS规范指定的地理要素的XML编码声明和数据格式。
WKB/WKT:OpenGIS规范定义了两种表达空间数据的标准方法:Well-Known Text (WKT) 和Well-Known
Binary (WKB)
二、相关软件介绍:
GeoTools:一个基于JAVA的开源的GIS工具包,提供了实现OGC规范的一系列函数。是一个松散的工具包,用户可以调用其中的相应的包进行开发。Geoserver、uDig就是基于Geotools的。
GeoServer:GeoServer基于JAVA的开源软件,通过调用GeoTools,提供遵循OGC标准的WFS-T和WMS服务。其WMS结果的显示演示采用了OpenLayers。
OpenLayers:一个基于AJAX技术的网上地图显示客户端,支持WMS地图显示、WMS时间序列地图动态显示、GML/Feature数据显示等。
2.4 PostgreSQL/PostGIS:最先进的开源数据库,PostGIS是其在空间数据上的扩展。
三、WebGIS相关的OpenGIS规范
3.1、WFS/WMS:
3.1.1、版本与流通:
版本号为三段数字表示,现在()WFS的最新版本是1.1.0,旧版本有0.9.1、1.0.0;WMS的版本有:1.0、1.1、1.1.1、1.3.0。Geoserver支持WFS1.0、WMS1.1.1,其返回的GML版本是2.1.2。
版本号必须出现在两个地方,一是客户端请求参数中、再是服务器GetCapabilities 操作返回的Capabilities
XML文档中。
需要注意的是,客户端请求的版本号应该与服务器支持的版本号匹配,否则按最近匹配原则:
1、 如果客户端请求的版本号高于服务器支持的,服务器按其支持的最高的版本号执行,相反,则按最低版本号执行。
2、 如果服务器响应的版本号高于客户端支持的,客户端会重新发送一个较低版本号的请求,相反,发送一个较高的版本。
3.1.2、请求规则:有两种请求方式:Get、Post。
WFS的Post请求是提交一个符合WFS规范的XML文本,服务器来对这个XML文本进行解析后执行,下面是两个Get请求:
http://127.0.0.1/geoserver/wfs?
request=GetCapabilities&service=WFS&version=1.0.0
解释说明:
操作:GetCapabilities
版本:1.0.0
http://127.0.0.1/geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS
&SRS=EPSG:4326&BBOX=146.,-42.3,147.,-42.3&WIDTH=500&HEIGHT=285&LAYERS=topp:tasmania_roads
&FORMAT=image/png&STYLES=&TRANSPARENT=TRUE&TIME=
解释说明:
version=1.1.1 版本号为1.1.1
request=GetMap 执行GetMap操作
坐标参考系统为EPSG:4326
地图范围:
地图大小:500*285
图层:topp:Tasmania_roads
地图格式:png
地图样式:默认样式
透明显示:是
3.1.3、响应规则:
如果请求正常,服务器将返回一个对象,并伴随这个对象的MIME(多用途因特网邮件扩展,常用的文件格式都伴随着一个MIME类型,如邮件附件,GIF图片image/gif)类型和描述(如对象大小、编码类型等等)。否则,应该返回一个服务器异常。
3.1.4、WFS请求编码:
规范定义了两种WFS请求编码方法,一是使用XML,二是使用KVP(键值对)
WFS操作与请求编码: 操作
GetCapabilities
DescribeFeatureType
GetFeature / GetFeatureWithLock
LockFeature
Transaction
XML & limited KVP
3.1.5、WFS名称空间:有三个标准化的名称空间:
(http://www.opengis.net/wfs) & for the WFS interface
vocabulary
(http://www.opengis.net/gml) & for the GML vocabulary
(http://www.opengis.net/ogc) & for the OGC Filter vocabulary
3.1.6、坐标参考系统:
使用EPSG 标准,其值通常是4326。
3.1.7、WFS操作:
DescribeFeatureType
(要素类型特征描述)操作:此操作产生一个WFS服务器所提供的地理要素的大纲描述,这个描述定义了WFS地理要素实例怎样被输入、编译和输出。对于一个
DescribeFeatureType请求,应返回一个由XML Schema定义的GML3应用程序大纲。
GetFeature(获取对象)
操作:因为地理要素的规范表示是使用GML,所以GetFeature操作涉及到GML规范中的地理要素模型。在GML中,一个地理要素表现为XML文档
中的一个元素,一个GML文档可包含多个地理要素。当GetFeature请求的输出格式设为text/
subtype=gml/3.1.1时,一个GML实例将被返回给客户端。
GetGMLObject(获取GML对象)
操作:允许通过ID号从服务器上获取地理要素和元素,该操作将返回一个XML片段。注意GetGMLObject操作不是可选的,不是服务器必需支持的。
LockFeature
(锁定要素)操作:网络连接本身是不稳定的,要实现事务操作的正确执行,解决并发冲突问题,需要锁定地理要素,这类似数据库中的相关操作(实际上也确实是一种空间数据库操作)。
Transaction(事务操作):事务操作描述了从网上获得的地理要素实例的数据事务操作。当事务操作完成时,WFS服务器将返回一个XML文档指示事务的完成状况。
GetCapabilities(获取服务能力)操作:任何OGC的web服务器,包括WFS、WMS,必须提供GetCapabilities操作,用于描绘服务器性能容量。GetCapabilities请求将返回服务器元数据。
3.1.8、WMS操作:
GetCapabilities(强制)操作:反映服务器性能信息,与WFS的GetCapabilities操作相似。
GetMap(强制)操作:返回地图,这是最常用的操作,可参考前面请求规则的请求二例子。
GetFeatureinfo(可选):该操作是可选操作,能提供给客户端更多地理要素的信息,如在客户端选择地图上某一点,GetFeatureinfo操作可以返回该点的相关信息。
3.2、空间数据格式WKB/WKT
OpenGIS 规范定义了两种表达空间数据的标准方法:Well-Known Text (WKT) 和Well-Known Binary
形式。WKT和WKB都包括对象的类型和坐标系。OpenGIS规范还需要空间对象的internal存储格式包括空间参考系统标示符(SRID),在空
间对象装入数据库时需要提供SRID。
OGC的更多信息,请访问:http://www.opengeospatial.org
四、PostgreSQL/PostGIS安装
有一些图没有截下来,本人已在FreeBSD下装过,其实读一下软件的安装说明就可以了,很简单。
登录http://www.postgresql.org,下载最新版的PostgreSQL数据库,此安装文件已包含PostGIS(必须下载8.2以上版本,不可下载8.1版,经测试8.1版对数据的备份和恢复存在问题,恢复备份数据时不能正确恢复数据表的主键)。
首先是选择安装过程中使用的语言,没有找到中文,只好选择还能看得懂的英文。另外,你可以选择最下面得选项以把详细的安装日志写到当前安装目录,以备排查安装故障,也可以阅读一下了解它的安装过程。
选择安装语言
点下一步就是选择安装内容的选项了,其中分四大部分,分别是数据库服务器端、用户界面、数据库驱动和开发模块。你可以根据需要选择安装。另外此处要注意的是“Data
directory”选项只能安装在NTFS格式的分区,如果你要安装在其他格式的分区的话,需要在安装完后,手动运行Initdb.exe。
注意:如果你喜欢用图形界面来管理操作数据库得话,在用户界面里可以选择安装pgAdminIII。PostGIS Spatial
Extension为PostgreSQL提供了GIS支持(PostGIS),这里必须要安装。
选择安装选项1
选择安装选项2
接下来是服务配置,你可以把该数据库服务器作为Windows的一个系统服务运行,这也是PostgreSQL开始真正支持Windows安装的一个体现(如下图)。
选择安装为服务
在此设置服务名,还有运行该服务的Windows帐号。你可以输入一个已有帐号,也可以输入一个目前并不存在的帐号,让安装程序自动建立这个帐号。
自动创建帐号
创建帐号完毕后,就是要配置数据库的监听端口、连接许可,及本地区域和超级用户的设置了。我选择的是“中华人民共和国”,选择编码类型为UTF-8,(注意:图上为SQL_ASCII务必改之)这儿建立的超级帐号是数据库管理员用户,注意与前面的服务帐号区别。注意这个对话框只有你在上一步选择了让PostgreSQL作为一个系统服务运行才会出现。
初始化数据库设置
点击下一步后,会弹出一个远程连接的选项,提示本地连接数据库默认都可以被接受,但是如果想让远程计算机也能连接到数据库的话,你需要在安装完成后,单独设置pg_hba.conf文件,具体设置我们在后面再说明。
选择在默认创建的测试数据库template1中激活的过程语言,我这儿只选择了pgsql了。注意这个对话框只有你在选择了让PostgreSQL作为一个系统服务运行,并且选择了初始化数据库组件后才会出现。
选择过程语言
选择在测试数据库template1中激活的模块,所有的扩展文件都是会被安装上,这一步只是选择在你所有的数据库中默认激活哪些模块。这些扩展模块能提供一些增强的功能。(基本上默认就行了)
选择加载扩展模块
至此安装配置参数就已经配完了,你只需要点下一步等待安装完成就可以了,PostgreSQL安装速度很快,根据机器不同时间略有不同。最后出现安装成功界面。
客户端连接设置
PostgreSQL出于安全考虑,默认是拒绝所有远程客户端的连接的,如果你要想远程登录服务器端的话,需要设置pg_hba.conf,从开始菜单&&程序&&PostgreSQL&&configuration
files中选择编辑pg_hba.conf。
编辑pg_hba.conf
修改为如下内容:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.113/32 md5
这样表示本机和192.168.1.113这台机器可以通过经过MD5加密的密码连接数据库。通过修改IP地址的掩码,也可以允许哪一个段的地址可以连接服务器。另外,认证方式MD5还可以改为trust,表示完全信任这个地址的连接(这一点在调试程序时比较方便)。改为password,表示通过密码连接,但是密码以明文方式发送。设置完后,需要重新启动PostgreSQL才能生效。
五、空间数据库实现
正在研究这部分内容,希望能尽快完成空间数据库设计和实现,到时候再总结。
5.1 Shapfile简介
本系统的Shapfile(简称SHP)文件由河北省测绘局提供。
Shapfile文件为ESRI公司的文件存储格式,并且得到了业界广泛的支持。Shapfile格式是一种简单的,用非拓朴关系的形式存储几何位置和地理特征的属性信息的格式。虽然GeoServer采用Shapfile文件可以快速的创建网上地图服务,但它的缺点确很明显:
1、Shapefile只支持一个图层,在实际中没有意义。
2、直接保用SHP文件不安全,Shapfile文件很容易被病毒或其他原因误删除。
3、GeoServer中用Shapfile文件作数据源的效率是很低的。
4、Shapfile中的汉字GeoServer不能解析,会出现乱码。
5、数据库可以方便的对地理信息进行查询。
5.2 用PostGIS管理空间数据
PostGIS支持GIST空间索引(附录1)、规范窗体,能很大的提高处理效率。
OGC格式只提供二维的几何体,且相关联的SRID从未深入的用于输入输出请求,PostGIS支持OpenGIS组织"Simple
Features for
SQL"规范指定的所有GIS对象和函数,并进行了扩展,格式是EWKB、EWKT,其中增加了对3DZ,3DM和4D
坐标系的支持(当然三维、四维数据的OGC标准还未完全制定),深入引进了SRID信息。
空间数据表结构:PostGIS中存在两个必需的元数据表格, SPATIAL_REF_SYS(空间参考表格) 和
GEOMETRY_COLUMNS(几何体属性列),两个表用于存储空间数据库使用的坐标系统数字ID和文本描述。
PostGIS的shp2pgsql命令可以将Shapfile直接导入到数据库中也可以导出为SQL文件,推荐先导出为SQL文件再将此文件在SQL运行窗口中执行可将数据导入数据库。代码如下:
Shapfile到SQL语句:
shp2pgsql 路径\shp数据文件名 新建的数据表名 & 路径\SQL文件名.sql
Shapfile直接入库:
shp2pgsql -c 路径\shp数据文件名 新建的数据表名 数据库名|psql -d 数据库名
举例说明:
如将一Shapfile文件“c:\road.shp”导入到数据表“road”中,数据库为“sjzmap”。
1、运行“命令提示符”。
2、切换至PostgreSQL数据库安装目录中的bin目录下。
3、执行此目录下的shp2pgsql命令:“shp2pgsql c:\road.shp road &
c:\road.sql”。
4、如将此文件直接导入数据库(不推荐):“shp2pgsql -c c:\road.shp road sjzmap | psql -d
sjzmap”。
六、用uDig可视化生成SLD
登录http://udig.refractions.net,下载安装最新版的uDig(User-friendly Desktop
Internet GIS):用户友好桌面因特网GIS。
uDig是基于EclipseRCP和GeoTools开发的,支持OpenGIS组织发布的公共标准,尤其支持WMS、WFS标准。它既是一个应用程序,也可以作为开发新的桌面因特网GIS应用程序的核心平台,我们用uDig只是为了方便的对地图进行可视化的配色,方便编辑SLD样式文件。下面以配置PostGIS中的“base_road”图层为例进行说明。
打开uDig新建一个工程“test_map”
新建工程“test_map”
从“菜单->Layer->Add…”中,按照向导添加PostGIS图层“base_road”,添加成功后如下图:
添加“base_road”图层后的uDig
uDig会为图层生成随机的样式,下面我们将更改默认的样式。从左下角的“Layers”框中选中“base_road”图层,点击按钮或者选择“Layer->Change
Style…”会弹出“Style.
Editor”对话框。左侧的Simple中可以调教图层的各种配色,点击XML可以查看生成的SLD文件,挑选合适的配色后点击Export就可将此SLD文件导出。导出的SLD文件可以在GeoServer中直接使用,但是这时的样式与图层数据表的名称是相关联的,通用性较差。为了获得最好的通用性,请将此文件参照GeoServer样例的SLD文件手工进行代码优化后再导入GeoServer。
注意:SLD文件中有汉字时不可存为UTF-8编码必须存为GBK/GB2312编码,因为GeoServer导入有汉字的UTF-8编码的SLD样式文件时会报错。
对应当前样式的SLD文件
七、基于GeoServer的WebGIS的实现(我选择的是MapServer,基于C的)
登录http://www.geoserver.org,下载最新版的GeoServer。
安装:有两种方式安装,一种是使用它的安装程序(.exe
文件),这种方式安装的GeoServer自带web服务器,可以独立运行(需要JDK环境),默认端口是8080;另一种安装方法是使用Tomcat
(或其它web服务器,具体可以从GeoServer官方网站上查看web服务器的支持列表),将geoserver.war文件放置在webapps目
录下即可。
7.1 系统总体结构
GeoServer是完全基于JAVA的,WebGIS服务(WMS、WFS)可通过Servlet实现访问,地址是:/GeoServer/wms
、/GeoServer/wfs。访问规则见前节(WebGIS相关的OpenGIS规范)。
整体结构如下:
GeoServer结构:
下面是GeoServer实现的网上地图服务以及相关操作:
WFS UML 图表 (选自GeoServer参考文档)
WMS UML 图表 (选自GeoServer参考文档)
以上可以看出,GeoServer完全实现了OGC相关规范。
7.2 GeoServer服务器端概览
要提供WebGIS
服务首先须配置GeoServer,GeoServer提供Web界面进行管理,进入:http://host:port/geoserver,点击“登
录”进入登录界面,默认用户和密码分别是admin、geoserver。点击“配置”进入配置界面,有五个栏目可以配置:
7.2.1、服务器:
可以设置服务器信息和联系信息,前者包括:最大地理要素数限制、是否显示
详细异常信息、数字精度(几位小数)、语言编码(为支持多国化,可设置为UTF-8)、日志相关等,后者包括单位名称、地址、联系方式等。
7.2.2、WCS:
WCS的相关信息,可以查看安装的Coverage插件列表。
7.2.3、WFS:
可以设置WFS相关信息,包括:是否启用WFS服务、服务层次(基本服务、事务处理层次、完全服务)、以及WFS服务器描述信息和Test
Suites 的使用。
7.2.4、WMS:
设置内容包括:是否启用WMS服务,描述信息,SVG图形表现形式(简单描绘还是蜡染色法表现、是否采用抗锯齿处理)
7.2.5、数据:
数据配置的内容较多也是我们主要用到的,分六部分:名称空间、Coverage库、数据库、样式、地图要素类型(FeatureTypes)、Coverages,具体的数据配置会在下面的7.3节进行实例说明。
7.3 GeoServer配置
导入到PostgreSQL数据库,再为其编写好样式后就可以在GeoServer中配置了。地图图层的所有配置都是在“配置->数据”中,这里分为六个
部分,其中“Coverage库”和“Coverages”为删格数据的配置,以下实例说明中不会涉及。
下面以配置图层“base_road”为例进行说明:
1、新建一个名称空间,并设置前缀为“sjz”,其URI为http://www.hbsanctum.com/sjz,并设为默认的名称空间,提交并保存。(注意:界面左上角有“应用”、“保存”和“载入”三个按钮,提交后必须先点“应用”成功后再点“保存”,以下各步骤的操作均按此执行。)
2、在“数据库”中创建一个新的Feature数据集,“Feature数据描述”中选择“Postgis”,“Feature数据集
ID”同样命名为“sjz”,点击“新建”按钮后转到Feature数据集编辑器中,在此编辑器中正确添写PostgreSQL的连接信息后提交数据。
3、新建地图样式,GeoServer支持SLD来修饰地图,这里将自定义一个base_road.sld文件,上传并注册到GeoServer,样式名设为base_road。
4、设置好了数据源和地图样式,接下来要完成最后的工作,新建一个FeatureType
选择数据源为:sjz:::base_road,地图样式选择base_road,SRS设置为:4326,点击“生成”,GeoServer将自动填写地图范围和相关信息。此外还可以设置标题、关键词、Schema基础、摘要……提交并保存。
GeoServer1.5采用了OpenLayers来显示图层,现在我们可以从“欢迎->样例->地图预览”查看刚才配置的图层了。
八、用OpenLayers实现WebGIS客户端
8.1 OpenLayers简介
登录http://www.openlayers.org,下载OpenLayers的压缩包。
OpenLayers是一个用于开发WebGIS客户端的JavaScript包。OpenLayers实现访问地理空间数据的方法都符合行业标准。比如OpenGIS的WMS和WFS规范。OpenLayers采用面向对象方式开发,并使用来自Prototype.js和Rico中的一些组件。OpenLayers支持的地图来源包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OpenLayers提供了非常多的选择。
从OpenLayers2.2版本以后,OpenLayers已经将所用到的Prototype.js组件整合到了自身当中,并不断在Prototype.js的基础上完善面向对象的开发,Rico用到地方不多,只是在OpenLayers.Popup.AnchoredBubble类中圆角化DIV。OpenLayers2.4版本以后提供了矢量画图功能,方便动态地展现“点、线和面”这样的地理数据。
8.2 实例说明
以创建一个index.html作为查看地图的页面为例。导入OpenLayers.js和你将要创建的js。内容需要一个div,我们给它的id起名叫做area。你有必要在写一些CSS限定#area的宽度和高度,如果乐意,加上一个border也是很不错的选择。
我们首先要创建一个OpenLayer.Map对象的实例:
var map = new OpenLayers.Map("area");
其中的参数可以传id,也可以传ElementObject,当然id更加方便一些。
接下来就是向地图中添加图层,通常情况下使用OpenLayers.Layer的子类来完成图层的初始化。
OpenLayers提供了一下Layers的扩展:
OpenLayers.Layer.Image
OpenLayers.Layer.HTTPRequest
OpenLayers.Layer.Grid
OpenLayers.Layer.WMS
OpenLayers.Layer.KaMap
OpenLayers.Layer.EventPane
OpenLayers.Layer.Google
OpenLayers.Layer.VirtualEarth
OpenLayers.Layer.Markers
OpenLayers.Layer.Text
OpenLayers.Layer.GeoRSS
OpenLayers.Layer.Boxes
OpenLayers.Layer.TMS
Image类封装一个实际图象作为图曾内容
HTTPRequest类可以接收一个动态生成的图片,你可以通过HTTPRequest类的参数向服务器发送参数
Grid类是HTTPRequest类的子类,提供更加详细的方法
WMS类用于连接WMS服务器以获得图象
KaMap类用于连接MapServer
EventPane类作为用于接收用户操作的图层
Google类用于从Google获得图象,它仍然需要你从Google获得API KEY,并且include
VirtualEarth类用于操作VirtualEarth的图层
Markers类用于生成接收和显示用户本地标记的图层
Text类用于接收CSV文件
GeoRSS类是Marker类的子类,用于封装接收GeoRSS并在图层中作出marker
Boxes同样也是Marker类的子类,可以用div来做marker,而非image
TMS用于接收TMS服务器的地图
创建完图层后,可以用Map的addLayer(layer)方法插入,并执行Map的zoomToMaxExtent()方法让地图合适地显示。
OpenLayers还提供了丰富的Control类为地图浏览添加一些工具,继承自OpenLayers.Control类
OpenLayers.Control.LayerSwitcher
OpenLayers.Control.MouseDefaults
OpenLayers.Control.MousePosition
OpenLayers.Control.MouseToolbar
OpenLayers.Control.OverviewMap
OpenLayers.Control.PanZoom
OpenLayers.Control.PanZoomBar
OpenLayers.Control.Permalink
OpenLayers.Control.Scale
这些类的实例会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增加互动性和功能性。
OpenLayers对常用的数据结构进行了封装
OpenLayers.LonLat
OpenLayers.Size
OpenLayers.Pixel
OpenLayers.Bounds
以便于操作。
此外OpenLayers.Util类可以对图片载入错误时图片框的颜色和图片框中默认的图片进行自定义,这一点是非常方便的。OpenLayers的Ajax类对创建XMLHttpRequest对象的过程进行了封装,可以使用它进行简单的Ajax操作。
1. 相关概念
http://man.chinaunix.net/database/postgresql_8.0_CN/gist.html
GiST 的意思是通用的搜索树(Generalized Search Tree)。
它是一种平衡的,树状结构的访问方法,在系统中起一个基础的模版,然后可以 使用它实现任意索引模式。B+-trees,R-trees
和许多其它的索引模式都可以用 GiST 实现。
GiST 的一个优点是它允许一种客户化的数据类型和合适的
访问方法一起开发,并且是由该数据类型范畴里的专家,而不是数据库专家开发。
有些信息是从 加州大学伯克力分校的 GiST 项目网站 和 Marcel Kornacker 的论文,Access Methods
for Next-Generation Database Systems 中派生的。
PostgreSQL 里的 GiST 实现目前主要是 Teodor Sigae 和 Oleg Bartunov 维护的,
在他们的网站上有更多信息:http://www.sai.msu.su/~megera/postgres/gist/。
R-tree 索引用于索引空间数据。一个哈希索引无法处理范围搜索。而 B-tree 索引只能处理一维的范围搜索。R-tree
索引可以处理多维数据。例如,如果可以在一个类型为 point 的字段上建立一个 R-tree 索引,那么系统在回答类似 select
all points within a bounding rectangle
(选择在一个长方形范围内的所有点)这样的查询时有更高的效率。
建立 R-Trees 可以处理多边形和方形。理论上说,R-trees 可以扩展为处理更多维数。不过在实践上,扩展R-trees
需要一定的工作量。
Well Known Binary 一种GIS数据的二进制存储方式。
Well Known Text
reprojection
SPATIAL_REF_SYS Table
空间参考系统表格(SPATIAL_REF_SYS)用来储存空间参考系统资讯,表格结构如下:其中SRID为空间参考系统代码,AUTH_NAME为空间参考系统之坐标名称,AUTH_SRID为空间参考系统之坐标名称代码,SRTEXT为空间参考系统之WKT(Well-known
Text)文字方式格式。空间参考系统之WKT资料结构包括空间。
coordinates
spatial referencing system identifier空间参考系统标示符。
2. 相关网站和讨论组
OGC官方网站:http://www.opengis.org
PostgreSQL官方网站:http://www.postgresql.org
uDig官方网站:http://udig.refractions.net
GeoServer官方网站:http://www.geoserver.org
OpenLayers官方网站:http://www.openlayers.org
GeoTools官方网站:http://www.geotools.org
GeoServer QQ:4825849
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 webgis arcgis server 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信