OpenLayers学习笔记(2)

OpenLayers学习笔记(2)

1. 准备工作

          下载postgres和postgis,并安装。postgres的安装比较简单,在windows下面直接运行postgres的windows安装向导程序即可,然后安装postgis。(注意如果数据库需要支持空间数据格式,那么数据库的模板要选择postgis)(因为很久以前在window下面安装的,所以有什么问题也记得不是很清楚了,如果有什么问题请给我留言,如果有时间我把postgres和postgis在windows和linux下面安装的过程整理一下)        postgis是开源数据库postgres的空间扩展,关于postgis和postgres的介绍可以到官方网站查看,在这里就不再介绍了。
       下载GeoServer,并安装。Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利用 Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改, 删除和新增的功能(利用WFS-T)。
       最后下载OpenLayers

2. 发布地图

        参考GeoServer发布shape数据的方法,发布一个postgis中的一个空间表。发布过程主要进行如下步骤:

  •  创建数据源:依次选择如下菜单,Config->Data->Stores->New,在新建数据源页面,选择数据源的类型为postgis,设置数据源的id为GeoServer_Tutorial。在数据源编辑页面分别设置postgis的一些连接参数,确认输入无误以后,确定。(注意别忘了应用,保存一下刚才的设置)
  • 创建要素类型:依次选择如下菜单,Config->Data->FeatureType->New,从列表中选择要素类型名称:GeoServer_Tutorial::[TableName],在要素类型编辑页面中要设置要素类型的SRS,这里我们设置为:4326(WGS84),点击generate让Geoserver计算要素类型的BoundBox,最后提交,同样应用,保存。

          这样一个地图就发布完成了(当然这里我们没有配置地图的显示样式,直接采用了GeoServer内置的显示样式)。选择Demo->Map Preview可以查看刚才发布的地图的显示效果。当然这里是使用MapBuilder来展示刚才我们发布的地图,下面我们用OpenLayers来展示一下我们刚才发布的地图。

3. 展示地图

            

function init(){
            
var map = new OpenLayers.Map(map);
            
var options = {maxResolution: auto, numZoomLevels: 10};
           
var my_wms = new OpenLayers.Layer.WMS(My WMS Road,
                    
http://localhost:8080/geoserver/wms
                    
{layers: topp:road_polyline}, options);
            map.addLayers([my_wms]);
            map.addControl(
new OpenLayers.Control.LayerSwitcher());
            map.zoomTo(
6);
            map.setCenter(
new OpenLayers.LonLat(116,39));
        }
         其实使用OpenLayers来展示WMS是非常简单的,通过上面的几行代码就搞定了,但是我开始的时候碰到了比较弱智的问题,我开始的时候没有指定地址的显示范围,所哟刚开始地图总是一篇空白,后来看图片的url才发现是是地图范围设置不正确导致的。

转载自:https://blog.csdn.net/zhaoxinyuan/article/details/1603210

You may also like...