com.supermap.mapping
类 Selection
- java.lang.Object
-
- com.supermap.mapping.Selection
-
public class Selection extends java.lang.Object选择集类。该类用于处理地图上被选中的对象。与该类紧密相连的类是
Recordset记录集类。通常可以通过选择集类返回地图的选择信息或设置地图上的选中情况。通过与 Recordset 的交互,就可以处理与选中对象相对应的数据。- Example:
- 以下代码示范了从记录集获取选择集,并统计选择集里人口数量的最大值(Pop_1994 字段存储的是人口数量值)。
假设打开了一个工作空间
workspace对象,工作空间中存在名为 World 的数据源。public void selectionTest() { // 返回数据集,该数据集包含表示人口数量的 Pop_1994 字段 DatasetVector datasetvector = (DatasetVector) workspace.getDatasources() .get(0).getDatasets().get("World"); Layer layer = m_mapControl.getMap().getLayers.add(datasetVector, true); // 根据 ID 进行查询,返回查询结果记录集 Recordset recordset = datasetvector.query(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19 }, CursorType.STATIC); // 设置选择集的风格 Selection selection = layer.getSelection(); GeoStyle style = new GeoStyle(); style.setLineColor(java.awt.Color.cyan); style.setLineSymbolID(5); style.setLineWidth(3.0); selection.setStyle(style); // 从记录集获取选择集 selection.fromRecordset(recordset); // 移除从序号1到10的几何对象 selection.removeRange(1, 10); m_mapControl.getMap().refresh(); // 将选择集转化为记录集 Recordset recordset1 = selection.toRecordset(); // 统计人口最大值 double maxValue = recordset1.statistic("Pop_1994", StatisticMode.MAX); System.out.println("人口最大值" + maxValue); // 清空选择集 selection.clear(); // 释放资源 recordset1.dispose(); recordset.dispose(); selection.dispose(); }
-
-
构造器概要
构造器 构造器和说明 Selection()默认构造函数,构造一个新的Selection对象。Selection(DatasetVector dataset)根据指定的参数构造Selection类的新实例。Selection(Selection selection)拷贝构造函数,根据给定的Selection对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 intadd(int geometryID)用于向选择集中加入几何对象。voidclear()将选择集清空,这样被选中的对象将全部恢复到未选中状态。voiddispose()释放该对象所占用的资源。booleanfromRecordset(Recordset recordset)用于把一个记录集转化为选择集(即记录集所对应的对象全部呈选中状态)。intget(int index)根据属性数据中SmID 字段的值返回选择集中指定几何对象的系统 ID。intgetCount()返回选择集中几何对象的个数。DatasetVectorgetDataset()返回选择集中几何对象所在的数据集。GeoStylegetStyle()返回选择集几何对象的显示风格。booleanremove(int geometryID)用于从选择集中删除一个几何对象,该几何对象由原来的呈选中状态变为非选中状态。intremoveRange(int index, int count)用于从选择集中删除指定的若干几何对象,这些几何对象由原来的选中状态变为非选中状态。voidsetDataset(DatasetVector dataset)设置选择集中几何对象所在的数据集。voidsetStyle(GeoStyle style)设置选择集几何对象的显示风格。RecordsettoRecordset()用于把选择对象转化为记录集。
-
-
-
构造器详细资料
-
Selection
public Selection(DatasetVector dataset)
根据指定的参数构造Selection类的新实例。- 参数:
dataset- 指定的数据集。
-
Selection
public Selection(Selection selection)
拷贝构造函数,根据给定的Selection对象构造一个与其完全相同的新对象。- 参数:
selection- 指定的Selection对象。
-
Selection
public Selection()
默认构造函数,构造一个新的Selection对象。
-
-
方法详细资料
-
getCount
public int getCount()
返回选择集中几何对象的个数。- 返回:
- 选择集中几何对象的个数。
- Default:
- 默认值为 0。即选择集中没有几何对象。
-
get
public int get(int index)
根据属性数据中SmID 字段的值返回选择集中指定几何对象的系统 ID。- 参数:
index- 属性数据中SmID 字段的值- 返回:
- 选择集中指定几何对象的系统 ID
-
getDataset
public DatasetVector getDataset()
返回选择集中几何对象所在的数据集。- 返回:
- 选择集中几何对象所在的数据集。
- Default:
- 默认值为 null。
-
fromRecordset
public boolean fromRecordset(Recordset recordset)
用于把一个记录集转化为选择集(即记录集所对应的对象全部呈选中状态)。- 参数:
recordset- 要转化为选择集的记录集。- 返回:
- 一个布尔值,转换成功返回 true,否则返回 false
-
toRecordset
public Recordset toRecordset()
用于把选择对象转化为记录集。只有将选择集转化为记录集后才能对其数据进行操作。- 返回:
- 转化得到的记录集,该记录集包括所有的字段。
-
setDataset
public void setDataset(DatasetVector dataset)
设置选择集中几何对象所在的数据集。- 参数:
dataset- 选择集中几何对象所在的数据集。
-
getStyle
public GeoStyle getStyle()
返回选择集几何对象的显示风格。- 返回:
- 选择集几何对象的显示风格。
- Default:
- 默认值为 {FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=189, G=235, B=255],FillGradientAngle =0,FillGradientMode=None,FillGradientOffsetRatioX =0,FillGradientOffsetRatioY =0,FillOpaqueRate=100,FillSymbolID=1,LineColor=Color [A=255, R=0, G=0, B=255],LineSymbolID=0,LineWidth=0.1,MarkerAngle=0,MarkerSize ={Width=2.4,Height=2.4},MarkerSymbolID=0}
-
setStyle
public void setStyle(GeoStyle style)
设置选择集几何对象的显示风格。- 参数:
style- 选择集几何对象的显示风格。
-
add
public int add(int geometryID)
用于向选择集中加入几何对象。- 参数:
geometryID- 新添加的几何对象的 ID 值(即其属性数据中 SmID 字段的值)。- 返回:
- 新添几何对象在选择集中的序号。
-
remove
public boolean remove(int geometryID)
用于从选择集中删除一个几何对象,该几何对象由原来的呈选中状态变为非选中状态。- 参数:
geometryID- 要删除几何对象的 ID 号(即其属性数据中 SmID 字段的值)- 返回:
- 删除成功返回 true;否则返回 false。
-
removeRange
public int removeRange(int index, int count)用于从选择集中删除指定的若干几何对象,这些几何对象由原来的选中状态变为非选中状态。- 参数:
index- 要删除的第一个几何对象的序列号。count- 要删除的几何对象的个数。- 返回:
- 成功删除的几何对象的个数。
-
clear
public void clear()
将选择集清空,这样被选中的对象将全部恢复到未选中状态。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
-