线靠面功能,此接口主要用于国土数据处理,例如,在国土数据处理中,对于扣除比例为0.5的情况,会把线靠到两个面的公共线上。对于扣除比例为1的情况,会把线靠到公共边线或者是面的单独线上,但不会跨越多个图斑。

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

语法

C#
public static bool LineAttachRegion(
	GeoLine geoLine,
	GeoRegion geoRegion,
	List<GeoRegion> listRegionCompare,
	double toleranceLineAttachRegion,
	double toleranceRegionMerge,
	double toleranceChange,
	bool isUsePreProcess
)

参数

geoLine
Type: SuperMap.Data..::.GeoLine
要处理的线对象。
geoRegion
Type: SuperMap.Data..::.GeoRegion
要处理的面对象。例如在国土数据处理中,对于扣除比例为0.5的情况,传入要靠的两个面对象其中一个,对于扣除比例为1的情况,传入要靠的面对象。
listRegionCompare
Type: System.Collections.Generic..::.List<(Of <(GeoRegion>)>)
要比较的面对象,外部需要传入一个链表对象。例如,国土数据处理中,对于扣除比例为0.5的情况,这个数组里只包含一个面对象,就是要靠的两个面对象的另外一个,对于扣除比例为1的情况,传入要靠的面对象周围的对象数组。
toleranceLineAttachRegion
Type: System..::.Double
指的是线靠面的时候,线的端点捕捉到节点的容限。若线的端点到节点的容限小于toleranceLineAttachRegion会直接把线的端点捕捉到面的节点上,否则会把线的端点捕捉到面的线段上,并且在面上插入垂足。若不存在这样最近的垂足,则还是会捕捉到面的节点上。
toleranceRegionMerge
Type: System..::.Double
指的是面之间插入节点的容限,以及面和面之间寻找重复线的容限。
toleranceChange
Type: System..::.Double
指的是如果新替换的线和原来的线之间的极大距离大于给定的容限,则函数返回false。容限值可以小于等于0,小于等于0时不会比较新替换的线和原来线的距离。
isUsePreProcess
Type: System..::.Boolean
是否进行数据预处理,这个一般要设置为true,除非是对自己的数据非常有信心。

返回值

处理成功返回true,否则为false。

备注

1. 接口主要用于国土等行业。 2. 传入的geoLine对象点坐标会被改变,也就是,如果线靠面成功,geoLine的坐标点已经被修改了,同样,geoRegion也可能发生坐标改变。 3. 对传入listRegionCompare 对象,有可能对象数目会变化,如果接口返回成功,listRegionCompare中对象保留的只是被修改了的面对象,没有变化的面对象都会被移除掉且资源会被析构,但是listRegionCompare本身对象不会变,只是它里面存储的面对象数目和面对象会变化。

版本信息

SuperMap iObjects .NET


请参见