根据给定的宽度从双线记录集中提取中心线。
命名空间:
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
指定的结果中心线数据集的名称。
返回值
结果中心线数据集,是一个线数据集。
备注
该功能一般用于提取双线道路或河流的中心线。双线要求连续且平行或基本平行,提取效果如下图。
注意:
- 双线一般为双线道路或双线河流,可以是线数据,也可以是面数据。
- maxWidth 和 minWidth 参数用于指定记录集中双线的最大宽度和最小宽度,用于提取最小和最大宽度之间的双线的中心线。小于最小宽度、大于最大宽度部分的双线不提取中心线,且大于最大宽度的双线保留,小于最小宽度的双线丢弃。
- 对于双线道路或双线河流中比较复杂的交叉口,如五叉六叉,或者双线的最大宽度和最小宽度相差较大的情形,提取的结果可能不理想。
异常
异常 | 条件 |
---|---|
System..::.ArgumentException | maxWidth 小于或等于 0,或 minWidth 小于 0。 |