从另一数据集中获取与当前数据集的对象满足一定空间关系的对象的 ID。

命名空间:  SuperMap.Data
程序集:  SuperMap.Data (in SuperMap.Data)
版本: dll

语法

C#
public int[] GetIDsByGeoRelation(
	DatasetVector sourceDataset,
	SpatialRelationType spatialRelationType,
	bool isBorderInside,
	bool isShowProgress
)

参数

sourceDataset
Type: SuperMap.Data..::.DatasetVector
指定的与当前数据集相关的数据集。
spatialRelationType
Type: SuperMap.Data..::.SpatialRelationType
指定的空间关系。
isBorderInside
Type: System..::.Boolean
指定边界处理方式,即位于面边线上的点是否被面包含,或线只有端点与面相交时是否与面相交。
isShowProgress
Type: System..::.Boolean
指定是否显示进度条。设置为 true,则显示进度条,否则不显示。

返回值

一个整型数组,数组元素的含义见备注部分。

备注

关于该方法返回的整型数组各元素的含义,请结合下图来理解。

在下图中,有两个数据集,当前数据集 T 和相关数据集 S,数据集 T 包含 T1 和 T2 两个对象,数据集 S 包含 S1 和 S2 两个对象,调用 GetIDsByGeoRelation 方法来获取数据集 S 中与数据集 T 中的对象满足相关关系的对象的 ID,其返回值为[IDT1,1,IDS1,IDT2,2,IDS1,IDS2]。

故该方法返回的数组其结构可归纳为:[当前数据集中第一个对象的 SMID,相关数据集中与之满足空间关系的对象个数,相关数据集中与之满足空间关系的第一个对象的 SMID,第二个,...,当前数据集中第二个对象的 SMID,...,依此类推]。

注意,假设数据集 T 中的第 n 个对象,在数据集 S 中没有与之满足空间关系的对象,则数组中只记录该对象的 ID 和满足空间关系的对象数(即 0),即[...,IDTn,0,IDT(n+1),...]。

请参见