OpenLayers学习笔记高级篇(四、地图开发实战之Geoserver配置与发布地图服务)

本节将讲解ol使用wfs同后台geoserver进行交互,从而实现要素的增删改查。由于geoserver需要服务器端,所以我们将从环境搭建开始讲解,使用公开的数据源,进行查询,修改,添加,删除操作的演示,使得大家最终学会。

1、Geoserver环境配置

由于wfs协议涉及到跨域的问题,在配置过程中,我们也将把跨域的环境配置好。虽然跨域的解决方式有很多,但此处选择一个稍微简单的方式,详见下面的具体步骤。

一、安装java环境,这个就不赘述了,网上一搜一大堆

二、下载安装TomCat,这个资源和教程网上也是一搜一堆,在此不再赘述!

三、安装Geoserver

此时,我们需要到GeoServer官网去下载geoserver,我选择了最新的2.15.1版本,由于我使用tomcat作为服务器,所以我选择下载Web Archive格式的geoserver-2.15.1-war.zip

下载后解压到得到war文件:geoserver.war,把该文件放置到tomcat目录下的webapps目录下,比如放置该文件后,我的路径为:H:\softs\apache-tomcat-8.0.53\webapps\geoserver.war

然后在命令行终端启动tomcat,可能需要稍微等待一下,因为要部署geoserver,待tomcat命令行终端启动完成,就可以打开浏览器输入http://localhost:8080/geoserver打开geoserver的管理页面,如下:

Tomcat启动成功页面:

Geoserver管理页面:

 

见到这个页面,也就安装成功了。如果没有出现该页面,请按照前面的步骤检查一下什么地方出问题了。

 2、跨域配置

由于tomcat从7.0.41版本开始就支持跨域了,我们下载的tomcat是8.0.53,自然就能很好的支持了,只需要进行下面的简单配置:

  • 找到geoserver的web.xml文件,我的电脑对应的路径为H:\softs\apache-tomcat-8.0.53\webapps\geoserver\WEB-INF\web.xml
  • 打开该文件,把下面的配置添加在该文件中:
    1. <filter>
    2. <filter-name>CorsFilter</filter-name>
    3. <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    4. </filter>
    5. <filter-mapping>
    6. <filter-name>CorsFilter</filter-name>
    7. <url-pattern>/*</url-pattern>
    8. </filter-mapping>

 

然后再重新启动tomcat即可去除跨域的问题!这样关于Geoserver的下载与安装配置就已经完成了,下一步,我们要进行数据的准备!

3、配置数据源

这里我主要是按照Geoserver官网上的来的,先看一下官网:

可以看出官网给的教程是发布一个shapeFile服务,正好也是我们常用的,所以我们就用它来作为实例!

我们先下载下来这个shapeFile文件。然后使用ArcGIS打开看一下这个数据如下图:

再来看一下数据的属性表信息:

下面就以我的计算机配置为例,进行说明:

  1. 下载后解压,把压缩包里面的nyc_roads.dbf, nyc_roads.prj, nyc_roads.shp, nyc_roads.shx放在目录H:\softs\apache-tomcat-8.0.53\webapps\geoserver\data\data\nyc_roads下,nyc_roads这个目录没有,就新建一个。

  2. 启动tomcat,在浏览器中打开geoserver的配置页面http://localhost:8080/geoserver,使用用户admin登录,密码为geoserver

  3. 创建工作区

点击添加新的工作区:

点击提交,我们新建的工作控件就出现在工作区了:

然后再创建数据存储:

 

点击新建数据存储,并选择矢量数据源格式:

点击保存后,然后默认新建图层:

然后再编辑图层:

最后点击页面最下方的保存按钮,就配置好了。

最后预览一下,点击左边的Layer Preview,在右边找到刚才创建的图层nyc_roads:nyc_roads,点击右边的OpenLayers,就可以打开新页面,显示预览结果。

然后预览看一下,看看是否与我们前面在ArcGIS中打开的一样:

可以看到是一样的!出现最后一个页面,就说明数据源配置好了!

数据源也配置好了,下面我们要开始正式的地图要素增删改查了!大家加油!

原文链接:加载失败,请重新获取