首页 / 浏览问题 / 组件GIS / 问题详情
iObject中空间分析intersect的问题
3EXP 2024年05月17日
iObject .net 11.1.1   vs2012  win10 x64

问题一:

一个点层 : Dataset d1 = workspace1.Datasources[0].Datasets["capital"];
一个面层:            Dataset d2 = workspace1.Datasources[0].Datasets["jhb"];

通过枚举geometry 放入数组:  Geometry[] g1 = new Geometry[count1];   

OverlayResult[] kk = OverlayAnalyst.Intersect(g1,g2,0.01);   提示:必须有面类型,可是jhb这个层是面层呀?怎么回事?

问题二:有没有判断一个geometry和另一个geometry是否相交的方法,我需要一个要素一个要素地判断。

1个回答

您好,请您确定下您具体用的 Intersect 的哪个重载哦, Intersect 是有很多重载方法的,不同重载方法的参数是不一样的。

比如:OverlayAnalyst.Intersect 方法 (DatasetVector, DatasetVector, DatasetVector, OverlayAnalystParameter)

public static bool Intersect(
	DatasetVector dataset,
	DatasetVector intersectDataset,
	DatasetVector resultDataset,
	OverlayAnalystParameter parameter
)

参数

dataset

Type: SuperMap.Data..::.DatasetVector
被相交叠加分析的数据集,该数据集的类型可以是点、线、面数据集。

intersectDataset

Type: SuperMap.Data..::.DatasetVector
用来相交叠加分析的数据集,该数据集必须是面数据集。

resultDataset

Type: SuperMap.Data..::.DatasetVector
存放分析结果的数据集。

parameter

Type: SuperMap.Analyst.SpatialAnalyst..::.OverlayAnalystParameter
叠加分析的参数对象,该对象用于设置分析时的保留字段等分析参数。

第二个dataset才是被相交数据集,必须是面数据集。

同时相交分析要注意被分析数据集和分析数据集的坐标系要相同一致。

想要判断 geometry 和 geometry 是否可以相交,使用Geometrist.HasAreaIntersection。

希望可以帮到您。

9,823EXP 2024年05月17日
用的是OverlayAnalyst.Intersect(Geometry[], Geometry[], Double)这个方法。
...