创建矢量记录集多重缓冲区。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static bool CreateMultiBuffer( Recordset sourceRecordset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, bool isUnion, bool isAttributeRetained, bool isRing ) |
参数
- sourceRecordset
- Type: SuperMap.Data..::.Recordset
指定的创建多重缓冲区的源矢量记录集。支持点、线、面记录集。
- resultDataset
- Type: SuperMap.Data..::.DatasetVector
指定的用于存储缓冲区分析结果的数据集。
- bufferRadii
- Type: array<
System..::.Double
>[]()[]
- bufferRadiusUnit
- Type: SuperMap.Analyst.SpatialAnalyst..::.BufferRadiusUnit
指定的缓冲区半径单位。
- semicircleSegments
- Type: System..::.Int32
指定的弧段拟合数。
- isUnion
- Type: System..::.Boolean
是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。
- isAttributeRetained
- Type: System..::.Boolean
是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 为 false 时有效。
- isRing
- Type: System..::.Boolean
是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。
返回值
一个布尔值,如果成功返回 true,否则返回 false。备注
有关缓冲区分析的介绍,请参阅 BufferAnalyst 类。
示例
以下代码示范了如何根据给定的记录集创建线的多重缓冲区。假设已经获取需要做缓冲区的记录集,并且用于存储结果的数据集已经创建或存在。
CopyC#
public void MultiBufferForRecordset(Recordset sourceRecordset, DatasetVector resultDataset) { //使用数组来存储多重缓冲区的半径 Double[] arrayRadius = new Double[4] { 30, 90, 100, 200 }; //设置弧段拟合数为20 Int32 semicircleSegments = 20; BufferAnalyst.CreateMultiBuffer(sourceRecordset, resultDataset, arrayRadius, BufferRadiusUnit.Meter, semicircleSegments, false, true, false); }