创建矢量线数据集单边多重缓冲区。

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

语法

C#
public static bool CreateLineOneSideMultiBuffer(
	DatasetVector sourceDataset,
	DatasetVector resultDataset,
	double[] bufferRadii,
	BufferRadiusUnit bufferRadiusUnit,
	int semicircleSegments,
	bool isLeft,
	bool isUnion,
	bool isAttributeRetained,
	bool isRing
)

参数

sourceDataset
Type: SuperMap.Data..::.DatasetVector
指定的创建多重缓冲区的源矢量数据集。只支持线数据集。
resultDataset
Type: SuperMap.Data..::.DatasetVector
指定的用于存储缓冲区分析结果的数据集,必须是面数据集。
bufferRadii
Type: array< System..::.Double >[]()[]
bufferRadiusUnit
Type: SuperMap.Analyst.SpatialAnalyst..::.BufferRadiusUnit
指定的缓冲区半径单位。
semicircleSegments
Type: System..::.Int32
指定的弧段拟合数。
isLeft
Type: System..::.Boolean
是否生成左缓冲区。设置为 true,在线的左侧生成缓冲区,否则在右侧生成缓冲区。
isUnion
Type: System..::.Boolean
是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。
isAttributeRetained
Type: System..::.Boolean
是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 为 false 时有效。
isRing
Type: System..::.Boolean
是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。

返回值

一个布尔值,如果成功返回 true,否则返回 false。

备注

线的单边多重缓冲区,是指在线对象的一侧生成多重缓冲区。左侧是指沿线对象的节点序列方向的左侧,右侧为节点序列方向的右侧。

有关缓冲区分析的更多介绍,请参阅 BufferAnalyst 类。

注意:不支持对网络数据集创建线的单边多重缓冲区。

示例

以下代码示范了如何创建矢量线数据集的单边多重缓冲区。假设已经获取需要做缓冲区的数据集,并且用于存储结果的数据集已经创建或存在。

CopyC#
public void OneSideMultiBufferForDataset(DatasetVector sourceDataset, DatasetVector resultDataset)
{
    //使用数组来存储多重缓冲区的半径
    Double[] arrayRadius = new Double[2] { 30, 100 };

    //设置弧段拟合数为20
    Int32 semicircleSegments = 20;

    //设置单边缓冲区的类型为左缓冲区
    Boolean isLeft = true;

    //调用创建矢量线数据集单边多重缓冲区方法
    BufferAnalyst.CreateLineOneSideMultiBuffer(sourceDataset, resultDataset, arrayRadius, 
        BufferRadiusUnit.Meter, semicircleSegments, isLeft, false, true, false);
}

请参见