public class BufferAnalyst extends Object
缓冲区分析是围绕空间对象,使用一个或多个与这些对象的距离值(称为缓冲半径)作为半径,生成一个或多个区域的过程。缓冲区也可以理解为空间对象的一种影响或服务范围。
缓冲区分析的基本作用对象是点、线、面。SuperMap 支持对二维点、线、面数据集(或记录集)和网络数据集进行缓冲区分析。其中,对网络数据集进行缓冲区分析时,是对其中的弧段作缓冲区。缓冲区的类型可以分析单重缓冲区(或称简单缓冲区)和多重缓冲区。下面以简单缓冲区为例分别介绍点、线、面的缓冲区。
点的缓冲区是以点对象为圆心,以给定的缓冲距离为半径生成的圆形区域。当缓冲距离足够大时,两个或多个点对象的缓冲区可能有重叠。选择合并缓冲区时,重叠部分将被合并,最终得到的缓冲区是一个复杂面对象。
线的缓冲区是沿线对象的法线方向,分别向线对象的两侧平移一定的距离而得到两条线,并与在线端点处形成的光滑曲线(也可以形成平头)接合形成的封闭区域。同样,当缓冲距离足够大时,两个或多个线对象的缓冲区可能有重叠。合并缓冲区的效果与点的合并缓冲区相同。
线对象两侧的缓冲宽度可以不一致,从而生成左右不等缓冲区;也可以只在线对象的一侧创建单边缓冲区。此时只能生成平头缓冲区。
面的缓冲区生成方式与线的缓冲区类似,区别是面的缓冲区仅在面边界的一侧延展或收缩。当缓冲半径为正值时,缓冲区向面对象边界的外侧扩展;为负值时,向边界内收缩。同样,当缓冲距离足够大时,两个或多个线对象的缓冲区可能有重叠。也可以选择合并缓冲区,其效果与点的合并缓冲区相同。
缓冲区分析在 GIS 空间分析中经常用到,且往往结合叠加分析来共同解决实际问题。缓冲区分析在农业、城市规划、生态保护、防洪抗灾、军事、地质、环境等诸多领域都有应用。
例如扩建道路时,可根据道路扩宽宽度对道路创建缓冲区,然后将缓冲区图层与建筑图层叠加,通过叠加分析查找落入缓冲区而需要被拆除的建筑;又如,为了保护环境和耕地,可对湿地、森林、草地和耕地进行缓冲区分析,在缓冲区内不允许进行工业建设。
说明:
关于缓冲区的参数设置,请参见 BufferAnalystParameter
类。
限定符和类型 | 方法和说明 |
---|---|
static void |
addSteppedListener(SteppedListener l)
添加一个进度条事件(
SteppedEvent )的监听器。 |
static boolean |
createBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
BufferAnalystParameter bufferAnalystParameter,
boolean isUnion,
boolean isAttributeRetained)
已过时。
|
static boolean |
createBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
BufferAnalystParameter bufferAnalystParameter,
boolean isUnion,
boolean isAttributeRetained,
SteppedListener... listeners)
创建矢量数据集缓冲区。
|
static boolean |
createBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
BufferAnalystParameter bufferAnalystParameter,
boolean isUnion,
boolean isAttributeRetained)
已过时。
|
static boolean |
createBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
BufferAnalystParameter bufferAnalystParameter,
boolean isUnion,
boolean isAttributeRetained,
SteppedListener... listeners)
创建矢量记录集缓冲区。
|
static boolean |
createLineOneSideMultiBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isLeft,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing)
|
static boolean |
createLineOneSideMultiBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isLeft,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing,
SteppedListener... listeners)
创建矢量线数据集单边多重缓冲区。
|
static boolean |
createLineOneSideMultiBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isLeft,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing)
|
static boolean |
createLineOneSideMultiBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isLeft,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing,
SteppedListener... listeners)
创建矢量线记录集单边多重缓冲区。
|
static boolean |
createMultiBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing)
|
static boolean |
createMultiBuffer(DatasetVector sourceDataset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing,
SteppedListener... listeners)
创建矢量数据集多重缓冲区。
|
static boolean |
createMultiBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing)
|
static boolean |
createMultiBuffer(Recordset sourceRecordset,
DatasetVector resultDataset,
double[] bufferRadii,
BufferRadiusUnit bufferRadiusUnit,
int semicircleSegments,
boolean isUnion,
boolean isAttributeRetained,
boolean isRing,
SteppedListener... listeners)
创建矢量记录集多重缓冲区。
|
static void |
removeSteppedListener(SteppedListener l)
移除一个进度条事件(
SteppedEvent )的监听器。 |
public static boolean createBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, BufferAnalystParameter bufferAnalystParameter, boolean isUnion, boolean isAttributeRetained)
BufferAnalyst.createBuffer(DatasetVector, DatasetVector, BufferAnalystParameter, boolean, boolean, SteppedListener...)
替换。有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceDataset
- 指定的创建缓冲区的源矢量数据集。支持点、线、面数据集和网络数据集。对网络数据集进行分析,是对其中的弧段作缓冲区。resultDataset
- 指定的存储缓冲区分析结果的数据集,必须是面数据集。bufferAnalystParameter
- 指定的缓冲区分析参数对象。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。对于面对象而言,要求源数据集中的面对象不相交。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 参数为 false 时有效。public void bufferAnalystForDataset() { // 返回用来建立缓冲区的矢量数据集 Workspace workspace = new Workspace(); DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo("G:/shanghai/shanghai.udb", "shanghai", ""); Datasource targetDatasource = workspace.getDatasources().open( datasourceConnectionInfo); DatasetVector datasetRoad = (DatasetVector) targetDatasource. getDatasets().get("Road_L"); // 创建一个面矢量数据集,用于存储缓冲区分析的结果 String resultDatasetName = targetDatasource.getDatasets(). getAvailableDatasetName( "resultDatasetBuffer"); DatasetVectorInfo datasetvectorInfo = new DatasetVectorInfo(); datasetvectorInfo.setType(DatasetType.REGION); datasetvectorInfo.setName(resultDatasetName); datasetvectorInfo.setEncodeType(EncodeType.NONE); DatasetVector resultDatasetBuffer = targetDatasource.getDatasets(). create(datasetvectorInfo); // 设置缓冲区分析参数 BufferAnalystParameter bufferAnalystParam = new BufferAnalystParameter(); bufferAnalystParam.setEndType(BufferEndType.FLAT); bufferAnalystParam.setLeftDistance(20); bufferAnalystParam.setRightDistance(20); // 调用创建矢量数据集缓冲区方法 BufferAnalyst.createBuffer(datasetRoad, resultDatasetBuffer, bufferAnalystParam, false, true); // 释放工作空间占有的资源 workspace.dispose(); }
public static boolean createBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, BufferAnalystParameter bufferAnalystParameter, boolean isUnion, boolean isAttributeRetained, SteppedListener... listeners)
有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceDataset
- 指定的创建缓冲区的源矢量数据集。支持点、线、面数据集和网络数据集。对网络数据集进行分析,是对其中的弧段作缓冲区。resultDataset
- 指定的存储缓冲区分析结果的数据集,必须是面数据集。bufferAnalystParameter
- 指定的缓冲区分析参数对象。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。对于面对象而言,要求源数据集中的面对象不相交。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 参数为 false 时有效。listeners
- 用于接收进度条事件的监听器。public void bufferAnalystForDataset() { // 返回用来建立缓冲区的矢量数据集 Workspace workspace = new Workspace(); DatasourceConnectionInfo datasourceConnectionInfo = new DatasourceConnectionInfo("G:/shanghai/shanghai.udb", "shanghai", ""); Datasource targetDatasource = workspace.getDatasources().open( datasourceConnectionInfo); DatasetVector datasetRoad = (DatasetVector) targetDatasource. getDatasets().get("Road_L"); // 创建一个面矢量数据集,用于存储缓冲区分析的结果 String resultDatasetName = targetDatasource.getDatasets(). getAvailableDatasetName( "resultDatasetBuffer"); DatasetVectorInfo datasetvectorInfo = new DatasetVectorInfo(); datasetvectorInfo.setType(DatasetType.REGION); datasetvectorInfo.setName(resultDatasetName); datasetvectorInfo.setEncodeType(EncodeType.NONE); DatasetVector resultDatasetBuffer = targetDatasource.getDatasets(). create(datasetvectorInfo); // 设置缓冲区分析参数 BufferAnalystParameter bufferAnalystParam = new BufferAnalystParameter(); bufferAnalystParam.setEndType(BufferEndType.FLAT); bufferAnalystParam.setLeftDistance(20); bufferAnalystParam.setRightDistance(20); // 调用创建矢量数据集缓冲区方法 BufferAnalyst.createBuffer(datasetRoad, resultDatasetBuffer, bufferAnalystParam, false, true); // 释放工作空间占有的资源 workspace.dispose(); }
@Deprecated public static boolean createBuffer(Recordset sourceRecordset, DatasetVector resultDataset, BufferAnalystParameter bufferAnalystParameter, boolean isUnion, boolean isAttributeRetained)
BufferAnalyst.createBuffer(Recordset, DatasetVector, BufferAnalystParameter, boolean, boolean, SteppedListener...)
替换。有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建缓冲区的源矢量记录集。支持点、线、面记录集。resultDataset
- 指定的存储缓冲区分析结果的数据集,必须是面数据集。bufferAnalystParameter
- 指定的缓冲区分析参数对象。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。对于面对象而言,要求源数据集中的面对象不相交。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 参数为 false 时有效。public void bufferAnalystForRecordset(Recordset recordsetLine, DatasetVector resultDatasetBuffer) { // 设置缓冲区分析参数 BufferAnalystParameter bufferAnalystParam = new BufferAnalystParameter(); bufferAnalystParam.setEndType(BufferEndType.FLAT); bufferAnalystParam.setLeftDistance(20); bufferAnalystParam.setRightDistance(20); // 调用为记录集建立缓冲区的方法 BufferAnalyst.createBuffer(recordsetLine, resultDatasetBuffer, bufferAnalystParam, false,true); }
public static boolean createBuffer(Recordset sourceRecordset, DatasetVector resultDataset, BufferAnalystParameter bufferAnalystParameter, boolean isUnion, boolean isAttributeRetained, SteppedListener... listeners)
有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建缓冲区的源矢量记录集。支持点、线、面记录集。resultDataset
- 指定的存储缓冲区分析结果的数据集,必须是面数据集。bufferAnalystParameter
- 指定的缓冲区分析参数对象。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。对于面对象而言,要求源数据集中的面对象不相交。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效。即当 isUnion 参数为 false 时有效。listeners
- 用于接收进度条事件的监听器。public void bufferAnalystForRecordset(Recordset recordsetLine, DatasetVector resultDatasetBuffer) { // 设置缓冲区分析参数 BufferAnalystParameter bufferAnalystParam = new BufferAnalystParameter(); bufferAnalystParam.setEndType(BufferEndType.FLAT); bufferAnalystParam.setLeftDistance(20); bufferAnalystParam.setRightDistance(20); // 调用为记录集建立缓冲区的方法 BufferAnalyst.createBuffer(recordsetLine, resultDatasetBuffer, bufferAnalystParam, false,true); }
public static boolean createMultiBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isUnion, boolean isAttributeRetained, boolean isRing)
BufferAnalyst.createMultiBuffer(DatasetVector, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, SteppedListener...)
替换。有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceDataset
- 指定的创建多重缓冲区的源矢量数据集。支持点、线、面数据集和网络数据集。对网络数据集进行分析,是对其中的弧段作缓冲区。resultDataset
- 指定的用于存储缓冲区分析结果的数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。createMultiBuffer(Recordset, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean)
方法的示例。public static boolean createMultiBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isUnion, boolean isAttributeRetained, boolean isRing, SteppedListener... listeners)
有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceDataset
- 指定的创建多重缓冲区的源矢量数据集。支持点、线、面数据集和网络数据集。对网络数据集进行分析,是对其中的弧段作缓冲区。resultDataset
- 指定的用于存储缓冲区分析结果的数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。listeners
- 用于接收进度条事件的监听器。createMultiBuffer(Recordset, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean)
方法的示例。@Deprecated public static boolean createMultiBuffer(Recordset sourceRecordset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isUnion, boolean isAttributeRetained, boolean isRing)
BufferAnalyst.createMultiBuffer(Recordset, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, SteppedListener...)
替换。有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建多重缓冲区的源矢量记录集。支持点、线、面记录集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。public void multiBufferForRecordset(Recordset sourceRecordset, DatasetVector resultDataset) { // 使用数组来存储多重缓冲区的半径 double[] arrayRadius = { 30, 90, 100, 200 }; // 设置弧段拟合数为20 int semicircleSegments = 20; BufferAnalyst.createMultiBuffer(sourceRecordset, resultDataset, arrayRadius, BufferRadiusUnit.Meter, semicircleSegments, false, true, false); }
public static boolean createMultiBuffer(Recordset sourceRecordset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isUnion, boolean isAttributeRetained, boolean isRing, SteppedListener... listeners)
有关缓冲区分析的介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建多重缓冲区的源矢量记录集。支持点、线、面记录集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。listeners
- 用于接收进度条事件的监听器。public void multiBufferForRecordset(Recordset sourceRecordset, DatasetVector resultDataset) { // 使用数组来存储多重缓冲区的半径 double[] arrayRadius = { 30, 90, 100, 200 }; // 设置弧段拟合数为20 int semicircleSegments = 20; BufferAnalyst.createMultiBuffer(sourceRecordset, resultDataset, arrayRadius, BufferRadiusUnit.Meter, semicircleSegments, false, true, false); }
@Deprecated public static boolean createLineOneSideMultiBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isLeft, boolean isUnion, boolean isAttributeRetained, boolean isRing)
BufferAnalyst.createLineOneSideMultiBuffer(DatasetVector, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, boolean, SteppedListener...)
替换。线的单边多重缓冲区,是指在线对象的一侧生成多重缓冲区。左侧是指沿线对象的节点序列方向的左侧,右侧为节点序列方向的右侧。
有关缓冲区分析的更多介绍,请参阅 BufferAnalyst
类。
注意:不支持对网络数据集创建线的单边多重缓冲区。
sourceDataset
- 指定的创建多重缓冲区的源矢量数据集。只支持线数据集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集,必须是面数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isLeft
- 是否生成左缓冲区。设置为 true,在线的左侧生成缓冲区,否则在右侧生成缓冲区。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。public void oneSideMultiBufferForDataset(DatasetVector sourceDataset, DatasetVector resultDataset) { //使用数组来存储多重缓冲区的半径 double[] arrayRadius ={30,100}; //设置弧段拟合数为20 int semicircleSegments = 20; //设置单边缓冲区的类型为左缓冲区 boolean isLeft = true; BufferAnalyst.createLineOneSideMultiBuffer(sourceDataset, resultDataset, arrayRadius, BufferRadiusUnit.Meter, semicircleSegments, isLeft, false, true, false); }
public static boolean createLineOneSideMultiBuffer(DatasetVector sourceDataset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isLeft, boolean isUnion, boolean isAttributeRetained, boolean isRing, SteppedListener... listeners)
线的单边多重缓冲区,是指在线对象的一侧生成多重缓冲区。左侧是指沿线对象的节点序列方向的左侧,右侧为节点序列方向的右侧。
有关缓冲区分析的更多介绍,请参阅 BufferAnalyst
类。
注意:不支持对网络数据集创建线的单边多重缓冲区。
sourceDataset
- 指定的创建多重缓冲区的源矢量数据集。只支持线数据集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集,必须是面数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isLeft
- 是否生成左缓冲区。设置为 true,在线的左侧生成缓冲区,否则在右侧生成缓冲区。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。listeners
- 用于接收进度条事件的监听器。public void oneSideMultiBufferForDataset(DatasetVector sourceDataset, DatasetVector resultDataset) { //使用数组来存储多重缓冲区的半径 double[] arrayRadius ={30,100}; //设置弧段拟合数为20 int semicircleSegments = 20; //设置单边缓冲区的类型为左缓冲区 boolean isLeft = true; BufferAnalyst.createLineOneSideMultiBuffer(sourceDataset, resultDataset, arrayRadius, BufferRadiusUnit.Meter, semicircleSegments, isLeft, false, true, false); }
@Deprecated public static boolean createLineOneSideMultiBuffer(Recordset sourceRecordset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isLeft, boolean isUnion, boolean isAttributeRetained, boolean isRing)
BufferAnalyst.createLineOneSideMultiBuffer(Recordset, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, boolean, SteppedListener...)
替换。
有关线单边多重缓冲区分析的介绍,请参阅另一重载方法 createLineOneSideMultiBuffer
;有关缓冲区分析的更多介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建多重缓冲区的源矢量记录集。只支持线记录集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集,必须是面数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isLeft
- 是否生成左缓冲区。设置为 true,在线的左侧生成缓冲区,否则在右侧生成缓冲区。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。createLineOneSideMultiBuffer(DatasetVector, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, boolean)
方法的示例。public static boolean createLineOneSideMultiBuffer(Recordset sourceRecordset, DatasetVector resultDataset, double[] bufferRadii, BufferRadiusUnit bufferRadiusUnit, int semicircleSegments, boolean isLeft, boolean isUnion, boolean isAttributeRetained, boolean isRing, SteppedListener... listeners)
有关线单边多重缓冲区分析的介绍,请参阅另一重载方法 createLineOneSideMultiBuffer
;有关缓冲区分析的更多介绍,请参阅 BufferAnalyst
类。
sourceRecordset
- 指定的创建多重缓冲区的源矢量记录集。只支持线记录集。resultDataset
- 指定的用于存储缓冲区分析结果的数据集,必须是面数据集。bufferRadii
- 指定的多重缓冲区半径列表。单位由 bufferRadiusUnit 参数指定。bufferRadiusUnit
- 指定的缓冲区半径单位。semicircleSegments
- 指定的弧段拟合数。isLeft
- 是否生成左缓冲区。设置为 true,在线的左侧生成缓冲区,否则在右侧生成缓冲区。isUnion
- 是否合并缓冲区,即是否将源数据各对象生成的所有缓冲区域进行合并运算后返回。isAttributeRetained
- 是否保留进行缓冲区分析的对象的字段属性。当合并结果面数据集时,该参数无效,即当 isUnion 为 false 时有效。isRing
- 是否生成环状缓冲区。设置为 true,则生成多重缓冲区时外圈缓冲区是以环状区域与内圈数据相邻的;设置为 false,则外围缓冲区是一个包含了内圈数据的区域。listeners
- 用于接收进度条事件的监听器。createLineOneSideMultiBuffer(DatasetVector, DatasetVector, double[], BufferRadiusUnit, int, boolean, boolean, boolean, boolean)
方法的示例。
public static void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public static void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。Copyright © 2021–2024 SuperMap. All rights reserved.