本节将讲解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 - 打开该文件,把下面的配置添加在该文件中:
<filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
然后再重新启动tomcat即可去除跨域的问题!这样关于Geoserver的下载与安装配置就已经完成了,下一步,我们要进行数据的准备!
3、配置数据源
这里我主要是按照Geoserver官网上的来的,先看一下官网:

可以看出官网给的教程是发布一个shapeFile服务,正好也是我们常用的,所以我们就用它来作为实例!
我们先下载下来这个shapeFile文件。然后使用ArcGIS打开看一下这个数据如下图:

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

下面就以我的计算机配置为例,进行说明:
-
下载后解压,把压缩包里面的
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这个目录没有,就新建一个。 -
启动tomcat,在浏览器中打开geoserver的配置页面
http://localhost:8080/geoserver,使用用户admin登录,密码为geoserver
-
创建
工作区:

点击添加新的工作区:

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

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



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

然后再编辑图层:

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

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

可以看到是一样的!出现最后一个页面,就说明数据源配置好了!
数据源也配置好了,下面我们要开始正式的地图要素增删改查了!大家加油!
6551



被折叠的 条评论
为什么被折叠?



