WFSQuery

GeoGlobe.Query. WFSQuery

WFS地图要素服务查询类。本类也适用于聚合网络要素服务(Aggregation Web Feature Service简称AWFS)和地名地址要素服务(Web Feature Service Gazetteer简称WFS-G)的查询。

Constructor

new WFSQuery()

Members

featureNS :String

要素命名空间
Type:
  • String

featurePrefix :String

要素类型前缀,默认值""
Type:
  • String

featureType :Array

Type:
  • Array

filter :GeoGlobe.Filter

查询条件。
Type:

format :GeoGlobe.Format

用于对查询操作返回结果进行解析的格式解析器,默认为GML解析器。
Type:

formatOptions :GeoGlobe.Format

格式解析器构造参数。
Type:

geometryName :String

要素中geometry属性的名称,默认为"the_geom"。
Type:
  • String

isReverse :Boolean

是否对请求结果中的几何信息进行轴序反转,默认值为false, 当取值为false时,对请求结果不做反转操作。 当取值为true时,对请求结果做反转操作。
Type:
  • Boolean

isSeparate :Boolean

设置是否将查询结果按图层名分类。
Type:
  • Boolean

maxFeatures :String|Array(String)

最大结果数。
Type:
  • String | Array(String)

protocol :GeoGlobe.Protocol

WFS查询协议对象。
Type:

sortBy :Array

设置WFS查询结果的排序参数,该参数为一个数组对象。 > sortBy数组内对象所包含的属性: > property - {String} 查询出的要素的某一属性的名称,根据该属性进行排序。 > order - {String} 设置正序("ASC")或倒序("DESC")。 说明: 1.wfsg和wfs服务都支持排序;如果wfsg服务中的Post请求串中没有sort节点,那么该服务就不进行排序了(此时用其他字段排序也不起作用了)。当服务在查询中 有sort节点的时候, 建议用户选择STANDARDNAME和sort字段之一进行排序。如果使用DoMainName作为查询关键字,也可以使用DoMainName进行作为排序字段。 2.wfsg服务和wfs服务默认是以sort字段进行排序,sort字段的值是数字,如果用户以sort字段进行排序,那么sort字段的值(数字)越大, 在结果列表中越排在后面,相反,sort字段的值越小,则在结果列表中排在越前面,如果sort字段的值相同,则按照其在数据库中读出来的先后顺序排列, 如果sort字段没值,则排在结果的最后面。 3.若是以STANDARDNAME作为排序字段,如果STANDARDNAME的值是中文,那么排序就是第一个汉字的拼音的首字母的先后顺序作为排序字段(如北京和安徽, 北京是b为拼音首字母,安徽是a为拼音首字母,那么就是安徽排在北京的前面),若值的第一个汉字拼音首字母相同,则是以第一个汉字拼音的第二个字 母的先后顺序排列;如果STANDARDNAME的值是英文,也一样,依次类推。
Type:
  • Array
Example
(code)
		 wfsQueryObj.sortBy = [{
             property: "STANDARDNAME",
             order: "DESC"
         }]
(end)

srsName :String

空间参考名。默认值为"EPSG:4326"。
Type:
  • String

time :String

可选的。版本时间,此参数只针对多时态矢量数据集。默认为查询最新版本时间。时间格式:2015-5-19 12:12:01
Type:
  • String

url :String

WFS服务地址。
Type:
  • String

userecent :String

可选的。是否追溯(取值范围:true或false,true为返回最近匹配,false则精确匹配,默认值为true)
Type:
  • String

version :String

WFS服务版本
Type:
  • String

Methods

attributeQuery(type, property, or, options, or, or, successFn, failFn)

属性查询。
Example
(code)
  var type = GeoGlobe.Filter.Comparison.LIKE;
		var property = "label";
		var value = "*";
		wfsQueryObj.attributeQuery(type,property,value,{
			matchCase : true
	 },successFn,failFn);
(end)
Parameters:
Name Type Description
type String 比较类型。
property String 属性名。
or Number {String} value - 属性值。
options Object 可选参数。
or Number {String} lowerBoundary - 值小的边界。
or Number {String} upperBoundary - 值大的边界。
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

bboxQuery(bbox, successFn, failFn)

范围查询。
Example
(code)
  //查询范围
		 var queryBBOX = new GeoGlobe.LngLatBounds([-180,-90],[180,90]);
	 wfsQueryObj.bboxQuery(queryBBOX, successFn,failFn);
