GeoServer基础教程.docx

上传人:b****6 文档编号:6960707 上传时间:2023-01-13 格式:DOCX 页数:18 大小:465.58KB
下载 相关 举报
GeoServer基础教程.docx_第1页
第1页 / 共18页
GeoServer基础教程.docx_第2页
第2页 / 共18页
GeoServer基础教程.docx_第3页
第3页 / 共18页
GeoServer基础教程.docx_第4页
第4页 / 共18页
GeoServer基础教程.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

GeoServer基础教程.docx

《GeoServer基础教程.docx》由会员分享,可在线阅读,更多相关《GeoServer基础教程.docx(18页珍藏版)》请在冰豆网上搜索。

GeoServer基础教程.docx

GeoServer基础教程

GeoServer基础教程

(一):

环境搭建篇

GeoServer的是一个基于Java的软件,它允许用户查看和编辑地理空间数据,使用开放地理空间联盟(OGC)提出的开放标准,为地图创建和数据分享提供了强大的便利性。

GeoServer是OpenGISWeb服务器规范的J2EE实现,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。

GeoServer主要特性

兼容WMS和WFS特性;支持PostGIS、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo;支持上百种投影;能够将网络地图输出为jpeg、gif、png、SVG、KML等格式;能够运行在任何基于J2EE/Servlet容器之上;嵌入MapBuilder支持AJAX的地图客户端OpenLayers;除此之外还包括许多其他的特性。

这个系列博文将提供我在学习使用GeoServer的过程中的收获,内容包括GeoServer环境搭建、地图数据处理、部署地图数据、发布地图服务等功能的详细介绍。

力图通过这个系列博文的介绍,增进大家对GeoServer的全面了解。

也欢迎大家前来交流。

作为GeoServer基础教程

(一):

环境搭建篇,我们首先介绍如何搭建GeoServer的生产环境,搭建生产环境包括三个部分,分别为http服务器、JDK和GeoServer,因为新版本的GeoServer中内置了http服务器,我们实际上只需安装后两者:

一、安装JavaJDK

GeoServer是基于Java的软件,运行的时候需要JDK的支持,如果你的系统中没有安装配置好JDK,请按照这篇博文()首先安装配置好JDK。

如果已经安装配置好的直接进入下一步。

二、下载安装GeoServer

前往?

下载最新稳定版的GeoServer,可以看到下载的时候根据系统的不同可以选择不同的安装文件:

对于windows,我们有两种选择,一个是使用二进制文件(binary),另一个是使用安装包进行安装。

在这里,我推荐使用二进制文件,只需下载解压就能使用。

当然,如果你使用windowsinstaller也是一样的。

点击上图中的binary下载二进制文件的压缩包,解压后即可使用。

三、GeoServer基本操作

运行

切换到程序文件夹下的bin目录

双击,开启服务。

注意在使用过程中,这个窗口不能关闭。

打开浏览器,输入,GeoServer的环境已经搭建好,接下来的博文将继续和大家熟悉GeoServer的界面和基本功能使用。

GeoServer基础教程

(二):

GeoServer的Web管理界面快速入门

GeoServer的控制和管理是基于网页形式,所有和GeoServer相关的操作都要通过这个Web管理界面来进行,包括全局设置、数据发布与服务配置等等。

这一节我们就来熟悉GeoServer的Web管理界面,通过这样一个快速入门对GeoServer的后台控制和管理有一个基本的认识。

GeoServer的网络管理工具是通过web浏览器访问<主机>:

