com.supermap.mapping
类 Selection
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.mapping.Selection
-
- 所有已实现的接口:
- IDisposable
public class Selection extends com.supermap.data.InternalHandleDisposable
选择集类。该类用于处理地图上被选中的对象。与该类紧密相连的类是
Recordset
记录集类。通常可以通过选择集类返回地图的选择信息或设置地图上的选中情况。通过与 Recordset 的交互,就可以处理与选中对象相对应的数据。假设打开了一个工作空间
workspace
对象,工作空间中存在名为 World 的数据源。- 示范代码:
- 以下代码示范了从记录集获取选择集,并统计选择集里人口数量的最大值(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 = new Selection(); selection.fromRecordset(recordset); // 移除从序号1到10的几何对象 selection.removeRange(1, 10); // 设置选择集的风格 GeoStyle style = new GeoStyle(); style.setLineColor(java.awt.Color.cyan); style.setLineSymbolID(5); style.setLineWidth(3.0); selection.setStyle(style); layer.setSelection(selection); 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类的实例构建新实例。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
add(int geometryID)
用于向选择集中加入几何对象。int
add(long geometryID)
向选择集添加几何对象。int
add(String geometryID)
向选择集添加几何对象。int
addRange(int[] geometryIDs)
用几何对象的 ID 数组指定一系列几何对象,将其批量加入到选择集中。int
addRange(long[] geometryIDs)
向选择集添加一组几何对象。int
addRange(String[] geometryIDs)
向选择集添加一组几何对象。void
clear()
将选择集清空,这样被选中的对象将全部恢复到未选中状态。void
dispose()
释放该对象所占用的资源。boolean
fromRecordset(Recordset recordset)
用于把一个记录集转化为选择集(即记录集所对应的对象全部呈选中状态)。int
get(int index)
返回选择集中指定几何对象的系统 ID(即为其属性数据中 SmID 字段的值)。int
getCount()
返回选择集中几何对象的个数。DatasetVector
getDataset()
返回选择集中几何对象所在的数据集。GeoStyle
getStyle()
返回选择集几何对象的显示风格。boolean
getStyleOptions(StyleOptions styleOptions)
返回自定义选择集高亮风格是否起作用。Object
getVariantID(int index)
返回选择集中指定序号几何对象的系统 ID(属性表中 SmID 字段值) ,ID支持int32、int64、String 类型。boolean
isDefaultStyleEnabled()
返回是否使用默认选择风格。boolean
remove(int geometryID)
用于从选择集中删除一个几何对象,该几何对象由原来的呈选中状态变为非选中状态。boolean
remove(long geometryID)
从选择集移除几何对象。boolean
remove(String geometryID)
从选择集移除几何对象。int
removeRange(int index, int count)
用于从选择集中删除指定的若干几何对象,这些几何对象由原来的选中状态变为非选中状态。void
setDataset(DatasetVector dataset)
设置选择集中几何对象所在的数据集。void
setDefaultStyleEnabled(boolean value)
设置是否使用默认选择风格。void
setStyle(GeoStyle style)
设置选择集几何对象的显示风格。void
setStyleOptions(StyleOptions styleOptions, boolean isEnable)
设置自定义选择集高亮风格是否起作用。Recordset
toRecordset()
用于把选择对象转化为记录集。
-
-
-
构造器详细资料
-
Selection
public Selection()
默认构造函数,构造一个新的Selection
对象。
-
Selection
public Selection(DatasetVector dataset)
根据指定的参数构造Selection
类的新实例。- 参数:
dataset
- 指定的数据集。
-
Selection
public Selection(Selection selection)
根据selection类的实例构建新实例。- 参数:
selection
- selection实例。
-
-
方法详细资料
-
getCount
public int getCount()
返回选择集中几何对象的个数。- 返回:
- 选择集中几何对象的个数。
- 默认值:
- 默认值为 0。即选择集中没有几何对象。
-
getDataset
public DatasetVector getDataset()
返回选择集中几何对象所在的数据集。- 返回:
- 选择集中几何对象所在的数据集。
- 默认值:
- 默认值为 null。
-
setDataset
public void setDataset(DatasetVector dataset)
设置选择集中几何对象所在的数据集。- 参数:
dataset
- 选择集中几何对象所在的数据集。
-
get
public int get(int index)
返回选择集中指定几何对象的系统 ID(即为其属性数据中 SmID 字段的值)。- 参数:
index
- 指定几何对象的序列号。- 返回:
- 选择集中指定几何对象的系统 ID。
-
getVariantID
public Object getVariantID(int index)
返回选择集中指定序号几何对象的系统 ID(属性表中 SmID 字段值) ,ID支持int32、int64、String 类型。- 参数:
index
- 几何对象在选择集中的序号。- 返回:
- 返回选择集中指定序号几何对象的系统 ID(属性表中 SmID 字段值)。
-
getStyle
public GeoStyle getStyle()
返回选择集几何对象的显示风格。选择集几何对象的显示风格默认不是半透明风格,如果用户需要半透明风格,需要使用Selection.setStyle()方法中的 GeoStyle 类型的参数进行设置,即通过 GeoStyle 对象的 setFillBackOpaque() 和 setFillOpaqueRate()方法自己设置。
- 返回:
- 选择集几何对象的显示风格。
-
setStyle
public void setStyle(GeoStyle style)
设置选择集几何对象的显示风格。- 参数:
style
- 选择集几何对象的显示风格。
-
isDefaultStyleEnabled
public boolean isDefaultStyleEnabled()
返回是否使用默认选择风格。如果设置为 true,则设置的选择风格将无效。- 返回:
- 一个布尔值,使用默认选择风格返回 true,否则返回 false。
-
setDefaultStyleEnabled
public void setDefaultStyleEnabled(boolean value)
设置是否使用默认选择风格。如果设置为 true,则设置的选择风格将无效。- 参数:
value
- 是否使用默认选择风格。
-
add
public int add(int geometryID)
用于向选择集中加入几何对象。- 参数:
geometryID
- 新添加的几何对象的 ID 值(即其属性数据中 SmID 字段的值)。- 返回:
- 新添几何对象在选择集中的序号。
-
add
public int add(long geometryID)
向选择集添加几何对象。- 参数:
geometryID
- 几何对象的系统 ID。- 返回:
- 返回新添加几何对象在选择集中的序号。
-
add
public int add(String geometryID)
向选择集添加几何对象。- 参数:
geometryID
- 几何对象的系统 ID,支持String类型ID。- 返回:
- 返回新添加几何对象在选择集中的序号。
-
addRange
public int addRange(int[] geometryIDs)
用几何对象的 ID 数组指定一系列几何对象,将其批量加入到选择集中。- 参数:
geometryIDs
- 新添加的一系列几何对象的 ID(即其属性数据中 SmID 字段的值)组成的数组。- 返回:
- 成功添加的几何对象的个数。
-
addRange
public int addRange(long[] geometryIDs)
向选择集添加一组几何对象。- 参数:
geometryIDs
- 几何对象的系统 ID 数组。- 返回:
- 成功添加几何对象的个数。
-
addRange
public int addRange(String[] geometryIDs)
向选择集添加一组几何对象。- 参数:
geometryIDs
- 几何对象的系统 ID 数组,支持String类型ID。- 返回:
- 成功添加几何对象的个数。
-
remove
public boolean remove(int geometryID)
用于从选择集中删除一个几何对象,该几何对象由原来的呈选中状态变为非选中状态。- 参数:
geometryID
- 要删除几何对象的 ID 号(即其属性数据中 SmID 字段的值)- 返回:
- 删除成功返回 true;否则返回 false。
-
remove
public boolean remove(long geometryID)
从选择集移除几何对象。- 参数:
geometryID
- 待移除几何对象的系统 ID。- 返回:
- 移除成功返回true;否则,返回false。
-
remove
public boolean remove(String geometryID)
从选择集移除几何对象。- 参数:
geometryID
- 待移除几何对象的系统 ID,支持String类型ID。- 返回:
- 移除成功返回true;否则,返回false。
-
removeRange
public int removeRange(int index, int count)
用于从选择集中删除指定的若干几何对象,这些几何对象由原来的选中状态变为非选中状态。- 参数:
index
- 要删除的第一个几何对象的序列号。count
- 要删除的几何对象的个数。- 返回:
- 成功删除的几何对象的个数。
-
clear
public void clear()
将选择集清空,这样被选中的对象将全部恢复到未选中状态。
-
fromRecordset
public boolean fromRecordset(Recordset recordset)
用于把一个记录集转化为选择集(即记录集所对应的对象全部呈选中状态)。调用
fromRecordset()
方法之后,最好刷新一下地图才能在地图上面看见有选中的对象。- 参数:
recordset
- 要转化为选择集的记录集。- 返回:
- 一个布尔值,转换成功返回 true,否则返回 false。
-
toRecordset
public Recordset toRecordset()
用于把选择对象转化为记录集。只有将选择集转化为记录集后才能对其数据进行操作。- 返回:
- 转化得到的记录集,该记录集包括所有的字段。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
setStyleOptions
public void setStyleOptions(StyleOptions styleOptions, boolean isEnable)
设置自定义选择集高亮风格是否起作用。如果设置为 false,则设置的选择风格将不起作用。- 参数:
styleOptions
- 待设置是否起作用的某项自定义选择集高亮风格。isEnable
- 自定义选择集高亮风格是否起作用。
-
getStyleOptions
public boolean getStyleOptions(StyleOptions styleOptions)
返回自定义选择集高亮风格是否起作用。- 参数:
styleOptions
- 待设置是否起作用的某项自定义选择集高亮风格。- 返回:
- 某项自定义选择集高亮风格起作用返回true,否则返回false。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.