new OGCFilterBuilder(options)
| Name | Type | Description |
|---|---|---|
options |
FilterBuilderOptions |
可选
配置选项 |
Example
import { OGCFilterBuilder } from './support/OGCFilterBuilder';
const builder = new OGCFilterBuilder({ version: '1.1.0', srsName: 'EPSG:4326' });
// BBOX 查询
const bboxFilter = builder.bbox({ minX: 114, minY: 30, maxX: 115, maxY: 31 });
// SQL 属性查询
const sqlFilter = builder.sql("name = 'Beijing' AND population > 1000000");
// 空间查询
const spatialFilter = builder.spatial({
operator: 'Intersects',
geometry: mapgisPoint
});
Members
-
_curveboolean
-
-
_filterPrefixstring
-
-
_geometryColumnstring
-
-
_gmlBuilderOGCGMLBuilder
-
-
_multiCurveboolean
-
-
_multiSurfaceboolean
-
-
_spatialBuilderOGCSpatialFilterBuilder
-
-
_sqlBuilderOGCSqlToFilterBuilder
-
-
_srsNamestring
-
-
_surfaceboolean
-
-
_versionstring
-
Methods
-
after(time, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 763 -
构建 After 查询 (某时间之后)
Name Type Description timestring 时间点
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
and(filter1, filter2){string|null}
service/igs/ogc/support/OGCFilterBuilder.js, line 519 -
添加 AND 条件
Name Type Description filter1string Filter 1
filter2string Filter 2
Returns:
Type Description string | null -
bbox(bbox, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 352 -
构建 BBOX 查询
Name Type Description bboxObject 边界框 {minX, minY, maxX, maxY} 或几何对象
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
before(time, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 775 -
构建 Before 查询 (某时间之前)
Name Type Description timestring 时间点
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
beyond(geometry, distance, propertyName, distanceUnit){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 451 -
构建 Beyond 查询(距离范围外)- WFS 2.0
Name Type Description geometryObject 几何对象
distancenumber 距离
propertyNamestring 可选 属性名
distanceUnitstring 可选 距离单位
Returns:
Type Description string -
buildSpatialFilter(options){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 866 -
根据空间关系构建空间过滤 Filter XML
支持 SpatialRelation 中的所有空间关系类型,并将 EnvelopeIntersects 自动映射为 BBOX 操作符(OGC Filter 标准中 EnvelopeIntersects 用 BBOX 表示)。
Name Type Description optionsObject 空间过滤参数
Name Type Description spatialRelSpatialRelation 空间关系类型(如 Intersects、Within、Contains 等)
geometryObject 几何对象(MapGIS 通用几何格式)
geometryColumnNamestring 可选 属性/几何列名,默认使用构造时配置的 geometryColumn
distancenumber 可选 距离值(仅 DWithin / Beyond 操作符需要)
distanceUnitstring 可选 距离单位(如 'meters'、'kilometers',仅 DWithin / Beyond 需要)
Returns:
Type Description string Filter XML 字符串 -
contains(geometry, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 413 -
构建 Contains 查询
Name Type Description geometryObject 几何对象
propertyNamestring 可选 属性名
Returns:
Type Description string -
dWithin(geometry, distance, propertyName, distanceUnit){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 431 -
构建 DWithin 查询(距离范围内)- WFS 2.0
Name Type Description geometryObject 几何对象
distancenumber 距离
propertyNamestring 可选 属性名
distanceUnitstring 可选 距离单位
Returns:
Type Description string -
during(begin, end, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 751 -
构建 During 查询 (时间段内)
Name Type Description beginstring 开始时间
endstring 结束时间
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
func(name, args){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 808 -
构建函数调用表达式
OGC Filter 2.0 支持的函数:
- 几何函数: area(), length(), distance(), centroid()
- 字符串函数: strToLowerCase(), strToUpperCase(), strTrim()
- 数学函数: abs(), round(), floor(), ceil(), sqrt(), pow()
Name Type Description namestring 函数名
argsstring | number repeatable 函数参数
Returns:
Type Description string Function 表达式 XML -
getBuilders(){Object}
service/igs/ogc/support/OGCFilterBuilder.js, line 652 -
获取子构建器实例
Returns:
Type Description Object -
getCurve(){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 227 -
获取是否输出 Curve
Returns:
Type Description boolean -
getError(sql){string|null}
service/igs/ogc/support/OGCFilterBuilder.js, line 336 -
获取 SQL 解析错误
Name Type Description sqlstring SQL WHERE 条件
Returns:
Type Description string | null -
getGeometryColumn(){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 205 -
获取几何列名
Returns:
Type Description string -
getMultiCurve(){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 267 -
获取是否输出 MultiCurve
Returns:
Type Description boolean -
getMultiSurface(){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 287 -
获取是否输出 MultiSurface
Returns:
Type Description boolean -
getNamespaceDeclaration(){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 642 -
创建命名空间声明
Returns:
Type Description string -
getSrsName(){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 185 -
获取坐标系
Returns:
Type Description string -
getSurface(){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 247 -
获取是否输出 Surface
Returns:
Type Description boolean -
getVersion(){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 165 -
获取版本
Returns:
Type Description string -
gmlBBox(geometry, version){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 503 -
构建几何 BBOX
Name Type Description geometryObject 几何对象
versionstring 可选 WFS 版本
Returns:
Type Description string -
intersects(geometry, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 381 -
构建 Intersects 查询
Name Type Description geometryObject 几何对象
propertyNamestring 可选 属性名
Returns:
Type Description string -
not(filter){string|null}
service/igs/ogc/support/OGCFilterBuilder.js, line 542 -
取反 Filter
Name Type Description filterstring Filter
Returns:
Type Description string | null -
or(filter1, filter2){string|null}
service/igs/ogc/support/OGCFilterBuilder.js, line 531 -
添加 OR 条件
Name Type Description filter1string Filter 1
filter2string Filter 2
Returns:
Type Description string | null -
relate(geometry, pattern, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 470 -
构建 Relate 查询(DE-9IM 矩阵匹配)
Name Type Description geometryObject 几何对象
patternstring DE-9IM 模式
propertyNamestring 可选 属性名
Returns:
Type Description string -
setCurve(curve){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 236 -
设置是否输出 Curve 而非 LineString
Name Type Description curveboolean Returns:
Type Description this -
setGeometryColumn(column){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 214 -
设置几何列名
Name Type Description columnstring Returns:
Type Description this -
setMultiCurve(multiCurve){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 276 -
设置是否输出 MultiCurve 而非 MultiLineString
Name Type Description multiCurveboolean Returns:
Type Description this -
setMultiSurface(multiSurface){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 296 -
设置是否输出 MultiSurface 而非 MultiPolygon
Name Type Description multiSurfaceboolean Returns:
Type Description this -
setSrsName(srsName){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 194 -
设置坐标系
Name Type Description srsNamestring Returns:
Type Description this -
setSurface(surface){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 256 -
设置是否输出 Surface 而非 Polygon
Name Type Description surfaceboolean Returns:
Type Description this -
setVersion(version){this}
service/igs/ogc/support/OGCFilterBuilder.js, line 174 -
设置版本
Name Type Description versionstring Returns:
Type Description this -
spatial(params){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 366 -
构建空间查询
Name Type Description paramsObject 参数
Name Type Description operatorstring 操作符
geometryObject 几何对象
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
sql(sql){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 314 -
将 SQL WHERE 条件转换为 Filter XML
Name Type Description sqlstring SQL WHERE 条件
Returns:
Type Description string Filter XML 字符串 -
tEquals(time, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 787 -
构建 TEquals 查询 (时间相等)
Name Type Description timestring 时间点
propertyNamestring 可选 属性名
Returns:
Type Description string Filter XML 字符串 -
temporal(operator, beginOrTime, end, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 680 -
构建时间过滤
OGC Filter Encoding 标准时间操作符:
- During: 属性时间在指定时间段内
- After: 属性时间在指定时间之后
- Before: 属性时间在指定时间之前
- TEquals: 属性时间等于指定时间
Name Type Description operatorstring 时间操作符 (During, After, Before, TEquals)
beginOrTimestring 开始时间或时间点 (ISO 8601 格式)
endstring 可选 结束时间 (用于 During 操作符)
propertyNamestring 可选 属性名,默认使用默认几何列
Returns:
Type Description string Filter XML 字符串 -
toGML(geometry, version){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 491 -
将几何对象转换为 GML XML
Name Type Description geometryObject 几何对象
versionstring 可选 WFS 版本
Returns:
Type Description string -
validate(sql){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 325 -
验证 SQL 语法
Name Type Description sqlstring SQL WHERE 条件
Returns:
Type Description boolean -
within(geometry, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 397 -
构建 Within 查询
Name Type Description geometryObject 几何对象
propertyNamestring 可选 属性名
Returns:
Type Description string -
OGCFilterBuilder.bbox(bbox, version, srsName, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 915 -
构建 BBOX 查询
Name Type Default Description bboxObject 边界框
versionstring '1.1.0' 可选 WFS 版本
srsNamestring 可选 坐标系
propertyNamestring 可选 属性名
Returns:
Type Description string -
OGCFilterBuilder.contains(geometry, version, srsName, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 957 -
构建 Contains 查询
Name Type Default Description geometryObject 几何对象
versionstring '1.1.0' 可选 WFS 版本
srsNamestring 可选 坐标系
propertyNamestring 可选 属性名
Returns:
Type Description string -
OGCFilterBuilder.intersects(geometry, version, srsName, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 929 -
构建 Intersects 查询
Name Type Default Description geometryObject 几何对象
versionstring '1.1.0' 可选 WFS 版本
srsNamestring 可选 坐标系
propertyNamestring 可选 属性名
Returns:
Type Description string -
OGCFilterBuilder.sql(sql, version){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 901 -
将 SQL WHERE 条件转换为 Filter XML
Name Type Default Description sqlstring SQL WHERE 条件
versionstring '1.1.0' 可选 WFS 版本
Returns:
Type Description string -
OGCFilterBuilder.toGML(geometry, version, srsName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 970 -
将几何对象转换为 GML XML
Name Type Default Description geometryObject 几何对象
versionstring '1.1.0' 可选 WFS 版本
srsNamestring 可选 坐标系
Returns:
Type Description string -
OGCFilterBuilder.validate(sql){boolean}
service/igs/ogc/support/OGCFilterBuilder.js, line 982 -
验证 SQL 语法
Name Type Description sqlstring SQL WHERE 条件
Returns:
Type Description boolean -
OGCFilterBuilder.within(geometry, version, srsName, propertyName){string}
service/igs/ogc/support/OGCFilterBuilder.js, line 943 -
构建 Within 查询
Name Type Default Description geometryObject 几何对象
versionstring '1.1.0' 可选 WFS 版本
srsNamestring 可选 坐标系
propertyNamestring 可选 属性名
Returns:
Type Description string