(end)
Parameters:
Name Type Description
bbox GeoGlobe.LngLatBounds 范围。 说明: 1.当且仅当以OGC标准发布服务,并且服务版本为1.1.0时,参数filter中的 所有几何参数都需要改为纬度,经度的顺序。举例说明: 以矩形范围为例: new GeoGlobe.LngLatBounds([-180,-90],[180,90]); 在以OGC标准发布服务,并且服务版本为1.1.0的环境下做本查询时,该矩形范围应写成 new GeoGlobe.LngLatBounds([-90,-180],[90,180]);
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

failFn()

WFS查询失败响应方法,默认提示"对不起,查询失败,请查询服务是否正常",用户可以根据需要覆盖此方法。

getBufferRegion(point, distance, unit) → {GeoGlobe.Geometry.Polygon}

得到缓冲区域。
Parameters:
Name Type Description
point GeoGlobe.Feature 点要素。
distance Integer 半径。
unit String 缓冲单位。
Returns:
- 几何多边形。
Type
GeoGlobe.Geometry.Polygon

initialize(url, featureType, options)

GeoGlobe.Query.WFSQuery类构造函数。
Parameters:
Name Type Description
url String WFS服务地址。
featureType String 要素类型。
options Object 相关属性的设置项,可选。

pathQuery(path, distance, unit, successFn, failFn)

线查询。
Example
(code)
  //距离
	 var distance = 50000000;
	 //单位
	 var unit = "m";
  //线要素
	 var queryPath = new GeoGlobe.Geometry.LineString([
        new GeoGlobe.Geometry.Point(110,35),
        new GeoGlobe.Geometry.Point(110,36)
   ]);
	 wfsQueryObj.pathQuery(queryPath, distance, unit, successFn,failFn);
(end)
Parameters:
Name Type Description
path GeoGlobe.Geometry.LineString 线要素。 说明:当且仅当以OGC标准发布服务,并且服务版本为1.1.0时,本查询的path参数需要设置为纬度,经度顺序。 举例说明: 以一个线要素为例:new GeoGlobe.Geometry.LineString([new GeoGlobe.Geometry.Point(118,20),new GeoGlobe.Geometry.Point(118.8,20.8)])。 在以OGC标准发布服务,并且服务版本为1.1.0的环境下做本查询时,该线要素应写成 new GeoGlobe.Geometry.LineString([new GeoGlobe.Geometry.Point(20,118),new GeoGlobe.Geometry.Point(20.8,118.8)])。
distance Number 缓冲半径。它是指指定线的距离范围。服务利用这个属性可以对线进行缓冲区分析得到一个面,再用面去进行查询。 distance的取值范围:大于等于零。 例如:如果距离是5,单位是米,那么服务内部会将这个线以5米为半径对其进行缓冲区分析得到成一个面,再使用面做查询。
unit String 单位 值为"m"或degree。
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

pointQuery(point, distance, unit, successFn, failFn)

点查询。
Example
(code)
  //距离
	 var distance = 50000000;
	 //单位
	 var unit = "m";
  //点要素
	 var queryPoint = new GeoGlobe.Geometry.Point(110.40056,39.93202);
  wfsQueryObj.pointQuery(queryPoint,distance,unit,successFn,failFn);
(end)
Parameters:
Name Type Description
point GeoGlobe.Geometry.Point 点要素。 说明:当且仅当以OGC标准发布服务,并且服务版本为1.1.0时,本查询的point参数需要设置为纬度,经度顺序。 举例说明: 以一个点要素为例:new GeoGlobe.Geometry.Point(112,20)。 在以OGC标准发布服务,并且服务版本为1.1.0的环境下做本查询时,该点要素应写成new GeoGlobe.Geometry.Point(20,112)
distance Number 缓冲半径。它是指指定线的距离范围。服务利用这个属性可以对线进行缓冲区分析得到一个面,再用面去进行查询。 distance的取值范围:大于等于零。 例如:如果距离是5,单位是米,那么服务内部会将这个线以5米为半径对其进行缓冲区分析得到成一个面,再使用面做查询。
unit String 单位 值为"m"或degree。
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

polygonQuery(polygon, isContain, successFn, failFn)

