@@ -21,6 +21,7 @@ import { ServerGeometry } from './ServerGeometry';
21
21
* @param {Array.<string> } options.datasetNames - 数据集集合中的数据集名称列表。
22
22
* @param {string } [options.attributeFilter] - 几何查询属性过滤条件。
23
23
* @param {Array.<string> } [options.fields] - 查询结果返回字段。默认返回所有字段。
24
+ * @param {string } [options.orderBy] - 查询排序的字段,orderBy 的字段须为数值型的。
24
25
* @param {SpatialQueryMode } [options.spatialQueryMode=SpatialQueryMode.CONTAIN] - 空间查询模式。
25
26
* @param {boolean } [options.returnContent=true] - 是否直接返回查询结果。
26
27
* @param {boolean } [options.returnFeaturesOnly=false] - 是否仅返回要素信息。当 returnContent 为 true 时设置有效。
@@ -67,6 +68,20 @@ export class GetFeaturesByGeometryParameters extends GetFeaturesParametersBase {
67
68
* @description 空间查询模式。
68
69
*/
69
70
this . spatialQueryMode = SpatialQueryMode . CONTAIN ;
71
+
72
+ /**
73
+ * @member {string} [GetFeaturesByGeometryParameters.prototype.orderBy]
74
+ * @description 查询排序的字段,orderBy 的字段须为数值型的。
75
+ * 相当于 SQL 语句中的 ORDER BY 子句,其格式为:ORDER BY <列名>或ORDER BY <列名 排序规则>。
76
+ * 列名即属性表中每一列的名称,列又可称为属性,在 SuperMap 中又称为字段。
77
+ * 排序规则即按字段的升序或降序排序,asc 表示升序,desc 表示降序,不指定排序规则按升序排序。
78
+ * 对单个字段排序时,该字段的用法为 orderBy = "字段名",升序为orderBy = "字段名 asc";降序为 orderBy = "字段名 desc";
79
+ * 对多个字段排序时,字段之间以英文逗号进行分割,用法为 orderBy = "字段名1, 字段名2 asc, 字段名2 desc"。
80
+ * 例如,在一个国家数据集中,有两个字段,字段名分别为“SmArea”和“pop_1994”,分别表示国家的面积和1994年的各国的人口数量,
81
+ * 如果要按照各国人口数量对记录进行排序,可以设置 orderBy = "pop_1994";
82
+ * 如果要以面积降序和人口升序进行排序, 设置 orderBy = "SmArea desc, pop_1994 asc"。
83
+ */
84
+ this . orderBy = null ;
70
85
Util . extend ( this , options ) ;
71
86
72
87
this . CLASS_NAME = 'SuperMap.GetFeaturesByGeometryParameters' ;
@@ -92,6 +107,7 @@ export class GetFeaturesByGeometryParameters extends GetFeaturesParametersBase {
92
107
me . attributeFilter = null ;
93
108
me . spatialQueryMode = null ;
94
109
me . getFeatureMode = null ;
110
+ me . orderBy = null ;
95
111
}
96
112
97
113
/**
@@ -110,10 +126,15 @@ export class GetFeaturesByGeometryParameters extends GetFeaturesParametersBase {
110
126
geometry : geometry ,
111
127
spatialQueryMode : params . spatialQueryMode
112
128
} ;
113
- if ( params . fields ) {
129
+ if ( params . fields || params . orderBy ) {
114
130
filterParameter = new FilterParameter ( ) ;
115
131
filterParameter . name = params . datasetNames ;
116
- filterParameter . fields = params . fields ;
132
+ if ( params . fields ) {
133
+ filterParameter . fields = params . fields ;
134
+ }
135
+ if ( params . orderBy ) {
136
+ filterParameter . orderBy = params . orderBy ;
137
+ }
117
138
parasByGeometry . queryParameter = filterParameter ;
118
139
}
119
140
if ( params . attributeFilter ) {
@@ -138,7 +159,6 @@ export class GetFeaturesByGeometryParameters extends GetFeaturesParametersBase {
138
159
if ( params . aggregations ) {
139
160
parasByGeometry . aggregations = params . aggregations ;
140
161
}
141
-
142
162
return Util . toJSON ( parasByGeometry ) ;
143
163
}
144
164
}
0 commit comments