`
JACKY&HUA
  • 浏览: 35324 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WFS XML

阅读更多
1.多个图层数据查询。
请求体:[/size][/size]
<wfs:GetFeature service="WFS" version="1.1.0"
xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<wfs:Query typeName="workspace:layername"/> 
<wfs:Query typeName="workspace:layername1"/> 
</wfs:GetFeature>

NOTE:图层可以来自不同工作空间。

2.根据矩形范围查询范围内原件。
  <wfs:Query typeName="workspace:layername"> 
    <ogc:Filter>
      <ogc:BBOX>
        <ogc:PropertyName>geom</ogc:PropertyName>
        <gml:Envelope
srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
           <gml:lowerCorner>113.02452 23.74715</gml:lowerCorner>
           <gml:upperCorner>113.02454 23.74718</gml:upperCorner>
        </gml:Envelope>
      </ogc:BBOX>
   </ogc:Filter>
  </wfs:Query>

范围坐标参数顺序左下,右上。

3.WFS请求某一圆周范围的地图要素
<wfs:GetFeature service="WFS" version="1.1.0"
  xmlns:topp="http://www.openplans.org/topp"
  xmlns:wfs="http://www.opengis.net/wfs"
  xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:gml="http://www.opengis.net/gml"
  xmlns:ows="http://www.opengis.net/ows"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/wfs
                      http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
                      
  <wfs:Query typeName="xxx">
  	<ogc:Filter> 
	   <ogc:DWithin> 
	     <ogc:PropertyName>geom</ogc:PropertyName> 
	     <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> 
	       <gml:coordinates>113.02452,23.74715</gml:coordinates> 
	     </gml:Point> 
	     <ogc:Distance>0.0001</ogc:Distance> 
	   </ogc:DWithin>
	</ogc:Filter>
  </wfs:Query>
</wfs:GetFeature>

4.根据属性值查询
<wfs:GetFeature service="WFS" version="1.1.0"
  xmlns:wfs="http://www.opengis.net/wfs"
  xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:gml="http://www.opengis.net/gml"
  xmlns:ows="http://www.opengis.net/ows"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/wfs
                      http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
                      
  <wfs:Query typeName="xx">
  	<ogc:Filter> 
	   <ogc:PropertyIsEqualTo> 
	     <ogc:PropertyName>sbmc</ogc:PropertyName> 
	      <Literal>XXX</Literal>
	   </ ogc:PropertyIsEqualTo>
	</ogc:Filter>
  </wfs:Query>
</wfs:GetFeature>


5.根据属性值组合查询
<wfs:GetFeature service="WFS" version="1.1.0"
  xmlns:wfs="http://www.opengis.net/wfs"
  xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:gml="http://www.opengis.net/gml"
  xmlns:ows="http://www.opengis.net/ows"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/wfs
                      http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
                      
  <wfs:Query typeName="layer">
  	<ogc:Filter> 
	<ogc:Or>
<ogc:And>   
<ogc:PropertyIsEqualTo> 
	     <ogc:PropertyName>xx</ogc:PropertyName> 
	      <Literal>XXX</Literal>
	   </ ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo> 
	     <ogc:PropertyName>xx</ogc:PropertyName> 
	      <Literal>XXX</Literal>
	   </ ogc:PropertyIsEqualTo>
  </ogc:And>
<ogc:PropertyIsEqualTo> 
	     <ogc:PropertyName>xx</ogc:PropertyName> 
	      <Literal>XXX</Literal>
	   </ ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo> 
	     <ogc:PropertyName>xx</ogc:PropertyName> 
	      <Literal>XXX</Literal>
	   </ ogc:PropertyIsEqualTo>
  </ogc:Or>
  </wfs:Query>
</wfs:GetFeature>


1)        Equal:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsEqualTo><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsEqualTo>
2)        NotEqual:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsNotEqualTo><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsNotEqualTo>
3)        Less:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsLessThan><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsLessThan>
4)        Greater:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsGreaterThan><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsGreaterThan>
5)        LessOrEqual:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsLessThanOrEqualTo><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsLessThanOrEqualTo>
6)        GreaterOrEqual:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsGreaterThanOrEqualTo><PropertyName>%s</PropertyName><Literal>%s</Literal></PropertyIsGreaterThanOrEqualTo>
7)        Like:第一个%s填写字段名称,第二个%s填写字段值
<PropertyIsLike wildCard="*" 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>
综上所述,②的例子中属性查询语句部分可以直接写成:
<And><PropertyIsLike wildCard="*" singleChar="?" escapeChar="\"><PropertyName>name</PropertyName><Literal>新百商场*</Literal></PropertyIsLike><PropertyIsEqualTo><PropertyName>kind</PropertyName><Literal>2200</Literal></PropertyIsEqualTo></And>
分享到:
评论
1 楼 yaowj2 2011-03-11  
你好,请问wfs用版本1.1.0时,过滤可以拿到数据,便是解释gml的时候却报错 ,responsetext返回已经正确,但是在gmlParse = new OpenLayers.Format.GML(); 时抛出了异常。异常为objecterror。请问是不是1.0和1.1的问题?我的代码如下:
function showResponse(req){
//openlayers的GML解析器
alert(req.responseText);
try{
var gmlParse = new OpenLayers.Format.GML(); 
alert(gmlParse);  //这里没执行,跳到catch里了
var features = gmlParse.read(req.responseText);
alert(features);
var icon = new OpenLayers.Icon('pp.gif');
var feature, lonlat, marker;
}catch(e){alert('dd'+e);}
for(var feat in features){
  feature = features[feat];
  alert(feature);
  lonlat = new OpenLayers.LonLat(feature.geometry.x,feature.geometry.y);
    alert(lonlat);
  marker = new OpenLayers.Marker(lonlat,icon.clone());
    alert(marker);
   //此处注册了鼠标的点击事件,可以在 mousedown中做些事情
  marker.events.register("mousedown", marker, mousedown);
  //markers为OpenLayers.Layer.Markers 画点的层
  markers.addMarker(marker);
}
}

相关推荐

    geoserver wfs过滤查询

    在这个例子中,我们看到一个`&lt;wfs:GetFeature&gt;`元素,它包含了查询的所有必要参数,如输出格式(outputFormat="GML2"),服务类型(service="WFS"),版本(version="1.0.0")以及XML命名空间定义等。 接着,我们...

    OGC WFS标准

    3. **XML Schema与UML表示法**:WFS标准使用XML Schema来定义数据模型,确保数据的结构化和一致性。同时,标准中也包含了UML类图和状态机图,以图形化的方式描述了系统的架构和行为,便于理解复杂的数据交互过程。 ...

    WFS-g地名地址服务

    在本部分的内容中,还提到了XML模式定义,说明了WFS-g实现必须遵守的XML模式结构,以确保数据交互的标准化和兼容性。 根据文档的描述,OGC02-076r3是一个工作草案文档,尽管它不是正式的OGC标准,它仍然在OGC标准...

    leaflet结合geoserver利用WFS服务实现图层编辑.zip

    GeoServer作为WFS服务提供者,可以将存储在其内部的数据(如 shapefiles、PostGIS数据库等)以XML格式的地理特征发送给客户端。 在集成Leaflet和GeoServer时,我们需要做以下几步: 1. **配置GeoServer**:在...

    cesium结合geoserver利用WFS服务实现图层编辑.zip

    7. **处理WFS-T请求**:使用XML或者GeoJSON格式构建WFS-T请求,包括ADD、MODIFY和DELETE操作。这些请求需要发送到GeoServer的特定端点,并且必须包含正确的图层名、GMLID(如果适用)以及更新的几何和属性数据。 8....

    wfs获取图层信息并返回geoJson数据集

    首先,它构建了一个XML字符串`ajaxQuery`,这是WFS GetFeature请求的组成部分。请求中包含了服务版本、命名空间定义、请求的图层名(`typeName`)等关键信息。`OpenLayers.Request.issue`是OpenLayers库中的方法,...

    WFS-T 样例样式解析简单图解

    在WFS-T中,可以通过发送包含新样式的XML请求来更新图层的样式信息。这可能包括定义新的几何对象颜色、线宽、线型以及是否填充等属性。 3. **修改线样式**: 线样式的修改可能涉及线的颜色、宽度、线型(如虚线、...

    OGC标准介绍(WMS WFS WCS WMTS GML...)

    以下将详细介绍WMS、WFS、WCS以及WMTS等OGC标准,同时也会提及GML、KML、SFS和SLD等相关概念。 1. WMS(Web Map Service):这是一个用于获取地图图像的标准接口,允许用户请求地理信息以图形化的方式展示。WMS...

    关于webGis中的Wfs和wms

    ### WebGIS中的WFS与WMS详解 #### WFS(Web Feature Service)概述 WFS是一种开放的标准协议,由Open Geospatial Consortium (OGC)制定,用于在Web上发布和共享地理空间矢量数据。它允许客户端通过HTTP请求访问、...

    WFS_to_build_GIS_support.

    - **WFS-XML和SOAP安全性**:由于WFS使用XML进行数据交换,因此需要考虑XML文档的安全性和完整性。同时,当使用SOAP协议时,还需要关注消息级别的安全措施,如加密和认证机制。 ##### 3.2 性能 - **性能考量**: ...

    从WFS服务器添加功能1

    客户端通过发送特定格式的请求(如WFS协议)到服务器,服务器则返回数据,通常是采用GML(地理标记语言)格式,这是一种XML的子集,用于描述地理信息。 在实际应用中,例如使用OpenLayers这样的JavaScript库,WFS被...

    Geoserver+openlayer+postGis要素增删改查

    GeoServer 是一个开源的、基于 Java 的地理信息服务器,它可以读取多种GIS数据格式,并通过WMS(Web Map Service)、WFS(Web Feature Service)等OGC(开放地理空间联盟)标准进行数据发布。在本项目中,GeoServer...

    node_wfs_api:用 Javascript 编写的 WFS 层,在 Node.JS 上运行

    它可以接受 GML 中的 http 请求或 post 请求(源自 XML)用法我选择 NodeJS 是因为我对 Javascript 感觉很舒服,而且之前也没有实现任何东西,所以虽然为 NodeJS 社区做出了一些尚未完成的贡献,但还是很棒的。...

    SVG、GML和WFS技术及其应用研究

    地理标志语言GML和可缩放矢量图形SVG是两种基于XML的开放性、应用性标记语言;而网络要素服务WFS是空间数据互操作的一个重要组成部分,能够为不同的GIS数据格式提供要素级的交互。介绍了这三大技术的特点,针对...

    Java基础测试题.doc

    Java是一种广泛使用的面向对象的编程语言,其设计目标包括简单性、面向对象、健壮性和安全性等特性。在Java的基础测试题中,我们看到多个关于Java语法和概念的问题,涵盖面向对象特性、变量命名规范、运算符优先级、...

    openlayers geoserver代理的配置文件

    OpenLayers是一个JavaScript库,用于在Web浏览器中显示地图和地理数据,而GeoServer是一个开源的GIS服务器,它能发布和管理地理空间数据,并通过WFS(Web Feature Service)等标准接口提供服务。在某些情况下,由于...

    一种基于OGC规范的SQL解析算法设计.pdf

    文章的核心是介绍一种新的SQL解析算法,这种算法能够根据SQL的逻辑规则和权值优先级,将SQL查询转换为符合OGC Filter规范的XML格式,以便简化WFS实体的查询操作。 在引言部分,作者提到WebGIS(网络地理信息系统)...

    最新各大公司企业真实面试题-深圳应聘题目.txt

    此 XML 文件定义了一个名为 `CDCA-WFS-WORK-CALENDAR` 的根元素,指定了年份为 2002 年,并且每天的工作时长为 8 小时。接下来,文件通过 `&lt;MONTH-FREE-DAYS&gt;` 和 `&lt;SPECIAL-WORKHOURS-DAYS&gt;` 元素分别定义了每个月...

    论文研究-多源空间要素服务系统的设计与实现.pdf

    WFS使用GML(Geography Markup Language)进行数据交换,GML是一种基于XML的标记语言,用于描述和交换地理信息。 在实现WFS的过程中,需要采用SOAP(Simple Object Access Protocol)技术。SOAP是一种基于XML的消息...

Global site tag (gtag.js) - Google Analytics