geoserver扫盲 openlayers相关
转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255702.html
WMS: Web Map Service(Web地图服务 )
l 利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:
n GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述;
n GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的;
n GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息
WFS: Web Feature Service(Web要素服务)
l Web 地图服务返回的是图层级的地图影像,
l Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作:
n GetCapabilites 返回Web要素服务性能描述文档(用XML描述);
n DescribeFeatureType 返回描述可以提供服务的任何要素 结构的XML文档;
n GetFeature 一个获取要素实例的请求提供服务;
n Transaction 为事务请求提供服务;
n LockFeature 处理在一个事务期间对一个或多个要素类型实例上锁的请求。
WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。
WCS:Web Coverage Service(Web覆盖服务)
Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。
l 网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType:
n GetCapabilities 操作返回描述服务 和数据集的XML文档。
n GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。
n DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。
GML: Geography Markup Language. 一种用于描述地理数据的XML。
OGC——Open Geospatial Consortium——开放地理信息联盟
总之 , GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如: MapBuilder (for web pages), UDig, GVSig,等等。对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。
如果你对GeoServer发出一个WMS请求,你就可能得到如下的一张图:
查看Demo
在welcome界面中单击demo page链接,进入页面后单击WFS-T链接就可以启动一个名叫MapBuilder的基于Javascript的地图地图编辑器。启动 MapBuilder后我们可以看到一张样图,那就就从它开始吧!用其提供的工具对图进行修改。自己练习。
关于geoserver开发
geoserver只能用j2ee开发
geoserver是符合ogc wms/wfs/wcs标准的地图服务器,建设一套完整的webgis系统还需要客户端配合,mapbuilder和openlayers是非常好的两个选择。对于较大的项目,空间数据库也是必不可少的,geoserver支持商业的oracle、db2,开源的postgis、mysql。
扯得更远一点,geoserver支持google map和google earth。
Geotools
外文官网 http://geotools.codehaus.org/
Geotools是开源的Java代码库,在GIS中提供对地理空间数据的标准操作。简单说,它就是一个中间件,提供的功能符合OGC规范,且与GeoAPI有密切的联系。它支持的数据格式有Shapefile、GML、WFS、PostGIS、Oracle Spatial、ArcSDE、MySQL、GeoMedia、MapInfo等。
利用Geotools能够实现:
l 格网覆盖Grid coverages——栅格数据,
l 坐标系统转换Coordinate Transformation,
l 数据渲染Renderers,
l 格式化Styling——符号化数据集等功能。
WFS地址
把下面地址中的HighwayInterchange改成自己创建的featuretype的名字,在浏览器中查看,WFS的URL,
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 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。
采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IE,FF等)都支持DOM 。
OpenLayers APIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax功能)。
目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。
OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。当然,也可以用简单的图片作为源。
第一次使用OpenLayers:
先到它的官方网站http://www.openlayers.org下载他的压缩包,解压后可以看到其中的一些目录和文件,拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。 然后,创建一个index.html作为查看地图的页面,导入OpenLayers.js和你将要创建的js。
我们以加载WMS和GML文件为例。
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 5; //x-axis coodinate in map units
var lat = 40; //y-axis coordinate in map units
var zoom = 5; //number of zoom levels
var map, layer; //声明变量map、layer;等同于 var map = null; var layer = null;
map = new OpenLayers.Map('map');
//实例化一个地图类OpenLayers.Map
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
//以WMS的格式实例化图层类OpenLayers.Layer
map.addLayer(layer);
map.zoomToExtent(newOpenLayers.Bounds(-3.922119,44.335327,
4.866943,49.553833));
//在Map对象上加载Layer对象,并用map.zoomToExtent函数使地图合适地显示
map.addLayer(new OpenLayers.Layer.GML("GML", "gml/polygon.xml"));
//再在刚加载的WMS文件上,加载一GML文件
剩下的工作就是,加上一些控件OpenLayers.Control之类的东西,比如LayerSwitcher等。它们会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增加互动性和功能性。
当然,Openlayers中的东西远不止这些,至于它的框架分析、APIs实现机制,会在后续文章中说出。写这个的过程,也是一个学习的过程,其中难免有不妥之处,热烈欢迎大家批评指正,相互交流。
geoserver扫盲 openlayers相关的更多相关文章
- geoserver与OpenLayers配置
		geoserver与OpenLayers配置 目录 1 准备工作.... 4 1.1 需要用到的程序和资料... 4 2 地图格式转换方式(一 ... 
- 前端工作中用到的openlayers相关的公共方法
		/** * 获取地图上的图层对象 * @param map 地图对象 * @param layerName 实例化图层时的name * @return {null}*/ getLayerByLayer ... 
- Geoserver基本使用、WMS服务发布与OpenLayers测试
		1.Geoserver与OpenLayers的下载 Geoserver:http://geoserver.org/ OpenLayers:http://openlayers.org/ 2.安装部署Ge ... 
- [转]Geoserver实现WFS操作
		From:http://liushaobo2005.blog.163.com/blog/static/253056702011541462372/ wfs是OGC的标准规范,主要用于提供对矢量地理数据 ... 
- [转]openlayer+geoserver实现WFS操作
		From:http://liushaobo2005.blog.163.com/blog/static/253056702011541462372/ wfs是OGC的标准规范,主要用于提供对矢量地理数据 ... 
- GeoServer基础教程(一):环境搭建篇
		转自:http://imxz.me/tech/3sdev/installation-of-geoserver.html GeoServer的是一个基于Java的软件,它允许用户查看和编辑地理空间数据, ... 
- OpenLayers访问WTMS服务及添加Googlemap
		1.访问WMS服务 首先需要发布WMS服务,才能进行地图WMS服务访问.这里不说怎么发布WMS服务,直接看怎么调用,代码如下: 代码 Code highlighting produced by Act ... 
- geoserver集成以及部署arcgis server瓦片数据
		关注重点: 一般来说,geoserver是不支持arcgis server格式瓦片数据部署的,至少我本机的geoserver版本(2.8.5)以及之前的版本并没有集成进来,不知道目前官网的最新版是否支 ... 
- openlayers调用瓦片地图分析
		网上有诸多资料介绍openlayers如何调用百度地图或者是天地图等常见互联网地图,本文作者使用的是不是常见的互联网瓦片,现将调用过程进行整理与大家分享. 首先,openlayers就不赘述了(官网: ... 
随机推荐
- 【Linux工具】svn命令行使用实例
			引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn he ... 
- LinqToExcel常用对象
			1.ExcelQueryFactory对象(1)获取工作表名集合IEnumerable<string> GetWorksheetNames() //获取工作薄中的工作表名 foreach ... 
- C# 读取快捷方式指向的文件
			C# 读取快捷方式指向的文件 [Flags()] public enum SLR_FLAGS { SLR_NO_UI = 0x1, SLR_ANY_MATCH = 0x2, SLR_UPDATE = ... 
- Mysql ID重新排列
			我们经常会遇到,在删除数据库某条记录时,原来的ID排序会有间隔,比如删除了ID为8的数据,这个表的ID排序就会从7直接到9, 那我们如何解决这个ID重新排列的问题呢? 只需一下三步: 1.删除这个表的 ... 
- jenkins 重新设置 管理员密码
			由于服务器瘫痪,修好之后经常不上,就把jenkins的管理密码忘掉了. 查阅了网上所有方案之后发现没有一个 能正确修改密码的,特此列出下列网上的方法 第一.设成无需密码验证的(网上有教程,不过并不能修 ... 
- jQuery编写插件--封装全局函数的插件(一些常用的js验证表达式)
			上一篇写到了jQuery插件的3种类型,介绍了第一种类型的写法--封装jQuery对象的方法插件.这一篇要介绍第二种插件类型:封装全局函数的插件:这类插件就是在jQuery命名空间内部添加函数:这类插 ... 
- [Linux/Ubuntu] vi/vim 使用方法讲解(转载)
			转自:http://www.cnblogs.com/emanlee/archive/2011/11/10/2243930.html vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统 ... 
- Qt 5 如何修改打包好的应用程序图标
			修改的方法是:首先准备个ICO图标.例如:A.ico,网上有很多图标文件.用记事本新建个txt里面就写一行:IDI_ICON1 ICON DISCARDABLE "A.ico" 保 ... 
- iOS 页面间传值 之 单例传值 , block 传值
			ios 页面间传值有许多,前边已经分享过属性传值和代理传值,今天主要说一下单例传值和 block 传值 单例传值:单例模式一种常用的开发的模式,单例因为在整个程序中无论在何时初始化对象,获取到的都是同 ... 
- 关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“
			今天学习了下man,有关详细资料参考:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html toor@door:/usr/sh ... 