<端口>/geoserver(本地主机上的默认安装的链接是,能看到默认的欢迎界面,我们在右上角能看到账户和密码输入框和登录按钮。

默认的用户名和密码是admin和geoserver。

我们可以在登录之后在security选项下对用户、密码、管理组、权限角色等进行修改和配置。

登录成功后,欢迎界面将变为默认的管理界面,可以用于操作和修改配置的选项都在界面的左边以链接的形式给出,我们可以通过点击不同的超链接进入相应的管理界面。

关于和状态

左边第一栏为关于和状态,主要用于展示服务器的状态、日志以及服务器联系信息和GeoServer的版本信息等。

我们可以依次点击这几个选项进行查看和配置。

可以根据自己的实际情况对联系信息进行更新和维护

在这个版块我们需要关注的信息主要有服务器的状态和GeoSever的日志,这些信息对于我们及时掌握服务器的健康状态和通过日志进行查错提供帮助。

数据和服务

数据区域集中展示了GeoServer服务器上的所有数据和工作区划分,提供数据存储、图层预览、样式编辑等功能。

数据区域是我们在实际开发中需要重点关注的地方。

图层预览提供了GeoServer的所图层配置列表,并提供以各种格式预览。

在以后我们继续深入学习后,发布了某一个图层可以来到这里选择进行预览。

工作区类似我们工作空间,概念可以类比我们进行其他开发时所配置的项目根目录,用于对某一项具体的工作进行统一的管理。

对应于GeoServer所用于的web服务,也可以理解为是一个web网站的根目录。

数据存储用于管理GeoServer的数据存储,我们可以将其理解为为Web服务提供数据支持的“数据库”。

图层和图层组都是用来发布和管理新图层,并使用组的形式来进行组织和管理。

styles是用于管理GeoServer发布的样式。

服务部分主要是面向高级用户的,他们可以在此修改GeoServer提供的三种请求协议的配置。

WebCoverageService?

(WCS)用于管理元数据信息和WCS、WFS、WMS通用的配置信息,如数据请求读写最大值等。

WebFeatureService?

(WFS)用于配置和管理FeatureData、服务级别以及GML输出等。

WebMapService?

(WMS)用于管理和配置栅格数据和SVG选项以及切片地图压缩和分级情况。

关于数据和服务这一块的关系和理解我们会在后续的实际数据发布和项目操作中来继续熟悉。

设置和安全

在设置区域下分别有全局设置、JAI设置等,在这里我们能进行字符编码、日志记录等设置以及一些JAI参数的设置。

对于出学者来说,这些我们可以暂时不进行关注。

在安全区域下,有比较多的关于用户组、角色、权限的设置,在本地测试和使用的时候,我们也可以不需要进行关注,这个区域的设置更多情况下用于比较大型的项目多用户参与维护和编写。

至此GeoServer的Web管理界面快速入门就要结束了,实际上这篇文章只是对GeoServer的Web管理界面有了一个很简单的介绍,我们会在以后的数据发布和项目操作中有针对的再对必须了解和熟悉的操作和功能进行更多的介绍和学习。

欢迎继续关注。

GeoServer基础教程(三):

部署发布Shapefile地图数据

前面两节介绍了GeoServer的环境搭建和GeoServer的Web管理界面,这一节我们来熟悉使用GeoServer发布一份Shapefile地图数据。

希望通过这一节的学习,我们能够掌握和理解在GeoServer上部署地图数据的一般过程和方法。

在GeoServer上部署地图数据非常简单,GeoServer支持的数据格式和数据源也很多,发布和部署地图数据涉及到GeoServer的几个重要知识点:

工作区、数据存储和图层等概念。

我们也会在这一节一一进行阐述。

这一节我们部署发布的地图数据为Shapefile,也相信大家能够举一反三,学习这一节后能掌握其他数据源的地图数据的部署和发布。

准备工作

1、下载?

?

,这是GeoServer官方网站提供的一份Shapefile测试数据,包含了部分纽约的道路信息,我们本次就使用此Shapefile来进行部署和发布。

2、解压下载好的压缩包,然后将整个文件夹复制到GeoServer数据目录的data文件夹下。

GeoServer的数据目录是文件系统中的一个目录,这里存放的是GeoServer的配置信息等。

这些配置信息定义了包括GeoServer提供哪些数据服务,这些数据存放在哪里以及像类似WFS和WMS等服务是如何相互影响和提供服务的。

数据目录也同样包含了GeoServer所需的众多用于各种目的的支持文件。

如果用户没有对GeoServer的文件系统进行更改的话,那复制完成后的文件目录应该是:

geoserver/data_dir/data/nyc_roads,然后就是四个所需的Shapefile格式文件。

新建一个工作区

部署地图数据第一个步骤即为新建一个工作区,工作区(WorkSpace)是一个用于组织类似图层数据的容器。

我们常常会把一些相关的图层数据放到一个工作区里。

新建工作区的操作流程为:

登录GeoServer的Web管理界面,依次点击右侧的工作区–添加新的工作区,进入新建工作区的界面,在这里需要输入工作区的名字和命名空间URL。

工作区名字就是一个标志符,用来区分你的不同的项目,而命名空间URL(UniformResourceIdentifier)通常是一个与你项目有关的超链接,如果你的服务器接入了互联网,做好了相关配置与发布,那么可以在互联网上通过这个URL来访问你的数据。

最后点击提交完成创建。

新建数据存储

为了添加nyc_roads中的Shapefile地图数据,你必须建立一个数据存储。

数据存储实际上维护着地图数据和文件系统中的文件夹的映射关系。

点击数据存储–添加新的数据存储,我们可以看到GeoServer支持的众多矢量数据和栅格数据源:

根据我们要发布的Shapefile地图数据格式,我们点选Shapefile–ESRI(tm)Shapefiles(*.shp)即可。

然后按照图中所示填写好相关信息。

我们要注意的是工作区应该选择我们第一步建立的,Shapefile文件的位置通过浏览选择我们在准备工作中复制到数据目录下data文件夹中的Shapefile。

然后数据表的字符集应该和源数据一致,如果不知道源数据的字符集,建议选择UTF-8,保证对中文系统和用户的支持。

最后点击保存完成创建。

创建一个图层

新建数据存储后,默认会停留在新建图层的界面,我们直接在此开始建立图层。

因为只有一个图层nyc_roads,点击发布进入图层编辑界面。

图层编辑界面定义了图层的数据和发布参数。

填入了名称、标题、摘要等基本信息后,我们需要定义重要的SRS信息和边框信息。

本机SRS是指地图数据本身的坐标参考系统,这是由地图数据本身的属性决定的,也是不可修改的。

GeoServer会自动从数据文件中读取这一信息。

相对应的NativeBoundingBox则是根据本机SRS自动计算出来的边框,我们点击从数据中计算就能计算出来边框范围。

定义SRS是指我们自己想要定义显示地图数据的坐标参考系统,我们通过右边的查找按钮进行查找选择。

对于国内用户来说,常用的坐标系统可以通过键入“beijing”、”xian”或者4326(WGS-84的编码序号)进行查找选择。

选择确定后,通过点击“computefromnativbounds”可以计算出在这个坐标系统下的边界。

最后点击保存进行发布。

图层预览

为了验证我们部署发布Shapefile地图数据成功与否,可以对刚刚发布的数据进行预览,点击左侧的LayerPreview,找到我们刚刚发布的地图图层,点击”Openlayers“进行预览,如果成功你可以看到下图所示的道路分布。

在这里,我们已经可以通过默认的控制条来进行放大缩小与平移,还能点击图中的地理要素来查看属性。

小结

至此,通过GeoServer部署发布Shapefile地图数据已经介绍完毕。

我们希望通过这一节能使大家对工作区、数据存储和图层等概念有更深一步的了解,也能掌握部署发布地图数据的一般方法和流程。

如果对于这些你有疑问,欢迎留言交流。

下一节计划开始和大家详细介绍GeoServer支持的请求协议,如WFS、WMS等,欢迎继续关注。

GeoServer基础教程(四):

空间数据互操作的接口规范WMS、WFS和WCS

前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoServer的基本操作都比较熟悉了。

我们知道GeoServer使用开放地理空间联盟(OGC)提出的开放标准,支持三种空间数据互操作的接口规范WMS、WFS和WCS,这一节我们就来介绍这三种规范,为以后使用这些规范开发基于GeoServer的Web应用打下基础。

首先简单介绍一下OGC(OpenGeospatialConsortium,开放地理信息协会)和WebServices以及他们之间的关系。

OGC是一个非赢利的国际化标准制定组织,领导进行对地理数据相关的操作和服务标准的制定。

OGC最主要的一项计划是互操作计划(InteroperabilityProgram,简称IP),该项目的目标是提供一套综合的开放接口规范,以使软件开发商可以根据这些规范来编写互操作组件,从而满足互操作需求。

WebServices即Web服务,它是自包含的、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用。

Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。

在WebServices体系中,所有东西都是服务,这些服务发布一个API供网络中的其他服务或者应用使用,并且封装了实现细节。

WebServices是OGC规范以及建立面向服务的空间共享体系的基础技术体系。

空间信息Web服务是在Web服务技术和标准基础之上实现的地理空间信息网上在线服务。

它利用Web服务技术提供的公共接口、交换协议和服务规范,提供应用客户管理、注册服务、编码、处理服务、描述服务和数据服务等。

主要的应用客户包括发现客户、地图浏览客户、影像利用客户等。

空间信息Web服务除了采用基本的Web服务技术协议外,还需要相关地理空间信息及处理的技术协议,目前主要有OGC、ISO/TC211和W3C等组织在进行相关协议标准的制定。

OGCWeb服务(OWS)即是典型的空间信息Web服务标准体系。

OGCWeb服务公共执行规范详细描述了OWS接口执行规范包含的公共方面:

操作请求和响应的内容

操作请求和响应包含的参数和数据结构

操作请求和响应的XML和KVP编码

这些规范目前包括网络地图执行规范(WMS)、网络特征数据执行规范(WFS)、网络覆盖执行规范(WCS)。

下面逐一为大家介绍。

WMS(WebMapService,网络地图执行规范)

Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图。

在WMS规范中将地图定义为地理数据可视的表现,WMS返回的不是地图数据,而是地图图象。

WMS规范定义了三个操作:

GetCapabilities操作返回服务级元数据,它是对服务信息内容和请求参数的一种描述,元数据使用XML形式文件表示;

GetMap操作根据客户端发出的请求参数在服务端进行检索,服务器返回一个地图图象,其地理空间参数和大小是已经明确定义的,返回的地图图象可以是GIF,JPEG,PNG或SVG格式的;

GetFeatureInfo操作根据用户请求的X,Y坐标或感兴趣的图层,返回这些特殊要素的信息,信息以HTML,GML或者ASCII格式表示。

GetCapabilities(必须)

该操作的目的在于获取服务元数据,元数据是对服务器信息内容和可接受的请求参数值的一种机器可读性(并且可以人读)描述。

GetCapabilities操作的参数

GetCapabilities操作的参数详解:

FORMAT:

该可选参数规定服务元数据的格式要求。

WMS服务器上GetCapabilities请求支持的值由服务元数据中的一个或多个元素列出.。

如果请求描述的格式不被服务器支持,服务器应该返回默认的text/xml格式。

VERSION:

确定请求服务的版本。

SERVICE:

该强制性参数指示哪个可用的服务类型将被激活,在WMS上当激活一个GetCapabilities时,值”WMS”就应该被使用。

REQUEST:

要激活GetCapabilities操作,值”GetCapabilities”就应该被用到。

UPDATESEQUENCE:

该可选参数是为维持缓冲区一致而设置的,它的值可以为一个代表一个符合ISO8601:

2004格式(原文附录D)的时间标签(timestamp)的integer、string或者其他string。

服务器可能包含一个UpdateSequence值于服务元数据中,如果这样,当Capablities被改变(.当新的maps添加到给服务中)的时候,这个值应该被增加。

客户端可能在其GetCapabilities请求中包含该参数。

GetMap(必须)

GetMap操作返回一幅地图(map),接收到GetMap请求后,WMS要么满足请求要么发送一个异常。

GetMap请求的参数

GetMap请求的参数详解:

LAYERS:

该参数值是一个逗号分隔的列表,列表元素为有效图层名称。

这些名字应该是在服务元数据中的元素中已经定义过的字符内容。

WMS在绘制map的时候,应该将该列表最左边的层放到层栈的最底部,下一个放在前一个的上面,依此类推。

其中可选的元素在服务元数据中为一个正数。

表明了客户端在一次GetMap请求中允许请求的最大图层数。

如果忽略了该元素,则服务器没有该限制。

STYLES:

以逗号分隔的列表形式表示的请求的每一图层的STYLE。

STYLE值应该有效,并且STYLE值与LAYERS参数值总是一一对应的。

所以,每个map都是按照LAYERS的STYLE绘制各个layer,而各个Layer的名称必须符合默认的混合形式,则在STYLE参数中应该用逗号来分隔一个空值(如”STYLE=style1,style2”),如果服务器为一个layer发布多个Style,而客户端发送了一个默认style的请求,选择哪个style作为默认值就是服务器的标准了。

元数据中styles的顺序并不能表明哪个为默认的值。

客户端开发人员应该最大限度地减少用户不注意地请求或无意识地获得扭曲的地图。

CRS:

CRS参数声明了应用到BBOX请求参数的层CRS。

该参数的值必须为所请求的服务器元数据中已经定义过或从请求层中继承过的.。

WMS不必支持所有的CRS,但是,对于其已经在服务元数据发布的CRS应该支持。

如果客户请求其不支持的CRS,服务器应该返回一个异常(code=”InvalidCRS”)。

如果WMS服务已经声明了一个层的CRS=CRS:

1,如前所述,表示该层没有定义好一个坐标参考系统,因此不能与其他层联合显示。

客户端应该在GetMap中指定CRS=CRS:

1,否则,服务器可能发送一个服务异常。

当CRS在请求中使用时,BBOX参数的单位应该为像素。

BBOX:

该参数允许客户请求一个特定的BoundingBox。

该参数的值为逗号分隔的一串实数列表,形如:

”minx,miny,maxx,maxy”,它们分部代表请求图层CRS下的区域坐标:

最小x、最小y、最大x、最大y。

其x、y轴的单位、方向、增量都在层CRS中定义。

BoundingBox和map像素矩阵之间的关系是BoundingBox包围在像素矩阵的外边,而不是通过地图周边像素的中心,在该内容中,单个像素描述地面的一个区域。

FORMAT:

该强制参数声明了地图的要求格式。

WMS服务器支持的GetMap请求格式值在服务元数据中以形式列出。

的整个MIME字符串值被用来表示FORMAT参数的值,而这个值没有默认值。

在HTTP环境下,MIME类型应该使用内容类型实体头文件设置为返回对象。

如果请求指定了一个服务器不支持的格式,服务器应该发送一个服务异常(code=”InvalidFormat”)。

WIDTH、HEIGHT:

该强制参数指定产生的地图整数值大小,单位为像素。

MapCS适用于map,WIDTH-1指定了MapCS中x轴方向的最大值,而HEIGHT-1则为y轴方向的最大值.。

如果请求的格式为picture,则返回的图片将不考虑MIME类型,准确地为指定的width和height像素值。

在这种情况下,如果BBOX的比率和width/height的比率不一致时,WMS将会拉伸返回的地图以使得最终像素能够在BBOX比率下自动生成。

换句话说,就是使得在一个输出像素不是方形的,或者拉伸图像区域到不同比率的设备上也能够使用该定义去请求一幅地图。

如果WIDTH/HEIGHT比率与X、Y以及像素尺寸的比率不一致,那么就会发生图像扭曲。

TRANSPARENT:

该可选参数定义地图背景是否透明,可取值:

”TRUE”和FALSE”,默认和参数缺省时取值:

FALSE.。

绘制透明像素地能力使得不同的地图请求可以被叠置生成一个复合地区。

强烈推荐每个WMS提供一种可以提供透明图层的格式以使得图层可以与其他图层叠置.。

注意:

image/gif格式具有透明性并且可以让通常客户完全显式。

image/png格式提供一个范围内的意义的点,或实体将不能设成透明的,而客户端可能仍然请求TRANSPARENT=TRUE当FORMAT参数包含一个图形元素格式,TRANSPARENT参数可能在请求中出现,但其设置值将会被WMS忽略。

BGCOLOR:

该可选参数为一个字符串,用来指定地图将要使用的背景色(无数据区)。

BGCOLOR通常的格式为一个RGB值的十六进制编码,其中对于每个颜色值red、green和blue使用两个十六进制字符,所以该值的范围为00到FF(十进制的0和255)。

其格式为oxRRGGBB,RRGGBB大小写都是允许的。

而”0x”必须为小写的”x”,如果该参数在请求中缺失,则默认的值为oxFFFFFF(对应的值为白色)。

当FORMAT值为图像格式时,服务器应该设置背景像素值为BGCOLOR值,当FORMAT的值为图形元素格式(它们没有显式的背景),或者图像格式时,WMS应该避免为前景元素使用BGCOLOR值,因为这样在该背景颜色下,它们将不可见。

当图层已经确定为不透明”opaque”时,地图上的重要点、实体将不显式任何背景。

GetFeatureInfo(可选)

GetFeatureInfo是一个可选操作。

它只支持可查询属性被定义或继承为“1”(真)的层。

客户端不得向其他层发出GetFeatureInfo要求。

如果一个WMS收到一个GetFeatureInfo请求,但不支持它,它会回应一个格式正确的服务异常反应(XML代码=OperationNotSupported)。

GetFeatureInfo操作设计的目的是为一个WMS的客户端提供更多返回地图请求的地图要素的信息。

GetFeatureInfo典型用例,一个用户看到一个地图请求响应,在地图上选择一个点(I,j)来获取更多信息。

基本操作为客户端提供指定哪个像元被访问,哪个层应该进行调查,信息应该返回什么样格式的功能。

因为WMS的协议是无状态的,对于WMS,GetFeatureInfo请求通过包括大部分原始GetMap请求参数(除了VERSION和REQUEST)表明用户正预览的是什么地图。

从GetMap请求下的空间范围信息((BBOX,,CRS,,WIDTH,,HEIGHT)来看,随着用户选择的I、J点的变化,WMS返回关于位置的附加信息。

GetFeatureInfo的请求参数

GetFeatureInfo的请求参数详解:

QUERY_LAYERS:

QUERY_LAYERS参数规定查询的图层。

它的值是一个以逗号分隔的一个或多个图层列表。

此参数应至少包含1个图层的名称,但也可以包含比原来的GetMap请求的层少。

如果在QUERY_LAYERS中规定查询的图层没有在WMS中的元数据中被定义,将返回服务异常(code=LayerNotDefined)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

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

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