IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> WFS地图服务 -> 正文阅读

[大数据]WFS地图服务

1. WFS地图服务

OGC的WMS和WMTS规范都是有关空间数据显示的标准,而WFS(Web Feature Service)则允许用户在分布式的环境下通过HTTP对空间数据进行增、删、改、查。

具体来说,WebGIS服务器除了能够返回一张张地图图像之外,还可以返回绘制该地图图像所使用的真实地理数据。用户利用这些传输到客户端的地理数据可以进行数据渲染可视化、空间分析等操作。而前后端的这种数据交互就是基于WFS规范的。

那么也就能很清楚的说明WMS与WFS之间的区别了。WMS是由服务器将地图图像发送给客户端,而WFS是服务器将矢量数据发送给客户端。也就是在使用WMS时地图由服务器绘制,在使用WFS时地图由客户端绘制。另外最最重要的,使用WFS可以对WebGIS服务器中的地理数据(存储在空间数据库中)直接进行增、删、改、查。

2. WFS的种类与操作

WFS服务一般支持如下功能:

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

根据依据这些功能的支持与否,可以将WFS分为3类:

  • Basic WFS —— 必须支持GetCapabilities、DescribeFeature Type、GetFeature功能
  • XLink WFS —— 必须在Basic WFS基础上加上GetGmlObject操作
  • Transaction WFS —— 也称为WFS-T,必须在Basic WFS基础上加上Transaction功能以及支持编辑数据,另外也可以加上GetGmlObject或LockFeature功能

3. 调用示例汇总

3.1. ArcGIS Server

3.1.1. GetCapabilities

此请求将通过服务以 GML 格式返回所有可用的要素类型与功能。要使用 GetCapabilities 操作,请复制 WFS 服务 URL 并将其粘贴到地址栏中,然后在 URL 末尾添加 ?request=getcapabilities。


http://192.9.100.194:6080/arcgis/rest/services/ArcGISService_wfs/MapServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities

3.1.2. MapServer获取基本信息


http://192.9.100.194:6080/arcgis/rest/services/ArcGISService_wfs/MapServer/0

http://192.9.100.194:6080/arcgis/rest/services/ArcGISService_wfs/MapServer/0?f=pjson

3.1.3. DescribeFeatureType

该请求描述了有关 WFS 服务中一个或多个要素的字段信息。这包括字段名称、字段类型、允许的最小与最大字段值以及在要素类或者表的字段上所设置的任何其他限制。

http://192.9.100.194:6080/arcgis/services/ArcGISService_wfs/MapServer/WFSServer?SERVICE=WFS&VERSION=2.0.0&REQUEST=DescribeFeatureType

在这里插入图片描述

  • 添加过滤器

通过将下列带有要素类型名称或表名称的请求添加到 URL 的末尾,您也可以指定您需要其字段信息的单个要素类或表:?SERVICE=WFS&REQUEST=DescribeFeatureType&TypeName=&VERSION=2.0.0。

了解有关 WFS 服务可用的不同过滤器的详细信息,请参阅在 Web 浏览器中与 WFS 服务进行通信。

在下例中,DescribeFeatureType 请求用于识别名为 XZQ 的要素类型的字段信息。


http://192.9.100.194:6080/arcgis/services/ArcGISService_wfs/MapServer/WFSServer?SERVICE=WFS&VERSION=2.0.0&REQUEST=DescribeFeatureType&TYPENAME=XZQ

在这里插入图片描述

3.1.4. GetFeature

该请求通过 WFS 服务返回有关可用的指定要素类型的信息。

要在 Web 浏览器中使用 GetFeature 操作,请复制 WFS URL 并将其粘贴到地址栏中,然后在 URL 末尾添加?request=getFeature&typename=<在此输入要素类型>。这将返回有关此要素类型中各个要素和行的所有属性和几何信息。


http://192.9.100.194:6080/arcgis/services/ArcGISService_wfs/MapServer/WFSServer?service=WFS&request=GetFeature&version=1.1.0&typename=XZQ

http://192.9.100.194:6080/arcgis/services/ArcGISService_wfs/MapServer/WFSServer?service=WFS&request=GetFeature&version=1.1.0&typename=XZQ&srsname=EPSG:4529&BBOX=41409557.961,4105360.884


在这里插入图片描述

3.2. GeoServer

可参考 https://docs.geoserver.org/latest/en/user/services/wfs/index.html

如何使用GeoServer发布WFS服务请参考:

https://zhuanlan.zhihu.com/p/150262867
https://www.osgeo.cn/tutorial/kc490

3.2.1. GetCapabilities 获取元数据

在这里插入图片描述

示例:


-- 获取本机安装的GeoServer中WFS服务的元数据:

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities


3.2.2. DescribeFeatureType 获取要素类的元数据

示例:


-- 获取本机GeoServer中guangdong:gd_roads要素类的元数据:

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=DLTB

3.2.3. GetFeature 获取要素数据

示例:


-- cite:DLTB要素类的要素ID为DLTB.1的要素,返回数据格式指定为json:

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=DLTB&OUTPUTFORMAT=application/json&FEATUREID=DLTB.1

-- 返回本机GeoServer的cite:DLTB要素类中的10个要素,返回数据格式指定为json:

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=DLTB&OUTPUTFORMAT=application/json&MAXFEATURES=10

-- 返回本机GeoServer的cite:DLTB要素类中的要素,返回数据格式指定为json:如果不指定MAXFEATURES则为最大
http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=DLTB&OUTPUTFORMAT=application/json

在这里插入图片描述

  • 属性查询

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


http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=DLTB&OUTPUTFORMAT=application/json&cql_filter=DLBM='0307'

http://192.9.100.194:8086/geoserver/cite/wfs?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=DLTB&OUTPUTFORMAT=application/json&cql_filter=DLBM='0307'

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:36:52  更:2021-09-04 17:39:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:07:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码