import { FeatureCollection } from "./FeatureCollection";
import { Filter } from "./Filter";
import { PrintObject } from "./PrintObject";
/**
* gve
* @class gve.Join
* @since gve
*/
export class Join extends PrintObject {
constructor() {
super();
if (!(this instanceof Join)) {
return new Join();
}
}
/**
* 返回一个Join,将第一个集合中的每个元素与第二个集合中一组匹配的元素配对。匹配列表会作为一个附加属性添加到每个结果中。如果指定了 measureKey,则每个匹配项都会附加其连接度量值。当使用 withinDistance 或 maxDifference 过滤器作为连接条件时,会生成连接度量值。
* @param {String} matchesKey 用于保存匹配项的键
* @param {String} [ordering] default: null ,可选,用于排序匹配列表的属性
* @param {Boolean} [ascending] default: true,可选,是否升序
* @param {String} [measureKey] default: null ,可选,用于保存匹配时连接条件度量的键
* @param {Boolean} [outer] default: false 如果为true,结果中将包含没有匹配项的主行
* @returns Join
* @tutorial gve.Join
*/
static saveAll(matchesKey:string,ordering?:string,ascending?:boolean,measureKey?:string,outer?:boolean) {
return new Join();
}
/**
* 将来自第一个集合的每个元素与来自第二个集合的匹配元素配对。具有最佳连接度量的匹配项将作为附加属性添加到每个结果中。当使用 withinDistance 或 maxDifference 过滤器作为连接条件时,会生成连接度量。
* @param {String} matchKey 用于保存匹配项的键
* @param {String} measureKey 用于保存匹配时连接条件度量的键
* @param {Boolean} [outer] default: false 如果为true,结果中将包含没有匹配项的主行
* @returns Join
* @tutorial gve.Join
*/
static saveBest(matchKey:string,measureKey:string,outer?:boolean){
return new Join();
}
/**
* 生成主集合中与次集合中任何元素都不匹配的元素。不会将任何属性添加到结果中。
* @returns Join
* @tutorial gve.Join
*/
static inverted(){
return new Join();
}
/**
* 返回主集合中与次集合中任何元素匹配的连接结果。结果中不会添加任何属性
* @returns Join
* @tutorial gve.Join
*/
static simple(){
return new Join();
}
/**
* 连接两个集合
* @param {FeatureCollection} primary 主集合
* @param {FeatureCollection} secondary 次集合
* @param {Filter} condition 用于从两个集合中选择匹配项的连接条件
* @returns FeatureCollection
*/
apply(primary:FeatureCollection,secondary:FeatureCollection,condition:Filter){
return new FeatureCollection();
}
/**
* 返回将主集合中的元素与辅助集合中的匹配元素配对的连接
* @param {String} [primaryKey] 用于保存主要匹配的属性名称
* @param {String} [secondaryKey] 用于保存次要匹配的属性名称
* @param {String} [measureKey] 用于衡量保存联接条件
* @returns Join
* @tutorial gve.Join
*/
static inner(primaryKey?:string, secondaryKey?:string, measureKey?:string){
return new Join();
}
/**
* 返回将第一个集合中的每个元素与第二个集合中的匹配元素配对的连接
* @param {String} matchKey 用于保存匹配的属性
* @param {String} [ordering] 选择第一个之前,要在选择匹配之前对匹配进行分类的属性
* @param {Boolean} [ascending] 是否选择升序排序
* @param {String} [measureKey] 一个可选的属性名称,用于保存连接中联接条件的度量
* @param {Boolean} [outer] 未匹配到的内容是否包含在结果里
* @returns Join
* @tutorial gve.Join
*/
static saveFirst(matchKey:string, ordering?:string, ascending?:boolean, measureKey?:string, outer?:boolean){
return new Join();
}
}