Geoserver & Openlayers 学习笔记

Geoserver简介

Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS-TWMS服务器。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS-T)

 

GeoServer, 顾名思义,是一个Server. 它是开源的 ,允许用户查看和编辑地理数据。这是地理信息系统(GIS) 领域。 GeoServer 是符合OGC 规范的一个全功能的WFS-T WMS  server

 

GeoServer能够发布的数据类型:

地图或影象——应用WMS

实时数据——应用WFS

用户更新、删除和编辑的数据——应用WFS-T

 

相关概念的:

WMS: Web Map ServiceWeb地图服务

利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:

GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述;

GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的;

GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息

 

WFS: Web Feature ServiceWeb要素服务)

Web 地图服务返回的是图层级的地图影像,

Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作:

GetCapabilites    返回Web要素服务性能描述文档(用XML描述);

DescribeFeatureType    返回描述可以提供服务的任何要素 结构的XML文档;

GetFeature    一个获取要素实例的请求提供服务;

Transaction    为事务请求提供服务;

LockFeature    处理在一个事务期间对一个或多个要素类型实例上锁的请求。

 

WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。

 

WCSWeb Coverage ServiceWeb覆盖服务)

Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为覆盖(Coverage在网上相互交换。

网络覆盖服务由三种操作组成:GetCapabilitiesGetCoverageDescribeCoverageType

GetCapabilities 操作返回描述服务 和数据集的XML文档。

GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。

DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。

 

GML: Geography Markup Language. 一种用于描述地理数据的XML

 

OGC——Open Geospatial Consortium——开放地理信息联盟

 

总之 GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如: MapBuilder (for web pages), UDig, GVSig,等等。 对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

5d2a1bd81412813733fa1c2b.jpg.gif

如果你对GeoServer发出一个WMS请求,你就可能得到如下的一张图:


 

查看Demo

welcome界面中单击demo page链接,进入页面后单击WFS-T链接就可以启动一个名叫MapBuilder的基于Javascript的地图地图编辑器。启动 MapBuilder后我们可以看到一张样图,那就就从它开始吧!用其提供的工具对图进行修改。自己练习。

 

关于geoserver开发

geoserver只能用j2ee开发

geoserver是符合ogc   wms/wfs/wcs标准的地图服务器,建设一套完整的webgis系统还需要客户端配合,mapbuilderopenlayers是非常好的两个选择。对于较大的项目,空间数据库也是必不可少的,geoserver支持商业的oracledb2,开源的postgismysql

扯得更远一点,geoserver支持google   mapgoogle   earth

 

Geotools

外文官网 http://geotools.codehaus.org/

 

Geotools是开源的Java代码库,在GIS中提供对地理空间数据的标准操作。简单说,它就是一个中间件,提供的功能符合OGC规范,且与GeoAPI有密切的联系。它支持的数据格式有ShapefileGMLWFSPostGISOracle SpatialArcSDEMySQLGeoMediaMapInfo等。

利用Geotools能够实现:

格网覆盖Grid coverages——栅格数据,

坐标系统转换Coordinate Transformation

数据渲染Renderers

格式化Styling——符号化数据集等功能。

 

WFS地址

把下面地址中的HighwayInterchange改成自己创建的featuretype的名字,在浏览器中查看,WFSURL

 

http://localhost:8080/geoserver/wfs?request=getfeature&service=wfs&version=1.0.0&typename=States

 

 

下面地址的youtian改成自己的FeatureType名字,就是自己的WFS地址

 

http://localhost:8080/geoserver/wms/kml_reflect?layers=youtian

 

 

Openlayers dom结构


 

OpenLayers项目分析——(一)项目介绍

(OpenLayers JavaScript Mapping Library)

 

(一)项目介绍

网址:http://www.openlayers.org/

 

  OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGISWMSWFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。

 

  采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IEFF等)都支持DOM

 

  OpenLayers APIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax功能)。

 

  目前,OpenLayers所能够支持的Format有:XMLGMLGeoJSONGeoRSSJSONKMLWFSWKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。

 

  OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMSWFSGoogleMapKaMapMSVirtualEarthWorldWind等等。当然,也可以用简单的图片作为源。

 

第一次使用OpenLayers

 

  先到它的官方网站http://www.openlayers.org下载他的压缩包,解压后可以看到其中的一些目录和文件,拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js/lib/img在同一目录中即可)。 然后,创建一个index.html作为查看地图的页面,导入OpenLayers.js和你将要创建的js

 

  我们以加载WMSGML文件为例。 

 

   

  

你可能感兴趣的:(Geoserver & Openlayers 学习笔记)