UNPKG

@wootapa/polygraph-ol

Version:

Extension of @wootapa/polygraph for OpenLayers 7+.

115 lines (114 loc) 3.69 kB
import { ProjectionLike } from 'ol/proj'; import { ClassDict } from '../core/contracts'; import { PolygraphBase } from '../core/polygraph'; import { FeatureThing, IPolygraphOlOpts, IFilterOpts, ICqlFilterOpts } from './contracts'; import { IOlOperators } from './ol'; export declare class PolygraphOl extends PolygraphBase<PolygraphOl> implements IOlOperators { private _opts; protected _getConfiguration(): IPolygraphOlOpts; protected _setConfiguration(config: IPolygraphOlOpts): void; protected _getPolygraph(): PolygraphOl; protected _getClassDict(): ClassDict; /** * Sets default projection for all Polygraphs. * Default `EPSG:3857` (Web Mercator) * * @remarks Projection must be known. * * @param projection - Projection instance or code */ static defaultProjection(projection: ProjectionLike): void; /** * Sets projection for all child spatial operators. * * @remarks Projection must be known. * * @param projection - Projection instance or code * * @returns Polygraph */ projection(projection: ProjectionLike): PolygraphOl; /** * Evaluates featurething. * * @param obj - The featurething to evaluate * * @returns True if object passed all child operators */ evaluate(obj: FeatureThing): boolean; /** * Returns true when object intersects value. * * @param value - The featurething to compare * * @returns Polygraph */ intersects(value: FeatureThing): PolygraphOl; /** * Returns true when object do not intersects value. * * @param value - The featurething to compare * * @returns Polygraph */ disjoint(value: FeatureThing): PolygraphOl; /** * Returns true when object completely contains value. * * @param value - The featurething to compare * * @returns Polygraph */ contains(value: FeatureThing): PolygraphOl; /** * Returns true when object is completely within value. * * @param value - The featurething to compare * * @returns Polygraph */ within(value: FeatureThing): PolygraphOl; /** * Returns true when object is no more than specified distance from value. * * @remarks Requires a correct projection. * * @param value - The featurething to compare * @param distance - Distance in meters * @param greatCircle - Optional. Calculate using great-circle distance. * * @returns Polygraph */ distanceWithin(value: FeatureThing, distance: number, greatCircle?: boolean): PolygraphOl; /** * Returns true when object is more than specified distance from value. * * @remarks Requires a correct projection. * * @param value - The featurething to compare * @param distance - Distance in meters * @param greatCircle - Optional. Calculate using great-circle distance. * * @returns Polygraph */ distanceBeyond(value: FeatureThing, distance: number, greatCircle?: boolean): PolygraphOl; /** * Returns operators as an OGC CQL query. * * @param opts - Optional serializer settings. * * @returns OGC CQL query */ asOgcCql(opts?: ICqlFilterOpts): string; /** * Returns operators as an OGC XML query. * * @remarks * Wrap in encodeURI to avoid encoding issues * * @param opts - Optional serializer settings. * * @returns OGC XML query */ asOgcXml(opts?: IFilterOpts): string; }