GeoServer基础教程(五):使用GeoServer和OpenLayers发布地图服务

转载:https://ethanblog.com/tech/publish-wms-with-geoserver-and-openlayers.html

在前面几节的关于GeoServer的基础教程中,我们介绍了如何使用GeoServer发布地图数据等基本的服务器端的操作,这一节我们继续学习如何使用GeoServer和OpenLayers的结合来发布地图服务。

OpenLayers(http://openlayers.org)是一个专为Web GIS客户端开发提供的JavaScript类库包,用于实现标准格式发布的地图数据访问。OpenLayers 支持的地图来源包括Google Maps、Yahoo、 Map、微软Virtual Earth 等,用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers 中进行叠加。除此之外,OpenLayers实现访问地理空间数据的方法都符合行业标准。OpenLayers 支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范,可以通过远程服务的方式,将以OGC服务形式发布的地图数据加载到基于浏览器的OpenLayers客户端中进行显示。

使用开源的GeoServer和OpenLayers发布地图服务在Web GIS部署中比较常用。本文将结合GeoServer和OpenLayers发布一个地图服务示例。

大家可以下载我编写的示例程序文件作为学习参考。下载地址:http://pan.baidu.com/share/link?shareid=4130147131&uk=1746237888。下面是效果图:

GeoServer基础教程(五):使用GeoServer和OpenLayers发布地图服务

发布地图数据

要提供Web GIS服务,首要的是提供所需的地图数据,我们首先根据GeoServer基础教程(三):部署发布Shapefile地图数据一文所讲,部署好需要的地图数据。具体发布的地图数据大家可以使用文中提到的示例数据,也可以使用自己的地图数据。

我的示例数据使用的是同济大学校园地图,上文中的下载文件里并不包含地图数据,所以大家应该替换使用自己的地图数据。

编写网页html文件

网页的内容最终需要利用html展示出来,我们需要对html标记语言有基本的了解,如果需要对样式进行美化还需要css的相关知识,这里不再赘述,对次相关知识不熟悉的朋友,建议先阅读w3school提供的html基础教程css基础教程

此处对应index.html和style.css文件。

引入使用OpenLayers控制发布地图数据

OpenLayers实际上是一个专为Web GIS客户端开发提供的JavaScript类库包。如果需要真正用好这个工具,我们必须具备熟练的JavaScript相关知识。考虑到我们的应用比较简单,大家可以直接学习OpenLayers的用户文档(http://docs.openlayers.org)来熟悉JavaScript的语法知识等。

此处对应config.js文件。

继续美化或增强功能

至此,使用GeoServer和OpenLayers发布地图服务已经圆满完成了,不出意外的话,我们已经可以通过浏览器来访问刚刚发布的地图服务页面了。随着对GeoServer和OpenLayers的应用能力提升,大家可以根据自身需求,继续美化或者增强此地图服务的功能。

到这里,GeoServer基础教程系列已经基本完成,愿大家有所得。


        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/muzhaomingplay">
                <img src="https://profile.csdnimg.cn/C/6/3/3_muzhaomingplay" class="avatar_pic" username="muzhaomingplay">
            </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit "><a href="https://blog.csdn.net/muzhaomingplay" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}" target="_blank">One程序猿</a></span>
                    <!-- 等级,level -->
                                            <img class="identity-icon" src="https://csdnimg.cn/identity/blog2.png">                                            </div>
                <div class="text"><span>原创文章 0</span><span>获赞 5</span><span>访问量 3万+</span></div>
            </div>
                            <div class="right-message">
                                        <a class="btn btn-sm attented bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;extend1&quot;:&quot;个人信息已关注&quot;}">已关注</a>
                                                            <a href="https://im.csdn.net/im/main.html?userName=muzhaomingplay" target="_blank" class="btn btn-sm bt-button personal-letter">私信
                    </a>
                                </div>
                        </div>
                    
    </div>
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好,要使用OpenLayers 3加载天地图GeoServer发布地图,可以按照以下步骤进行: 1. 引入OpenLayers库和CSS文件 ```html <link rel="stylesheet" href="https://openlayers.org/en/v3.20.1/css/ol.css" type="text/css"> <script src="https://openlayers.org/en/v3.20.1/build/ol.js"></script> ``` 2. 创建地图容器和视图 ```html <div id="map" class="map"></div> <script> var map = new ol.Map({ target: 'map', view: new ol.View({ center: [0, 0], zoom: 2 }) }); </script> ``` 3. 加载天地图地图是由国家测绘局提供的在线地图服务,可以通过以下URL加载: ```javascript var tdtUrl = 'http://{1-4}.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}'; var tdtLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: tdtUrl }) }); map.addLayer(tdtLayer); ``` 其中,`{1-4}`表示使用1到4个子域名来加载地图,`vec_w`表示加载基础矢量地图,可以根据需要修改。 4. 加载GeoServer发布地图 GeoServer是一个开源的地理信息系统服务器,可以发布各种类型的地图服务。要加载GeoServer发布地图,可以使用以下代码: ```javascript var geoserverUrl = 'http://localhost:8080/geoserver/wms'; var layers = new ol.layer.Tile({ source: new ol.source.TileWMS({ url: geoserverUrl, params: {'LAYERS': 'workspace:layername'}, serverType: 'geoserver' }) }); map.addLayer(layers); ``` 其中,`workspace`表示工作区名称,`layername`表示图层名称,可以根据需要修改。 以上就是使用OpenLayers 3在线加载天地图GeoServer发布地图的基本步骤。需要注意的是,天地图GeoServer发布地图都需要在网络环境下才能加载成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值