public class Selection
extends com.supermap.data.InternalHandleDisposable
该类用于处理地图上被选中的对象。与该类紧密相连的类是 Recordset
记录集类。通常可以通过选择集类返回地图的选择信息或设置地图上的选中情况。通过与 Recordset 的交互,就可以处理与选中对象相对应的数据。
假设打开了一个工作空间 workspace
对象,工作空间中存在名为 World 的数据源。
假设打开了一个工作空间 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()
用于把选择对象转化为记录集。
|
public Selection()
Selection
对象。public Selection(DatasetVector dataset)
Selection
类的新实例。dataset
- 指定的数据集。public Selection(Selection selection)
selection
- selection实例。public int getCount()
public DatasetVector getDataset()
public void setDataset(DatasetVector dataset)
dataset
- 选择集中几何对象所在的数据集。public int get(int index)
index
- 指定几何对象的序列号。public Object getVariantID(int index)
index
- 几何对象在选择集中的序号。public GeoStyle getStyle()
选择集几何对象的显示风格默认不是半透明风格,如果用户需要半透明风格,需要使用Selection.setStyle()方法中的 GeoStyle 类型的参数进行设置,即通过 GeoStyle 对象的 setFillBackOpaque() 和 setFillOpaqueRate()方法自己设置。
public void setStyle(GeoStyle style)
style
- 选择集几何对象的显示风格。public boolean isDefaultStyleEnabled()
public void setDefaultStyleEnabled(boolean value)
value
- 是否使用默认选择风格。public int add(int geometryID)
geometryID
- 新添加的几何对象的 ID 值(即其属性数据中 SmID 字段的值)。public int add(long geometryID)
geometryID
- 几何对象的系统 ID。public int add(String geometryID)
geometryID
- 几何对象的系统 ID,支持String类型ID。public int addRange(int[] geometryIDs)
geometryIDs
- 新添加的一系列几何对象的 ID(即其属性数据中 SmID 字段的值)组成的数组。public int addRange(long[] geometryIDs)
geometryIDs
- 几何对象的系统 ID 数组。public int addRange(String[] geometryIDs)
geometryIDs
- 几何对象的系统 ID 数组,支持String类型ID。public boolean remove(int geometryID)
geometryID
- 要删除几何对象的 ID 号(即其属性数据中 SmID 字段的值)public boolean remove(long geometryID)
geometryID
- 待移除几何对象的系统 ID。public boolean remove(String geometryID)
geometryID
- 待移除几何对象的系统 ID,支持String类型ID。public int removeRange(int index, int count)
index
- 要删除的第一个几何对象的序列号。count
- 要删除的几何对象的个数。public void clear()
public boolean fromRecordset(Recordset recordset)
调用 fromRecordset()
方法之后,最好刷新一下地图才能在地图上面看见有选中的对象。
recordset
- 要转化为选择集的记录集。public Recordset toRecordset()
public void dispose()
public void setStyleOptions(StyleOptions styleOptions, boolean isEnable)
styleOptions
- 待设置是否起作用的某项自定义选择集高亮风格。isEnable
- 自定义选择集高亮风格是否起作用。public boolean getStyleOptions(StyleOptions styleOptions)
styleOptions
- 待设置是否起作用的某项自定义选择集高亮风格。Copyright © 2021–2024 SuperMap. All rights reserved.