概述
本节讲述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/