Class: OGCSpatialFilterBuilder

OGCSpatialFilterBuilder

空间 Filter 构建器

构建 OGC Filter 空间查询 XML,支持 BBOX 和各种空间操作符

new OGCSpatialFilterBuilder(options)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 66
Name Type Description
options SpatialFilterOptions 可选

配置选项

Example
import { OGCSpatialFilterBuilder } from './support/OGCSpatialFilterBuilder';

const builder = new OGCSpatialFilterBuilder({ version: '1.1.0' });

// BBOX 查询
const bboxXml = builder.buildBBox({
  minX: 114, minY: 30, maxX: 115, maxY: 31
});

// 相交查询(使用 MapGIS Geometry)
const intersectsXml = builder.build({
  operator: 'Intersects',
  propertyName: 'shape',
  geometry: mapgisPolygon
});

Members

_curveboolean

_filterPrefixstring

_gmlNsstring

_multiCurveboolean

_multiSurfaceboolean

_srsNamestring

_surfaceboolean

_versionstring

Methods

build(params, options){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 553

构建空间 Filter XML 字符串

Name Type Description
params Object

参数

options Object 可选

额外选项

Returns:
Type Description
string

buildBBox(bbox, propertyName, options){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 427

构建 BBOX Filter XML 字符串

Name Type Description
bbox Object

边界框

propertyName string 可选

属性名

options Object 可选

额外选项

Returns:
Type Description
string

buildBBoxNode(bbox, propertyName, options){Element}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 378

构建 BBOX Filter

Name Type Description
bbox Object

边界框 {minX, minY, maxX, maxY} 或几何对象

propertyName string 可选

属性名(可选,WFS 1.0.0 可能需要)

options Object 可选

额外选项

Returns:
Type Description
Element Filter 节点

buildNode(params){Element}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 443

构建空间 Filter

Name Type Description
params Object

参数

Name Type Description
operator string

操作符 (Intersects, Within, Contains, ...)

propertyName string 可选

属性名

geometry Object

几何对象

options Object 可选

额外选项

Returns:
Type Description
Element Filter 节点

createNamespaceDeclaration(){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 242

创建命名空间声明

Returns:
Type Description
string

getCurve(){boolean}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 178

获取 curve 选项

Returns:
Type Description
boolean

getFilterPrefix(){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 142

获取 Filter 前缀

Returns:
Type Description
string

getGMLNamespace(){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 150

获取 GML 命名空间

Returns:
Type Description
string

getMultiCurve(){boolean}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 210

获取 multiCurve 选项

Returns:
Type Description
boolean

getMultiSurface(){boolean}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 226

获取 multiSurface 选项

Returns:
Type Description
boolean

getSrsName(){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 158

获取坐标系

Returns:
Type Description
string

getSurface(){boolean}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 194

获取 surface 选项

Returns:
Type Description
boolean

getVersion(){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 124

获取版本

Returns:
Type Description
string

setCurve(curve)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 186

设置是否输出 Curve 而非 LineString

Name Type Description
curve boolean

setMultiCurve(multiCurve)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 218

设置是否输出 MultiCurve 而非 MultiLineString

Name Type Description
multiCurve boolean

setMultiSurface(multiSurface)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 234

设置是否输出 MultiSurface 而非 MultiPolygon

Name Type Description
multiSurface boolean

setSrsName(srsName)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 166

设置坐标系

Name Type Description
srsName string

setSurface(surface)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 202

设置是否输出 Surface 而非 Polygon

Name Type Description
surface boolean

setVersion(version)

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 132

设置版本

Name Type Description
version string

OGCSpatialFilterBuilder.beyond(geometry, distance, version, srsName, propertyName, distanceUnit){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 802

构建 Beyond Filter(静态方法)- WFS 2.0

Name Type Default Description
geometry Object

几何对象

distance number

距离

version string '2.0.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

distanceUnit string 可选

距离单位

Returns:
Type Description
string

OGCSpatialFilterBuilder.build(operator, geometry, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 710

构建空间 Filter(静态方法)

Name Type Default Description
operator string

操作符

geometry Object

几何对象

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string Filter XML 字符串

OGCSpatialFilterBuilder.buildBBox(bbox, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 694

构建 BBOX Filter(静态方法)

Name Type Default Description
bbox Object

边界框

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string Filter XML 字符串

OGCSpatialFilterBuilder.contains(geometry, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 753

构建 Contains Filter(静态方法)

Name Type Default Description
geometry Object

几何对象

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string

OGCSpatialFilterBuilder.dWithin(geometry, distance, version, srsName, propertyName, distanceUnit){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 769

构建 DWithin Filter(静态方法)- WFS 2.0

Name Type Default Description
geometry Object

几何对象

distance number

距离

version string '2.0.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

distanceUnit string 可选

距离单位

Returns:
Type Description
string

OGCSpatialFilterBuilder.intersects(geometry, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 725

构建 Intersects Filter(静态方法)

Name Type Default Description
geometry Object

几何对象

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string

OGCSpatialFilterBuilder.relate(geometry, pattern, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 827

构建 Relate Filter(静态方法)- DE-9IM 矩阵匹配

Name Type Default Description
geometry Object

几何对象

pattern string

DE-9IM 模式 (如 'T*****FF*')

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string

OGCSpatialFilterBuilder.within(geometry, version, srsName, propertyName){string}

service/igs/ogc/support/OGCSpatialFilterBuilder.js, line 739

构建 Within Filter(静态方法)

Name Type Default Description
geometry Object

几何对象

version string '1.1.0' 可选

WFS 版本

srsName string 可选

坐标系

propertyName string 可选

属性名

Returns:
Type Description
string