根据给定的宽度从双线记录集中提取中心线。

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

语法

C#
public static DatasetVector DualLineToCenterLine(
	Recordset sourceRecordset,
	double maxWidth,
	double minWidth,
	Datasource outputDatasource,
	string outputDatasetName
)

参数

sourceRecordset
Type: SuperMap.Data..::.Recordset
指定的双线记录集。要求记录集所属的数据集类型为线或者面。
maxWidth
Type: System..::.Double
指定的双线的最大宽度。要求为大于 0 的值。单位与双线记录集所属的数据集相同。
minWidth
Type: System..::.Double
指定的双线的最小宽度。要求为大于或等于 0 的值。单位与双线记录集所属的数据集相同。
outputDatasource
Type: SuperMap.Data..::.Datasource
指定的用于存储结果中心线数据集的数据源。
outputDatasetName
Type: System..::.String
指定的结果中心线数据集的名称。

返回值

结果中心线数据集,是一个线数据集。

备注

该功能一般用于提取双线道路或河流的中心线。双线要求连续且平行或基本平行,提取效果如下图。

注意:

  1. 双线一般为双线道路或双线河流,可以是线数据,也可以是面数据。
  2. maxWidth 和 minWidth 参数用于指定记录集中双线的最大宽度和最小宽度,用于提取最小和最大宽度之间的双线的中心线。小于最小宽度、大于最大宽度部分的双线不提取中心线,且大于最大宽度的双线保留,小于最小宽度的双线丢弃。
  3. 对于双线道路或双线河流中比较复杂的交叉口,如五叉六叉,或者双线的最大宽度和最小宽度相差较大的情形,提取的结果可能不理想。

异常

异常条件
System..::.ArgumentExceptionmaxWidth 小于或等于 0,或 minWidth 小于 0。

版本信息

SuperMap iObjects .NET


请参见