概述

本节讲述Geoserver的wfs服务,通过GetFeature接口实现feature的获取,查询等。

实现与结果

1、基本的获取方式

在一个GetFeature请求中,需包含以下参数:1、service,服务请求方式,固定为wfs;2、request,请求方法,固定为GetFeature;3、version,版本,可选1.1.0、2.0.0等;4、typename,为你需要请求的图层名称。一个请求的URL中包含了以上参数的时候,会返回正确的值。

示例url:

http://localhost:8088/geoserver/lzugis/wfs?service=WFS&request=GetFeature&version=1.1.0&typename=capital

返回结果:

2、输出格式

默认的输出方式如上图所示,是一个标准的xml格式,同时也支持别的格式的输出,包括json,jsonp,shape等。在本节重点讲述json的方式,所以以后的示例都是以json和xml两种方式展示结果的。如果是以json方式输出,需要加参数outputFormat=json。

示例URL:

http://localhost:8088/geoserver/lzugis/wfs?service=WFS&request=GetFeature&version=1.1.0&typename=capital&outputFormat=json

返回结果:

3、属性查询

在请求中,可通过cql_filter参数输入过滤条件,对图层进行查询,查询的格式可移步http://docs.geoserver.org/latest/en/user/tutorials/cql/cql_tutorial.html#cql-tutorial看看相关具体的说明,在此我简单的举两个例子来说明。

示例URL:

http://localhost:8088/geoserver/lzugis/wfs?service=WFS&request=GetFeature&version=1.1.0&typename=capital&outputFormat=json&cql_filter=name=’兰州’

返回结果:

示例URL:

——like ‘%州%’

http://localhost:8088/geoserver/lzugis/wfs?service=WFS&request=GetFeature&version=1.1.0&typename=capital&outputFormat=json&cql_filter=name+like+%27%25%E5%B7%9E%25%27

返回结果:

注意:

因为是在浏览器中请求,所以需要对字符做URLEncoder编码,不然会出错。

示例URL:

——in (‘兰州’,’北京’)

http://localhost:8088/geoserver/lzugis/wfs?service=WFS&request=GetFeature&version=1.1.0&typename=capital&outputFormat=json&cql_filter=name+in+%28%27%E5%85%B0%E5%B7%9E%27%2C+%27%E5%8C%97%E4%BA%AC%27%29

返回结果:

 转自:http://liubf.com/2018/08/23/geoserver%E6%9C%8D%E5%8A%A1wfs%E4%B9%8Bgetfeature/