面查询。
Example
(code)
	 var isContain = false;
	 var queryPolygon = new GeoGlobe.Geometry.Polygon([
  	 new GeoGlobe.Geometry.LinearRing([
      new GeoGlobe.Geometry.Point(77.76672363281,37.655639648436),
      new GeoGlobe.Geometry.Point(77.8884299300619,38.21858951787163),
      new GeoGlobe.Geometry.Point(77.8884299300619,38.21858951787163),
      new GeoGlobe.Geometry.Point(77.8884299300619,38.21858951787163)
      ])
  ]);
	 wfsQueryObj.polygonQuery(queryPolygon, isContain, successFn,failFn);
(end)
Parameters:
Name Type Description
polygon GeoGlobe.Geometry.Polygon 面要素。 说明:当且仅当以OGC标准发布服务,并且服务版本为1.1.0时,本查询的polygon参数需要设置为纬度,经度顺序。 举例说明: 以一个面要素为例: new GeoGlobe.Geometry.Polygon([ new GeoGlobe.Geometry.LinearRing([ new GeoGlobe.Geometry.Point(177.76672363281,37.655639648436), new GeoGlobe.Geometry.Point(177.8884299300619,38.21858951787163), new GeoGlobe.Geometry.Point(177.8884299300619,38.21858951787163), new GeoGlobe.Geometry.Point(177.8884299300619,38.21858951787163) ]) 在以OGC标准发布服务,并且服务版本为1.1.0的环境下做本查询时,该面要素应写成 new GeoGlobe.Geometry.Polygon([ new GeoGlobe.Geometry.LinearRing([ new GeoGlobe.Geometry.Point(37.655639648436,177.76672363281), new GeoGlobe.Geometry.Point(38.21858951787163,177.8884299300619), new GeoGlobe.Geometry.Point(38.21858951787163,177.8884299300619), new GeoGlobe.Geometry.Point(38.21858951787163,177.8884299300619) ])
isContain Boolean 是包含还是相交。
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

query(filter, successFn, failFn)

开始查询。
Example
(code)
 	//查询范围
		var queryBBOX = new GeoGlobe.LngLatBounds([-180,-90],[180,90]);
		 //范围过滤
		 var filter = new GeoGlobe.Filter.Spatial({
          type: GeoGlobe.Filter.Spatial.BBOX,
          property: this.geometryName,
		    value: queryBBOX
      });
		 wfsQueryObj.query(filter,successFn,failFn);
(end)
Parameters:
Name Type Description
filter GeoGlobe.Filter 过滤器。 说明: 1.当且仅当以OGC标准发布服务,并且服务版本为1.1.0时,参数filter中的 所有几何参数都需要改为纬度,经度的顺序。举例说明: 以矩形范围为例: new GeoGlobe.LngLatBounds([-180,-90],[180,90]); 在以OGC标准发布服务,并且服务版本为1.1.0的环境下做本查询时,该矩形范围应写成 new GeoGlobe.LngLatBounds([-90,-180],[90,180]);
successFn function 请求成功的回调函数。 > 该回调函数会提供一个形参,该形参是一个数组,名为features。在地名查询2.0及其以上的版本中,features有一个属性叫trueNames, > 该属性用于存放纠错词信息。在地名查询2.0以下的版本中不提供trueNames属性。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

queryPage(filter, successFn, failFn, options)

Parameters:
Name Type Description
filter GeoGlobe.Filter 过滤器。
successFn function 请求成功的回调函数。 > 该回调函数会提供一个形参,该形参是一个数组,名为features。在地名查询2.0及其以上的版本中,features有一个属性叫trueNames, > 该属性用于存放纠错词信息。在地名查询2.0以下的版本中不提供trueNames属性。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。
options Object 参数选项。

queryTotalNumber(filter, successFn, failFn)

查询总数据的总条数。
Parameters:
Name Type Description
filter GeoGlobe.Filter 过滤器。
successFn function 请求成功的回调函数。
failFn function 请求失败的回调函数,如果指定该参数为一个非函数对象则默认值为本实例的failFn属性。

setTime(time)

设置时间。时间格式:2015-5-19 12:12:01
Parameters:
Name Type Description
time String 结果要素数组。

setUserecent(userecent)

设置是否追溯。
Parameters:
Name Type Description
userecent Boolean 结果要素数组。

successFn(features)

查询成功后的回调函数,用户可以自定义此方法。
Parameters:
Name Type Description
features Array(GeoGlobe.Feature) 结果要素数组。