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) | 结果要素数组。 |