使用HTTP访问WFS服务进行查询-WebGIS课程作业实录

这学期修了这一门课,写作业的时候,从网上找了很多资料,发现都讲的很笼统,或者没有解决老师布置的题目。

后来去翻阅OGC的官方文档,找到了很多有用且直观的例子。在这里先整理其他博主的文章精华,再列出自己的题目实例。

(只是为了记录自己的作业和相关的理解)

一、WFS支持的常见操作

  1. GetCapabilities —— 获取WFS服务的元数据(介绍服务中的要素类和支持的操作)
  2. DescribeFeatureType —— 获取WFS服务支持的要素类的定义(要素类的元数据,比如要素包含哪些字段)
  3. GetFeature —— 获取要素数据
  4. GetGmlObject —— 通过XLink获取GML对象
  5. Transaction —— 创建、更新、删除要素数据的事务操作
  6. LockFeature —— 在事务过程中锁定要素

二、WFS URL的结构

格式如下:

            http://服务器/services/<文件夹名称(如果适用)>/<服务名称>/<服务类型/WFSServer?

  • 服务器名称是 Web 服务器计算机的名称。
  • 端口号是您的 web 服务器计算机用于与其他计算机通信的端口。
  • 服务类型可以是 MapServer 或 GeoDataServer,这取决于您是从地图还是从地理数据库创建 WFS 服务。

三、作业题目:

1.查询名为“massgis:GISDATA.AQUIFERS_POLY”的图层/类性下,所有实例(实体/对象/要素)的指定(部分)Property字段。

http://giswebservices.massgis.state.ma.us/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&PROPERTYNAME=area_sq_ft&TYPENAMES=massgis:GISDATA.AQUIFERS_POLY

各参数说明:propertyName可指定输出的字段列表.

2.查询该图层所有要素,所有字段

http://giswebservices.massgis.state.ma.us/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=massgis:GISDATA.AQUIFERS_POLY

3.查询ID为GISDATA.AQUIFERS_POLY.122的要素的所有字段

http://giswebservices.massgis.state.ma.us/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=getfeature&FeatureID=GISDATA.AQUIFERS_POLY.122

4.查询ID为GISDATA.AQUIFERS_POLY.122的要素area_sq_ft字段

http://giswebservices.massgis.state.ma.us/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=getfeature&propertyname=area_sq_ft&RESOURCEID=GISDATA.AQUIFERS_POLY.122

5.查询满足area_acres字段值在150和200之间的前十个要素。(使用了Filter)

http://giswebservices.massgis.state.ma.us/geoserver/wfs?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=massgis:GISDATA.AQUIFERS_POLY&COUNT=10&FILTER=<Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><And><PropertyIsLessThan><PropertyName>area_acres</PropertyName><Literal>200</Literal></PropertyIsLessThan><PropertyIsGreaterThan><PropertyName>area_acres</PropertyName><Literal>150</Literal></PropertyIsGreaterThan></And></Filter>

FILTER详解:Filter是一种基于XML的并且符合OGC规范的语言。SLD用它来实现复杂的Rule选择。WFS在所有需要定位操作对象的地方都会使用Filter。Filter的作用是构建一个表达式,返回值就是Feature的集合,换句话说Filter就如他的名字一般为我们从一个集合中过滤出一个满足我们要求的子集。而过滤的方法就是Filter定义的操作符。Filter定义了三种操作符࿱

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值