OPPO R11t rootR11t手机2018年多少钱

OpenLayers调用ArcGIS Server发布的WFS服务_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
OpenLayers调用ArcGIS Server发布的WFS服务
上传于|0|0|文档简介
&&OpenLayers调用ArcGIS Server发布的WFS服务详细解析,并附插图。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢声明:本站内容部分源于网络转载,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。
如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况, 请联系本站,
Copyright (C)
| 欢迎来到杭州厨师培训ArcGIS查询WFS服务解决方案_文档下载
亿万文档 免费下载
当前位置: &
& ArcGIS查询WFS服务解决方案
ArcGIS查询WFS服务解决方案
WFS服务查询方法
ArcGIS访问WFS服务
ESRI中国(北京)有限公司 广州办事处
OGC全称Open Geospatial Consortium,是一个非盈利的、国际化的、自愿协商的标准化组织,它的主要目的就是制定与空间信息、基于位置服务相关的标准。这些标准就是OGC的“产品”,而这些标准的用处就在于使不同厂商、不同产品之间可以通过统一的接口进行互操作。
这些标准中,一般我们接触的都集中在数据交换和服务互操作方面,比如GML、KML和WFS、WMS等,其实这也是一些标准存在意义较大的场合。
WFS(OpenGIS® Web Feature Service)当前版本是1.1.0。WFS标准定义了一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据行查询、编辑等操作。
WFS服务要求服务的接口必须由XML描述,另外数据交互必须由GML进行,数据过滤采用CQL语言。
当一个客户端想要访问WFS服务时,一般会涉及到以下的流程:
1.通过操作获取WFS服务支持的操作和要素类(Feature Type,可以理解为WFS中的数据集)。
2.(可能)通过操作获取WFS服务支持的要素类的定义。
3. 客户端发送某个操作的请求。
4. WFS服务处理请求。
5. WFS服务返回处理的结果和状态。
上面几个步骤中所提到的“操作”包括:
1. GetCapabilities(获取服务中的要素类及支持的操作)
2. DescribeFeatureType(描述要素类的信息)
Word文档免费下载: (下载1-19页,共19页)
ArcGIS Server WFS 服务发布_计算机软件及应用_IT/计算机_专业资料。ArcGIS Server WFS 服务发布教程 作者:ESRI
摘要: 本教程介绍了如何使用 ArcMap 将...天地图数据解决方案_天文/地理_自然科学_专业资料。...查询、搜索、 量算,以及路线规划等各类应用;也可以...ArcGIS 10.1 服务接口 WFS-G CSW 3 电子地图制作...15.wfs查询_天文/地理_自然科学_专业资料。北风网项目培训基于OpenScales开发的地图...ArcGIS 10中WFS缓存问题... 9页 免费 Wfs服务标准 6页 1下载券喜欢...查询得到,如下图所示: 3、使用其来添加 ArcGIS ...启动服务, 这时 WFS 服务有效, 同样你也可以直接...为我们考虑到了并发访问的问题,它 提出的解决方案就...WFS 服务也支持过滤器,由此用户可以在数据上执行空间查询和属性查询。因此,在...在 ArcGIS Server 管理器中服务选项卡下,单击管理服务。 2. 单击服务位置下拉...WFS 服务也支持过滤器,由此用户可以在数 据上执行空间查询和属性查询。 Web ...URL 示例: 示例: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/Geo...ArcGIS Server 中的各种服务 使用服务通过服务可以在...WFS 使用文档中的图层创建一个与 Open Geospatial ...这些都需要一个特殊的 geocoding 解决方案。 可以...Geometry Service Geoprocessing Service Network Analysis Service √√√ WMS/WFS/WCS/KML × × √ ArcGIS Server的框架 ArcGIS Server 是非常开放的 ?Web REST...ArcGIS 10中WFS缓存问题的解决方法与原理_文学_高等...但笔者查了很多资料都没能查到 FME 中默认的过期...当再次访问该服务时,ArcGIS Server 会重新从数据源...(10.1) 客户端 渲染要素 几何图形 属性 查询 Add...完美的基于Web的编辑解决方案 用于分析与处理的 GP ...Bug fixes WFS ArcGIS OGC 支持之路 9.2 C 10.1...查询得到,如下图所示: 3、使用其来添加 ArcGIS ...启动服务, 这时 WFS 服务有效, 同样你也可以直接...为我们考虑到了并发访问的问题,它 提出的解决方案就...您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
ArcGIS查询WFS服务解决方案..docx 20页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:150 &&
ArcGIS查询WFS服务解决方案.
你可能关注的文档:
··········
·········
ArcGIS访问WFS服务ESRI中国(北京)有限公司广州办事处肖干林一、概述OGC全称OpenGeospatialConsortium,是一个非盈利的、国际化的、自愿协商的标准化组织,它的主要目的就是制定与空间信息、基于位置服务相关的标准。这些标准就是OGC的“产品”,而这些标准的用处就在于使不同厂商、不同产品之间可以通过统一的接口进行互操作。这些标准中,一般我们接触的都集中在数据交换和服务互操作方面,比如GML、KML和WFS、WMS等,其实这也是一些标准存在意义较大的场合。WFS(OpenGIS?WebFeatureService)当前版本是1.1.0。WFS标准定义了一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据迚行查询、编辑等操作。WFS服务要求服务的接口必须由XML描述,另外数据交互必须由GML进行,数据过滤采用CQL语言。当一个客户端想要访问WFS服务时,一般会涉及到以下的流程:1.通过操作获取WFS服务支持的操作和要素类(FeatureType,可以理解为WFS中的数据集)。2.(可能)通过操作获取WFS服务支持的要素类的定义。3.客户端发送某个操作的请求。4.WFS服务处理请求。5.WFS服务返回处理的结果和状态。上面几个步骤中所提到的“操作”包括:1.GetCapabilities(获取服务中的要素类及支持的操作)2.DescribeFeatureType(描述要素类的信息)3.GetFeature(获取要素)4.GetGmlObject(通过XLink获取GML对象)5.Transaction(创建、更新、删除数据的事务操作)6.LockFeature(在事务过程中锁定要素)但是,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的操作不同,WFS可以分为3类:1.BasicWFS(就是最常被提及的WFS,必须支持GetCapabilities/DescribeFeatureType/GetFeature操作,在功能上意味着提供一个只读的数据服务)2.XLinkWFS(必须在BasicWFS基础上加上GetGmlObject操作)3.TransactionWFS(也有称为WFS-T,必须在BasicWFS基础上加上Transaction操作以支持编辑数据,另外也可以加上GetGmlObject/LockFeature操作)。详细OGC标准说明和WFS各类方法说明见(《OGC标准介绍.pdf》)资料。以下演示使用到的环境:Windows7ArcGIS10ArcGISAPIForFlex2.3二、ArcGISServer构建WFS在研究GIS访问WFS之前,需要有相关的WFS地图服务可以使用。通过ArcGISServer软件可以构建OGC标准的地图服务,如:WMS和WFS服务,供给其他客户端使用,其构建过程如下:1、首先使用ArcGISDesktop的ArcMap软件制作需要发布的地图内容,包括:添加需要发布的地图图层数据,并设置相应的符号、颜色、大小等信息,然后保存为MXD文档(名称如:demo.mxd),如下图:2、在制作好地图文档后,使用ArcCatalog软件将该文档发布为ArcGISServer的地图服务,如下图:第一步打开ArcCatalog软件,并找到“GISServer”目录下的“AddArcGISServer”,然后双击,如下图:选择“ManageGISServices”选项,然后点击“下一步”按钮,如下图:然后在“HostName”输入安装有ArcGISServer的服务器名称(如:XGLESRI),并点击“Finish”按钮完成增加ArcGISServer管理。如下图:第二步,发布地图文档,选择制作好的地图文档(如:demo.mxd),然后点击鼠标右键,选择“PublishtoArcGISServer”,如下图:设置发布的服务信息(如:服务名称,服务所在目录等),如下图:点击“下一步”按钮,选择地图服务类型(选择WFS和WMS),如下图:点击“下一步”按钮,完成发布服务过程,如下图:点击“Finish”按钮,然后可以在第一步增加的GISServer目录下出现刚才发布的地图服务,如下图:这样可以使用其他客户端访问刚才发布的“demo”服务(该服务具有WMS和WFS服务类型)。可以直接在浏览器中访问WFS服务,查看器返回的结果,在浏览器地址栏中输入http://localhost/ArcGIS/services/demo/MapServer/WFSServer?request=Getfeature&service=WFS&typename=cities,如下图:三、构建WFS服务查询语句使用GIS客户端访问和查询WFS服务,需要对查询WFS服务的查询
正在加载中,请稍后...当前位置: >>
ArcGIS查询WFS服务解决方案
ArcGIS 访问 WFS 服务ESRI 中国(北京)有限公司 广州办事处 肖干林一、概述OGC 全称 Open Geospatial Consortium,是一个非盈利的、国际化的、自愿 协商的标准化组织, 它的主要目的就是制定与空间信息、基于位置服务相关的标 准。这些标准就是 OGC 的“产品”,而这些标准的用处就在于使不同厂商
、不同 产品之间可以通过统一的接口进行互操作。 这些标准中, 一般我们接触的都集中在数据交换和服务互操作方面, 比如GML、 KML和WFS、WMS等,其实这也是一些标准存在意义较大的场合。 WFS(OpenGIS? Web Feature Service)当前版本是1.1.0。WFS标准定义了 一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据行查询、 编辑等操作。 WFS 服务要求服务的接口必须由 XML 描述,另外数据交互必须由 GML 进行, 数据过滤采用 CQL 语言。 当一个客户端想要访问WFS服务时,一般会涉及到以下的流程: 1.通过操作获取WFS服务支持的操作和要素类(Feature Type,可以理解为 WFS中的数据集)。 2.(可能)通过操作获取WFS服务支持的要素类的定义。 3. 客户端发送某个操作的请求。 4. WFS服务处理请求。 5. WFS服务返回处理的结果和状态。 上面几个步骤中所提到的“操作”包括: 1. GetCapabilities(获取服务中的要素类及支持的操作) 2. DescribeFeatureType(描述要素类的信息) 3. GetFeature(获取要素) 4. GetGmlObject(通过XLink获取GML对象) 5. Transaction(创建、更新、删除数据的事务操作) 6. LockFeature(在事务过程中锁定要素) 但是,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的 操作不同,WFS 可以分为 3 类: 1. Basic WFS(就是最常被提及的WFS,必须支持GetCapabilities/ DescribeFeatureType/ GetFeature操作,在功能上意味着提供一个只读的数据 服务) 2. XLink WFS(必须在Basic WFS基础上加上GetGmlObject操作) 3. Transaction WFS(也有称为WFS-T,必须在Basic WFS基础上加上 Transaction操作以支持编辑数据,另外也可以加上GetGmlObject/LockFeature 操作)。 详细OGC标准说明和WFS各类方法说明见(《OGC标准介绍.pdf》)资料。 以下演示使用到的环境: Windows 7 ArcGIS 10 ArcGIS API For Flex 2.3二、ArcGIS Server 构建 WFS在研究 GIS 访问 WFS 之前, 需要有相关的 WFS 地图服务可以使用。 通过 ArcGIS Server 软件可以构建 OGC 标准的地图服务,如:WMS 和 WFS 服务,供给其他客户 端使用,其构建过程如下: 1、首先使用 ArcGIS Desktop 的 ArcMap 软件制作需要发布的地图内容,包 括:添加需要发布的地图图层数据,并设置相应的符号、颜色、大小等信息,然 后保存为 MXD 文档(名称如:demo.mxd) ,如下图: 2、在制作好地图文档后,使用 ArcCatalog 软件将该文档发布为 ArcGIS Server 的地图服务,如下图:第一步打开 ArcCatalog 软件, 并找到 “GIS Server” 目录下的 “Add ArcGIS Server” , 然后双击,如下图: 选择“Manage GIS Services”选项,然后点击“下一步”按钮,如下图:然后在“Host Name”输入安装有 ArcGIS Server 的服务器名称(如:XGLESRI) , 并点击“Finish”按钮完成增加 ArcGIS Server 管理。如下图: 第二步,发布地图文档,选择制作好的地图文档(如:demo.mxd),然后点击鼠 标右键,选择“Publish to ArcGIS Server” ,如下图:设置发布的服务信息(如:服务名称,服务所在目录等) ,如下图: 点击“下一步”按钮,选择地图服务类型(选择 WFS 和 WMS) ,如下图:点击“下一步”按钮,完成发布服务过程,如下图:点击“Finish”按钮,然后可以在第一步增加的 GIS Server 目录下出现刚才发 布的地图服务,如下图:这样可以使用其他客户端访问刚才发布的“demo”服务(该服务具有 WMS 和 WFS 服务类型)。 可以直接在浏览器中访问 WFS 服务,查看器返回的结果,在浏览器地址栏中输入 http://localhost/ArcGIS/services/demo/MapServer/WFSServer?request=Get feature&service=WFS&typename=cities,如下图: 三、构建 WFS 服务查询语句使用 GIS 客户端访问和查询 WFS 服务,需要对查询 WFS 服务的查询方式进行 构建,并对 WFS 查询语句表达方式进行了解。但首先需要了解 WFS 查询谓词(空 间和属性)的含义: 首先介绍空间关系谓词,包括: Disjoint, Touches, Crosses, Within, Overlaps, Contains, Intersects, Equals, DWithin, Beyond, BBOX。前面八 个是 OGC 定义的空间关系谓词,其解释如下: (1)Disjoint 任意给两个空间实体 a 和 b(拓扑闭合的):a.disjoint(b) (2)Touches touch 关系适合于面/面、线/线、线/面、点/面、点/线间的相互关系,但点/ 点间没有定义这种关系。对于满足要求的空间实体 a 和 b: a.touch(b) (Ia∩Ib= ?)∧(a∩b≠?) Ia∩Ib=?touch 关系的几个例子如图 2 所示:图 2 Touch 关系的例子 (3)Crosses crosses 关系适用于点/线、点/面、线/线及线/面间关系。令 dim(a)表示空 间对象 a 的维度,则 crosses 关系定义为: a.crosses(b) (dim(I(a)∩I(b))&max(dim(I (a)),dim(I(b))))∧(a∩b) ≠a∧(a∩b) ≠b crosses 关系的几个例子如图 3 所示:图 3 Cross 关系的例子 (4)Within within 关系定义为: a.within(b) (a∩b)=a∧(I(a)∩I(b)) ≠? overlaps 的几个例子如图 4 所示:图 4 Within 关系的例子 (5)Overlaps overlaps 关系适用于面/面、线/线和点/点关系,定义如下: a.overlaps(b) (dim(I(a))=dim(I(b))=dim(I(a)I(b)))∧(a∩b≠a) ∧(a∩b≠b) overlaps 的几个例子如图 5 所示:图 5 Overlaps 关系的例子 除了上述 5 个关系,为了使用的方便,还定义了以下几个关系: (6)Contains: a.contains(b) b.within(a)(7)Intersects: a.intersects(b) span style=&mso-spacerun: yes&&a.disjoints(b) (8)Equals: a.equals(b) a.within(b)∧b.within(a)后面三个是 WFS 定义的空间关系谓词。DWithin 可以查询一个圆形范围内的 要素,需要给一个距离参数。BBOX 查询矩形范围内的要素。 属性查询类似于数据库 SQL 语句, 提供如下属性比较谓词: Equal, NotEqual, Less, Greater, LessOrEqual, GreaterOrEqual, Like, IsNull, Between。 ①Equal:等于。 ②NotEqual:不等于。 ③Less:小于。 ④Greater:大于。 ⑤LessOrEqual:小于等于。 ⑥GreaterOrEqual:大于等于。 ⑦Like: 相似。 使用通配符“*”表示任意数量的字符, “?”表示一个字符。 ⑧IsNull:为空,字段值为空。 ⑨Between:介于两者之间。3.1、属性查询语句可以直接通过写查询语句,实行 WFS 查询操作。这样您就需要知道 WFS 查询 语句如何编写。WFS 查询条件中 And、Or、Not 这三个逻辑判断谓词需要使用&× ×&&/××&的形式将条件包含其中,这一点和 SQL 差异比较大。SQL 语句:条件 1 And 条件 2 ,WFS 语句是 &And& 条件 1 条件 2 &/And&。 以下说明每种属性比较谓词如何写成 WFS 查询条件: 1)、Equal(=):第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsEqualTo&&PropertyName&%s&/PropertyName&&Literal&%s&/Litera l&&/PropertyIsEqualTo&; 2)、NotEqual(&&):第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsNotEqualTo&&PropertyName&%s&/PropertyName&&Literal&%s&/Lit eral&&/PropertyIsNotEqualTo&; 3)、Less(&):第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsLessThan&&PropertyName&%s&/PropertyName&&Literal&%s&/Liter al&&/PropertyIsLessThan&; 4)、Greater(&):第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsGreaterThan&&PropertyName&%s&/PropertyName&&Literal&%s&/Li teral&&/PropertyIsGreaterThan&; 5)、LessOrEqual(&=):第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsLessThanOrEqualTo&&PropertyName&%s&/PropertyName&&Literal& %s&/Literal&&/PropertyIsLessThanOrEqualTo&; 6)、GreaterOrEqual(&=):第一个%s 填写字段名称,第二个%s 填写字段 值: &PropertyIsGreaterThanOrEqualTo&&PropertyName&%s&/PropertyName&&Liter al&%s&/Literal&&/PropertyIsGreaterThanOrEqualTo&; 7)、Like:第一个%s 填写字段名称,第二个%s 填写字段值: &PropertyIsLikewildCard=&*& singleChar=&?& escapeChar=&\&&&PropertyName&%s&/PropertyName&&Literal&%s&/Literal&&/ PropertyIsLike&; 8)、IsNull:第一个%s 填写字段名称: &PropertyIsNull&&PropertyName&%s&/PropertyName&&/PropertyIsNull&; 9)、 Between: 第一个%s 填写字段名称, 第二个%s 填写字段值下限, 第三个%s 填写字段值上限: &PropertyIsBetween&&PropertyName&%s&/PropertyName&&LowerBoundary&%s&/ LowerBoundary&&UpperBoundary&%s&/UpperBoundary&&/PropertyIsBetween&; 综上所述,例子中属性查询语句部分可以直接写成:http://localhost/ArcGIS/services/DemoWFS/MapServer/WFSServer?request=Getfeature&ser vice=WFS&typename=Tbeijing_qiao&Filter=&ogc:Filter&&ogc:And&&ogc:PropertyIsLike wildCard='*' singleChar='?' escapeChar=''&&ogc:PropertyName&name&/ogc:PropertyName&&ogc:Literal&*河 *&/ogc:Literal&&/ogc:PropertyIsLike&&ogc:PropertyIsEqualTo&&ogc:PropertyName&class &/ogc:PropertyName&&ogc:Literal&2&/ogc:Literal&&/ogc:PropertyIsEqualTo&&/ogc:And&& /ogc:Filter&WFS 的“Filter”就相当于 SQL 中的“where”。从上述语句看出,其实 SQL 的 where 查询语句为:name like '%河%' and class = 2。而在进行 WFS 查询时, 其查询语句为上述结构,并且构建时需要带“ogc”标识,要不然就无法正常查 询了。 从上述 WFS 过滤查询语句与 SQL 查询语句对比,可以看出两者之间的差异非 常大, 这样我们就需要了解怎样将 SQL 的 where 查询语句解析为 WFS 过滤查询语 句,解析代码详见代码文件。3.2、空间查询语句同样, 可以使用空间查询方式进行 WFS 服务的查询,下面介绍空间查询语句如何 编写。 需要注意的是由于 WFS 坐标显示为 “40.151, 116.527” , 而我们在 ArcMap 查看坐标显示是“116.527,40.151”,所以在填写坐标时需要将从地图上获取 到 XY 坐标顺序进行反转为 YX。在某些地理坐标系(例如 WGS 84)中返回的要 素具有默认的纬度、经度 (y,x) 的轴顺序。这一点符合 WFS 1.1 规范。如果某 些 WFS 客户端希望坐标以经度、 纬度 (x,y) 的轴顺序返回。 要使用这些客户端, 您可将服务的轴顺序设置为经度、纬度。以下描述了设置该属性的方法: 1. 以管理员的身份登录到运行 ArcGIS Server 的计算机。 2. 关闭 ArcGIS Server。 3. 转到服务配置文件的位置。 例如, 如果 ArcGIS Server 安装在 c:\arcgis 中,则请转到 c:\arcgis\server\user\cfg。 4. 在文本编辑器中打开您的服务的配置文件(例如 myservice.cfg)。 5. 在 WFS 部分中,将以下内容添加到属性: &AxisOrderWFS11&longlat&/AxisOrderWFS11&。例如:&Extension& &TypeName&WFSServer&/TypeName& &Enabled&true&/Enabled& &Properties& &AxisOrderWFS11&longlat&/AxisOrderWFS11& &CustomGetCapabilities&false&/CustomGetCapabilities& &EnableTransactions&false&/EnableTransactions& &Name&wfs_WFSTest_ras&/Name& &OnlineResource&http://bobmk/arcgis/services/wfs/WFSTest_ras/MapServer /WFSServer&/OnlineResource& &AppSchemaURI&http://bobmk/arcgis/services/wfs/WFSTest_ras/MapServer/W FSServer&/AppSchemaURI& &AppSchemaPrefix&wfs_WFSTest_ras&/AppSchemaPrefix& &/Properties& &Info& &WebEnabled&true&/WebEnabled& &/Info& &/Extension& 6. 启动 ArcGIS Server。 从服务中请求的地理坐标的要素现在以经度、纬度的轴顺序返回。请注意轴顺序 属性仅适用于带地理坐标的要素。带有投影坐标的要素始终以 x,y 的轴顺序返 回。 以下列举说明空间比较谓词如何写成 WFS 查询条件: 1)、Equals:第一个%s 填写图形字段名称(如:shape),第二个%f,%f 填 写图形的坐标值: &ogc:Equals&&ogc:PropertyName&%s&/ogc:PropertyName&&gml:Point&&gml:co ordinates&%f,%f&/gml:coordinates&&/gml:Point&&/ogc:Equals& 2)、Intersects:第一个%s 填写图形字段名称,第二个%f,%f 填写多边形 的节点坐标,注意要首尾坐标闭合。 &ogc:Intersects&&ogc:PropertyName&%s&/ogc:PropertyName&&gml:Polygon&& gml:outerBoundaryIs&&gml:LinearRing&&gml:coordinates&%f,%f%f,%f%f,%f% f,%f&/gml:coordinates&&/gml:LinearRing&&/gml:outerBoundaryIs&&/gml:Po lygon&&/ogc:Intersects& 3)、BBOX:第一个%s 填写图形字段名称,第二个%s 填写坐标系统,后面四 个%f 填写一个矩形范围(顺序为 xmin,ymin,xmax,ymax)。 &ogc:BBOX&&ogc:PropertyName&%s&/ogc:PropertyName&&gml:BoxsrsName=&%s& &&gml:coordinates&%f,%f %f,%f&/gml:coordinates&&/gml:Box&&/ogc:BBOX& 多个空间查询条件也需要逻辑比较谓词来包含,同时需要使用正确的标识 “gml”,一个空间查询条件可以看作是一个属性查询条件,这方面操作是一致 的。完整的空间查询语句如下: http://xiaogl/ArcGIS/services/DemoWFS/MapServer/WFSServer?request =Getfeature&service=WFS&typename=Tbeijing_qiao&Filter=&ogc:Filter&&og c:Intersects&&ogc:PropertyName&Shape&/ogc:PropertyName&&gml:Polygon& &gml:outerBoundaryIs&&gml:LinearRing&&gml:coordinates&40.334,116.304 40.317,116.366 40.264,116.321 40.277,116.288 40.312,116.287 40.334,116.304&/gml:coordinates&&/gml:LinearRing&&/gml:outerBoundary Is&&/gml:Polygon&&/ogc:Intersects&&/ogc:Filter& 各类空间关系查询表现样式,请详细参见: https://wiki.state.ma.us/confluence/display/massgis/contains3.3、空间和属性混合查询通过上述说明,可以实现属性查询和空间查询,能否实现将属性和空间进行 联合查询呢?答案是肯定的, 通过组合 WFS 属性和空间的查询语句,实现两者的 混合查询模式,查询语句如下: http://localhost/ArcGIS/services/DemoWFS/MapServer/WFSServer?requ est=Getfeature&service=WFS&typename=Tbeijing_qiao&Filter=&ogc:Filter& &ogc:And&&ogc:PropertyIsEqualTo&&ogc:PropertyName&class&/ogc:Propert yName&&ogc:Literal&2&/ogc:Literal&&/ogc:PropertyIsEqualTo&&ogc:BBOX& &ogc:PropertyName&Shape&/ogc:PropertyName&&gml:Box srsName='EPSG:4326'&&gml:coordinates&40.6...&/gml:coordinates&&/gml:Box&&/ogc:BBOX&&/og c:And&&/ogc:Filter& 这样可以有效结合属性查询和空间查询,达到精确查询的目的。四、使用 ArcGIS Flex API 查询 WFS在了解 WFS 属性和空间查询语句的构建方法后, 需要在其他客户端进行测试, 看能否通过构建的查询语句正确查询到所需要的对象信息。 而且了解在客户端怎 样实现 WFS 查询语句的执行和查询结果的解析成符合客户端需要的方式进行展 现查询结果。 下面以 ArcGIS API For Flex 为客户端表现方式进行 WFS 服务地图查询并展 现查询结果。4.1、Flex 执行 WFS 查询方式对于在 Flex 执行 WFS 服务查询语句有两种方式: “HTTPService”和 “urlLoader” ,下面分别介绍两种查询方式: 第一种“HTTPService”查询方式,一般在使用 XML 格式描述 WFS 查询语句 时常使用,使用步骤是: 首先定义一个“HTTPService”对象,并且使用“POST”方法进行请求,如 下:&fx:Declarations& &!--将非可视元素(例如服务、值对象)放在此处 --& &mx:HTTPService id=&parseXml& method=&POST& result=&resultEve(event)& fault=&faultEve(event)& resultFormat=&xml&/& &/fx:Declarations&然后定义 WFS 的 XML 格式查询语句,如下:varxmlFile:XML = &wfs:GetFeaturexmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xmlns:gml=&http://www.opengis.net/gml& xmlns:wfs=&http://www.opengis.net/wfs& xmlns:ogc=&http://www.opengis.net/ogc& service=&WFS& version=&1.1.0&&&wfs:QuerytypeName=&massgis:Tbeijing_qiao&xmlns:massgis=&http://lo calhost/ArcGIS/services/DemoWFS/MapServer/WFSServer&&&ogc:Filter xmlns=&http://www.opengis.net/ogc&&&ogc:PropertyIsEqualTo&&ogc:PropertyName&name&/ ogc:PropertyName&&ogc:Literal&前渠河桥 &/ogc:Literal&&/ogc:PropertyIsEqualTo&&/ogc:Filter&&/wfs:Query& &/wfs:GetFeature&; varxml:XML = new XML(xmlFile);发送该 XML 查询语句到后台进行请求,如下:parseXml.request= parseXml.url=&http://localhost/ArcGIS/services/DemoWFS/MapServer/WFSServer&; parseXml.contentType = &application/xml&; //需要注意:必须设置该项内容,否则后台无法解析XMLparseXml.send();并获取查询结果,如下:privatefunctionfaultEve(event:FaultEvent):void { trace(event.message) } privatefunctionresultEve(event:ResultEvent):void { vararr:String=event.result.toString();//Alert.show(event.result.result.row.toString());vardata:Object = event. } 下面对第二种方式进行介绍: 在构建好 WFS 查询语句后,可以在 Flex 中对该查询语句进行请求:varurlString:String = “http://localhost/ArcGIS/services/DemoWFS/MapServer/WFSServer?request=Getfeature&s ervice=WFS&typename=Tbeijing_qiao&Filter=&ogc:Filter&&ogc:And&&ogc:PropertyIsLike wildCard='*' singleChar='?' escapeChar=''&&ogc:PropertyName&name&/ogc:PropertyName&&ogc:Literal&*河 *&/ogc:Literal&&/ogc:PropertyIsLike&&ogc:PropertyIsEqualTo&&ogc:PropertyName&class& /ogc:PropertyName&&ogc:Literal&2&/ogc:Literal&&/ogc:PropertyIsEqualTo&&/ogc:And&&/o gc:Filter&”;如果该语句中包含有中文查询字符,则需要先进行转换成 URI 模式,如下:varuriString:String = encodeURI(urlString);对转换好的 WFS 查询语句进行请求,如下:varrequest:URLRequest = newURLRequest(uriString); varloader:URLLoader = newURLLoader(); loader.load(request); loader.PLETE,onCompleteHandler);这样请求后就可以得到查询的结果,但是由于 WFS 查询结果是以 XML 结构方 式进行展现 GML 模式,这样需要在 Flex 中对得到的查询结果进行解析。4.2、Flex 解析 WFS 查询结果使用 Flex API 中相应的类来构建对查询结果中的地图要素信息,需要对查 询结果进行解析。在 WFS 查询结果中要素信息都是包含在“featureMember”这 个 GML 的节点中,包括:属性值信息和空间几何类型及坐标值等。 对应 WFS 查询结果中不同的几何类型, 使用 Flex API 中的几何类进行定义:varpt:Point=new Point(); varpolygon:Polygon=new Polygon(); varpolyline:Polyline= new Polyline();在获取几何坐标后, 使用 Flex API 中的几何类型进行展现对应的几何形状。 获取到几何信息和属性信息后,使用 Flex API 中 Graphic 进行几何形状的绘制 并表现在客户端。五、使用 ArcGIS Flex API 更新 WFS 服务图层ArcGIS Server 10 中支持的 WFS 版本为最新的 1.1.0。 在 ArcGIS Server 中, 只需简单地勾选的 Capabilities 选项卡中可以选择支持 WFS,如下图。如果勾 选了 Transaction 复选框,那么通过该 WFS 还可以进行数据更新(注意,需要是 SDE 数据源) 。对 WFS 服务启用事务能力后,就可以实现对 WFS 服务地图图层进行更新编辑 操作,包括 Insert、Update、Delete 三种编辑操作,可以使用如下语句进行插 入一条新记录:&wfs:Transaction version=&1.1.0& service=&WFS& handle=&Transaction 01& xmlns=&/myns& xmlns:wfs=&http://www.opengis.net/wfs& xmlns:ogc=&http://www.opengis.net/ogc& xmlns:gml=&http://www.opengis.net/gml& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xsi:schemaLocation=&http://localhost/ArcGIS/services/TestWFST/MapServer/WFSServer http://localhost/ArcGIS/services/TestWFST/MapServer/WFSServer?request=DESCRIBEFEATURETY PE&typename=TestPoints http://www.opengis.net/wfs ../wfs/1.1.0/WFS.xsd&&&wfs:Insert&&TestPoints&&name&Highway01 &/name&&type&41&/type&&SHAPE&&gml:Point&&gml:pos&84.&/gml:pos&&/gml:Point&& /SHAPE&&/TestPoints&&/wfs:Insert&&/wfs:Transaction&然后使用 HTTPService 方式进行 POST 请求,如果执行成功则返回类似如下 结果:&wfs:TransactionResponsexmlns:gml=&http://www.opengis.net/gml& xmlns:xs=&http://www.w3.org/2001/XMLSchema& version=&1.1.0& xmlns:wfs=&http://www.opengis.net/wfs&xmlns:ogc=&http://www.opengis.net/ogc&&&wfs:TransactionSummary&&wfs:totalInserted&1 &/wfs:totalInserted&&/wfs:TransactionSummary&&wfs:InsertResults&&wfs:Feature&&ogc:F eatureId /&&/wfs:Feature&&/wfs:InsertResults&&/wfs:TransactionResponse& fid=&F460__463&在进行地图数据编辑中,需要注意“Delete”和“Update”操作。设想这样 的情况,A 获得了图层 states 的 1,2,3,4 四个 Feature,然后把 Feature 1 的属性做了修改,这时 B 向服务器发出删除 Feature 的指令,碰巧 Feature 1 被删除了, 此时 A 才将修改后的数据提交到服务器。会发生什么?服务器首先是 找不到 Feature 1, 然后它会返回异常给A说 Feature 1 不存在, 而A会很郁闷, Feature 1 明明是存在的! 这种情况就是分布式系统常常需要处理的, 并发访问。 不幸的是几乎所有 GIS 系统都是分布式的。 WFS 考虑到了并发访问的问题,它提出的解决方案就是锁住需要删除和修改 的 Feature。我们只需要告诉服务器我们希望锁住哪些 Feature,然后服务器会 返回两组数据, 一组是成功锁定的 Feature Id,一组是无法锁定的 Feature Id。 在删除要素对象之前需要先锁定该要素,发送锁定要素的请求,如下语句:http://localhost/ArcGIS/services/TestWFST/MapServer/WFSServer?request=getfe aturewithlock&typename=TestPoints&filter=&ogc:Filter&&ogc:PropertyIsLessThan&&o gc:PropertyName&OBJECTID&/ogc:PropertyName&&ogc:Literal&5&/ogc:Literal&&/ogc:Pr opertyIsLessThan&&/ogc:Filter&请求后会得到相应的结果,如果锁定成功,则会返回一个 lockId 值,如:“{CE53A506--A96F-AB7AA1488A07}” ;否则返回“Feature * is already locked”要素已经被锁定。获取到 lockId 值后,发送删除操作的语句,如下: &wfs:Transaction version=&1.1.0& service=&WFS& xmlns=&/myns& xmlns:wfs=&http://www.opengis.net/wfs& xmlns:ogc=&http://www.opengis.net/ogc& xmlns:gml=&http://www.opengis.net/gml& xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&&&wfs:LockId&{CE53A506-36 83-4F35-A96F-AB7AA1488A07}&/wfs:LockId&&wfs:DeletetypeName=&TestPoints&&&ogc:F ilter&&ogc:GmlObjectIdgml:id=&F460__2& /&&/ogc:Filter&&/wfs:Delete&&/wfs:Transaction& 如果删除成功则返回:&wfs:TransactionResponsexmlns:ogc=&http://www.opengis.net/ogc& xmlns:wfs=&http://www.opengis.net/wfs& version=&1.1.0& xmlns:xs=&http://www.w3.org/2001/XMLSchema& xmlns:gml=&http://www.opengis.net/gml&&&wfs:TransactionSummary&&wfs:totalDeleted&1& /wfs:totalDeleted&&/wfs:TransactionSummary&&/wfs:TransactionResponse&
ArcGIS Server 发布的标准的 WFS 服务 (10 默认...但笔者查了很多资料都没能查到 FME 中默认的过期...社区广场舞策划方案 广场舞有益于身心健康文档...ArcGIS Server中的各种服务_计算机软件及应用_IT/计算机_专业资料。ArcGIS Server 中的各种服务源址:http://blog.csdn.net/xue12300/archive//4964378....ArcGIS Server中的各种服务_计算机软件及应用_IT/计算机...可以用来访问 geodatabase,从而进行数据查询,提 Geo...WFS WMS 这样就可以看出要使用特定能力时需要发布...二、如何获取 WFS 服务的 URL 步骤: 1. 在 ArcGIS Server 管理器中服务选项卡下,单击管理服务。 2. 单击服务位置下拉箭头并导航到包含已发布服务的服务文件夹...ArcGIS Server常见问题及解决方案_计算机软件及应用_IT...您可以在如下位置查找到 Tasks.xml:&虚拟根目 录...(WMS)、Web 要素服务 (WFS) 和网络 覆盖服务 (...WFS 服务也支持过滤器,由此用户可以在数 据上执行空间查询和属性查询。 Web ...URL 示例: 示例: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/Geo...ArcGIS Server 服务类型总体介绍_计算机软件及应用_IT/计算机_专业资料。ArcGIS Server 服务类型总体介绍ArcGIS Server 服务类型 1、要素服务可用来通过 Internet 提供要...为支持查询的 ArcGIS Feature Service 、 OGC 标准的 WFS 和 Geodata Service...嵌入式多个层面 均有对应产品和完整的解决方案,采用统一内核,桌面、组件、Web...ArcGIS 智能交通地理信息系统解决方案地理信息系统(GIS)在交通方面的应用非常广泛,...(交通信息服务) (公路信息查询系统 智能交通包含的子系统智能交通是以交通需求为...基本架构 ArcGIS 为 3D GIS 提供了全面的解决方案: 利用 ArcSDE 空间数据库...WFS;提供 配置、发布和优化 GIS 服务器的管理工具;提供.NET 和 Java 软件开发...
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 OPPOR11t 的文章

 

随机推荐