影像数据集集合是一种数据集类型,派生于 Dataset
,对该类型的数据集可以创建、更新和删除影像金字塔、重命名数据集等;它又具有集合的功能,能对集合中影像数据集进行添加、删除和追加等操作。
能添加到影像数据集集合中影像数据有两种类型,一种是影像数据包括影像数据集 DatasetImage,另一种是影像插件所支持的影像文件(如 *.sit)。
注意:
@Deprecated public class DatasetImageCollection extends Dataset
public void datasetImageCollectionExample() { // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象 // 该数据源下有一个名为 Beijing 的影像数据集,在某路径下存在一个名为BeijingTerrian的影像文件 Datasets datasets = datasource.getDatasets(); // 取出数据源中名为 "Beijing" 的影像数据集(DatasetImage) DatasetImage datasetImage = (DatasetImage)datasets.get("Beijing"); // 获取影像数据集的投影信息 PrjCoordSys prj = datasetImage.getPrjCoordSys(); // 创建一个名为 “DTIC” 的影像数据集集合类型的数据集 DatasetImageCollection datasetImageCollection = datasets.createImageCollection("DTIC"); // 设置集合数据集的投影信息与影像数据集一致 datasetImageCollection.setPrjCoordSys(prj); // 创建一个映射对象 Map<String,String> values = new HashMap<String, String>(); values.put("image", datasetImage.getName()); values.put("image_1", "c:/SampleData/BeijingDEM/BeijingTerrian.SIT"); // 将数据源中名为"Beijing" 的影像数据集和 BeijingTerrian.SIT影像文件都添加到集合中 datasetImageCollection.add(values); // 获取集合中影像数据集的个数 int count = datasetImageCollection.getCount(); if(count!=2){ System.out.println("添加影像数据失败!"); } datasetImageCollection.close(); }
限定符和类型 | 方法和说明 |
---|---|
boolean |
add(Map<String,String> aliasNameAndName)
已过时。
以映射方式向影像数据集集合中添加影像数据。
|
boolean |
add(String name,
String aliasName)
已过时。
将影像数据添加到影像数据集集合的尾部。
|
boolean |
add(String name,
String aliasName,
boolean isTop)
已过时。
将影像数据添加到影像数据集集合的最顶层或尾部。
|
void |
addAddedListener(DatasetCollectionListener l)
已过时。
添加一个用于接收向影像数据集集合中添加子数据集结束事件(
DatasetCollectionEvent )的监听器。 |
void |
addOrderChangedListener(DatasetCollectionChangeOrderListener l)
已过时。
添加一个用于接收改变影像数据集集合中子数据集位置事件(
DatasetCollectionChangeOrderEvent )的监听器。 |
void |
addRemovedAllListener(DatasetCollectionRemoveAllListener l)
已过时。
添加一个用于接收删除影像数据集集合中所有子数据集结束事件(
DatasetCollectionRemoveAllEvent )的监听器。 |
void |
addRemovedListener(DatasetCollectionListener l)
已过时。
添加一个用于接收删除影像数据集集合中的子数据集结束事件(
DatasetCollectionEvent )的监听器。 |
void |
addRemovingAllListener(DatasetCollectionRemoveAllListener l)
已过时。
添加一个用于接收删除影像数据集集合中所有子数据集事件(
DatasetCollectionRemoveAllEvent )的监听器。 |
void |
addRemovingListener(DatasetCollectionListener l)
已过时。
添加一个用于接收删除影像数据集集合中的子数据集事件(
DatasetCollectionEvent )的监听器。 |
void |
addRenamedListener(DatasetCollectionRenameListener l)
已过时。
添加一个用于接收对影像数据集集合中的子数据集重命名结束事件(
DatasetCollectionRenameEvent )的监听器。 |
void |
addRenamingListener(DatasetCollectionRenameListener l)
已过时。
添加一个用于接收对影像数据集集合中的子数据集重命名事件(
DatasetCollectionRenameEvent )的监听器。 |
void |
addRequireRefreshListener(DatasetCollectionRequireRefreshListener l)
已过时。
添加一个用于接收更新影像数据集集合事件(
DatasetCollectionRequireRefreshEvent )的监听器。 |
boolean |
append(DatasetImageCollection datasetImageCollection)
已过时。
向影像数据集集合对象中追加另外一个影像数据集集合。
|
boolean |
buildPyramid()
已过时。
为影像数据集集合对象创建影像金字塔。
|
boolean |
changeOrder(String aliasName,
int index)
已过时。
改变影像数据集在影像数据集集合中的位置。
|
String |
get(int index)
已过时。
返回影像数据集集合中指定序号的影像数据集对象的别名。
|
DatasetVector |
getAttributeDataset()
已过时。
返回记录影像数据集合信息的矢量数据集。
|
String |
getAvailableAliasName(String name)
已过时。
根据传入字符串获取一个合法的影像数据集集合的别名。
|
int |
getBandCount()
已过时。
返回影像数据集集合的波段个数。
|
GeoRegion |
getClipRegion()
已过时。
返回影像数据集集合的裁剪区域。
|
int |
getCount()
已过时。
返回影像数据集集合中影像数据集的个数。
|
DatasetImage |
getDataset(String aliasName)
已过时。
返回影像数据集集合中指定别名的影像数据集对象。
|
boolean |
getHasPyramid()
已过时。
返回影像数据集集合是否创建金字塔。
|
double |
getNoData(int index)
已过时。
返回影像数据集集合指定波段的无值。
|
Colors |
getPalette()
已过时。
返回影像数据集集合的颜色调色板。
|
PixelFormat |
getPixelFormat()
已过时。
返回影像数据集集合的像素格式。
|
int |
indexOf(String aliasName)
已过时。
返回指定别名对应的子数据集在影像数据集集合中的序号。
|
boolean |
insert(String name,
String aliasName,
int index)
已过时。
影像数据到插入到影像数据集集合指定的位置处。
|
boolean |
isAvailableAliasName(String name)
已过时。
判断传入字符串是否是一个合法的影像数据集集合的别名。
|
boolean |
remove(int index)
已过时。
将影像数据集集合对象中指定序号处的影像数据集删除。
|
boolean |
remove(String aliasName)
已过时。
根据指定的别名从影像数据集集合中移除影像数据集。
|
void |
removeAddedListener(DatasetCollectionListener l)
已过时。
移除一个用于接收向影像数据集集合中添加子数据集结束事件(
DatasetCollectionEvent )的监听器。 |
boolean |
removeAll()
已过时。
移除影像数据集集合对象中所有的影像数据集。
|
void |
removeOrderChangedListener(DatasetCollectionChangeOrderListener l)
已过时。
移除一个用于接收改变影像数据集集合中子数据集位置事件(
DatasetCollectionChangeOrderEvent )的监听器。 |
boolean |
removePyramid()
已过时。
删除影像数据集集合对象的影像金字塔。
|
void |
removeRemovedAllListener(DatasetCollectionRemoveAllListener l)
已过时。
移除一个用于接收删除影像数据集集合中所有子数据集结束事件(
DatasetCollectionRemoveAllEvent )的监听器。 |
void |
removeRemovedListener(DatasetCollectionListener l)
已过时。
移除一个用于接收删除影像数据集集合中的子数据集结束事件(
DatasetCollectionEvent )的监听器。 |
void |
removeRemovingAllListener(DatasetCollectionRemoveAllListener l)
已过时。
移除一个用于接收删除影像数据集集合中所有子数据集事件(
DatasetCollectionRemoveAllEvent )的监听器。 |
void |
removeRemovingListener(DatasetCollectionListener l)
已过时。
移除一个用于接收删除影像数据集集合中的子数据集事件(
DatasetCollectionEvent )的监听器。 |
void |
removeRenamedListener(DatasetCollectionRenameListener l)
已过时。
移除一个用于接收对影像数据集集合中的子数据集重命名结束事件(
DatasetCollectionRenameEvent )的监听器。 |
void |
removeRenamingListener(DatasetCollectionRenameListener l)
已过时。
移除一个用于接收对影像数据集集合中的子数据集重命名事件(
DatasetCollectionRenameEvent )的监听器。 |
void |
removeRequireRefreshListener(DatasetCollectionRequireRefreshListener l)
已过时。
移除一个用于接收更新影像数据集集合事件(
DatasetCollectionRequireRefreshEvent )的监听器。 |
boolean |
rename(String aliasName,
String newAliasName)
已过时。
重命名影像数据集集合的别名。
|
void |
setClipRegion(GeoRegion value)
已过时。
设置影像数据集集合的裁剪区域。
|
void |
setNoData(double value,
int index)
已过时。
设置影像数据集集合指定波段的无值,对所有子数据集有效,主要用于创建集合金字塔时,忽略子数据集无值。
|
void |
setPalette(Colors colors)
已过时。
设置影像数据集集合的颜色调色板。
|
boolean |
synchronize()
已过时。
同步影像数据集集合。
|
boolean |
updatePyramid(Rectangle2D value)
已过时。
根据指定范围更新影像数据集集合的影像金字塔。
|
addClosedListener, addClosingListener, addLockChangedListener, addSteppedListener, close, dispose, equals, getBounds, getDatasource, getDescription, getEncodeType, getExtInfo, getGeoStoreType, getGroup, getID, getLockState, getName, getPrivilegeTypes, getPrivilegeTypes, getPrjCoordSys, getSchema, getTableName, getTransState, getType, hashCode, hasPrivilegeGrant, hasPrjCoordSys, isDisposed, isOpen, isReadOnly, isVersioned, open, refresh, removeClosedListener, removeClosingListener, removeLockChangedListener, removeSteppedListener, setBounds, setDescription, setExtInfo, setLockState, setPrivilegeTypes, setPrjCoordSys, setReadOnly, toString
public int getCount()
public int getBandCount()
注:影像数据集集合中所有子数据集的具有相同的波段数。
public double getNoData(int index)
index
- 指定的波段索引号,从 0 开始。public void setNoData(double value, int index)
value
- 指定的无值。index
- 指定的波段索引号,从 0 开始。public DatasetImage getDataset(String aliasName)
aliasName
- 影像数据集的别名。public String get(int index)
index
- 指定的序号。IndexOutOfBoundsException
- 当 index 小于 0 或 index 大于等于 getCount()
返回值时,抛出 IndexOutOfBoundsException 异常。public int indexOf(String aliasName)
aliasName
- 指定的别名。public DatasetVector getAttributeDataset()
返回的矢量数据集是一个面数据集,不允许用户修改。
该面数据集的一个面对象对应一个子数据集。如果子数据集含有裁剪区域,则面对象即是每个子数据集的裁剪区域,如果子数据集不含有裁剪区域,则面对象是每个子数据集最小外接矩形。
这个面数据集的字段除了包含系统字段外,还包含其他描述影像子数据集信息的字段,字段名称和字段中存储的信息含义如下表所示
public PixelFormat getPixelFormat()
PixelFormat
枚举类型。PixelFormat.RGB
。public boolean getHasPyramid()
public GeoRegion getClipRegion()
影像数据集集合的裁剪区域用来控制所有子数据集的显示范围。
调用该方法无法得到集合内的子数据集的裁剪区域。
注意:
1.当用户所设定的影像数据集集合的地理范围(即调用 DatasetImageCollection.SetGeoReference()
方法)与所设定的裁剪区域无重叠区域,影像数据集集合不显示。
2.当重新设置影像数据集集合的地理范围,不自动修改影像数据集集合的裁剪区域。
12个子数据集设置裁剪区域前的显示效果 | 12个子数据集设置裁剪多边形后显示效果 |
public void setClipRegion(GeoRegion value)
影像数据集集合的裁剪区域用来控制所有子数据集的显示范围。
调用该方法无法对集合内的子数据集设置裁剪区域。子数据集裁剪区域的需子影像数据集对象通过 DatasetImage#setClipRegion()
方法设置。
注意:
1.当用户所设定的影像数据集集合的地理范围(即调用 DatasetImageCollection.SetGeoReference()
方法)与所设定的裁剪区域无重叠区域,影像数据集集合不显示。
2.当重新设置影像数据集集合的地理范围,不自动修改影像数据集集合的裁剪区域。
value
- 裁剪区域。public Colors getPalette()
public void setPalette(Colors colors)
影像数据集集合显示时使用子数据集自身的调色板。
调用该方法无法设置集合内子数据集的调色板。
colors
- 颜色调色板对象,即颜色集合。public boolean add(String name, String aliasName)
DatasetImage
和影像插件所支持的影像文件。
使用该方法有以下几点注意事项:
1.目前只支持和影像数据集集合在同一数据源下的影像数据集的添加。
2.所添加的影像数据的投影必须与影像数据集集合一致,否则不能加入集合。
3.不限制添加影像数据的像素格式。但是建议一个集合中的各子数据集像素格式保持一致。
4.若添加的影像数据具有多波段,则每个影像数据的波段数必须一致。目前不支持添加多波段的影像文件,仅支持添加同一数据源下的多波段影像数据集。
5.所指定的别名必须合法且在集合中是唯一的,否则添加失败。
name
- 影像数据的名称。若影像数据为 DatasetImage
时,该参数为数据集的名称;若为影像文件时,该参数为影像文件的全路径。aliasName
- 添加到影像数据集集合中的影像数据集的别名,别名需合法且唯一。public boolean add(String name, String aliasName, boolean isTop)
DatasetImage
和影像插件所支持的影像文件。
使用该方法有以下几点注意事项:
1.目前只支持和影像数据集集合在同一数据源下的影像数据集的添加。
2.所添加的影像数据的投影必须与影像数据集集合一致,否则不能加入集合。
3.不限制添加影像数据的像素格式。但是建议一个集合中的各子数据集像素格式保持一致。
4.若添加的影像数据具有多波段,则每个影像数据的波段数必须一致。目前不支持添加多波段的影像文件,仅支持添加同一数据源下的多波段影像数据集。
5.所指定的别名必须合法且在集合中是唯一的,否则添加失败。
name
- 影像数据的名称。若影像数据为 DatasetImage 时,该参数为数据集的名称;若为影像文件时,该参数为影像文件的全路径。aliasName
- 添加到影像数据集集合中的影像数据集的别名,别名需合法且唯一。isTop
- 是否添加到最顶层,为true,则添加在最顶层,其索引值为0,反之显示在尾部。public boolean add(Map<String,String> aliasNameAndName)
使用该方法有以下几点注意事项:
1.目前只支持和影像数据集集合在同一数据源下的影像数据集的添加。
2.所添加的影像数据的投影必须与影像数据集集合一致,否则不能加入集合。
3.不限制添加影像数据的像素格式。但是建议一个集合中的各子数据集像素格式保持一致。
4.若添加的影像数据具有多波段,则每个影像数据的波段数必须一致。目前不支持添加多波段的影像文件,仅支持添加同一数据源下的多波段影像数据集。
5.所指定的别名必须合法且在集合中是唯一的,否则添加失败。
values
- 需要添加的影像数据别名和名称组成的映射对象,键值为影像数据集的别名,值为影像数据的名称。public boolean insert(String name, String aliasName, int index)
DatasetImage
和影像插件所支持的影像文件。
使用该方法有以下几点注意事项:
1.目前只支持和影像数据集集合在同一数据源下的影像数据集的插入。
2.所插入的影像数据的投影必须与影像数据集集合一致,否则不能插入到集合中。
3.不限制插入的影像数据的像素格式。但是建议一个集合中的各子数据集像素格式保持一致。
4.若插入的影像数据具有多波段,则每个影像数据的波段数必须一致。目前不支持插入多波段的影像文件,仅支持插入同一数据源下的多波段影像数据集。
5.所指定的别名必须合法且在集合中是唯一的,否则插入失败。
name
- 影像数据的名称。若影像数据为 DatasetImage
时,该参数为数据集的名称;若为影像文件时,该参数为影像文件的全路径。aliasName
- 插入到影像数据集集合中的影像数据集的别名,别名需合法且唯一。index
- 指定的索引值。IndexOutOfBoundsException
- 当 index 小于 0 或 index 大于等于 getCount()
返回值时,抛出 IndexOutOfBoundsException 异常。public boolean append(DatasetImageCollection datasetImageCollection)
若追加成功,则所追加的影像数据集集合中的所有影像数据按照其原有顺序添加到被追加的集合尾部。
datasetCollection
- 待追加的影像数据集集合对象。public boolean remove(String aliasName)
注意:删除的只是影像数据集和影像文件在集合中的信息,与子数据集关联的同一数据源下的影像数据集和存放在磁盘上的影像文件不会被删除。
aliasName
- 指定的影像数据集别名。public boolean remove(int index)
注意:删除的只是影像数据集和影像文件在集合中的信息,与子数据集关联的同一数据源下的影像数据集和存放在磁盘上的影像文件不会被删除。
index
- 要删除影像数据集的序号。IndexOutOfBoundsException
- 当 index 小于 0 或 index 大于等于 getCount()
返回值时,抛出 IndexOutOfBoundsException 异常。public boolean removeAll()
注意:删除的只是影像数据集和影像文件在集合中的信息,与子数据集关联的同一数据源下的影像数据集和存放在磁盘上的影像文件不会被删除。
public boolean synchronize()
为了确保集合相关信息的正确性和有效性,对影像数据集集合做了以下操作后,建议调用该方法同步集合:
1.跨数据源复制影像数据集集合。
2.修改了集合中子数据集所关联的原始影像数据集信息;
3.改变原始的影像文件的路径或删除影像文件;
4.删除影像数据集集合中的子数据集。
注意:调用该方法,对于不存在的子数据集,将自动将其从影像数据集集合中移除。
public boolean changeOrder(String aliasName, int index)
调整影像数据集集合中子数据集的顺序,可以改善集合的显示效果。
注意:该方法建议在对影像数据集集合创建影像金字塔之前调用,以减少对集合金字塔的创建和更新。
aliasName
- 需要改变位置的影像数据集的别名。position
- 影像数据移动到集合中的索引值。IndexOutOfBoundsException
- 当 index 小于 0 或 index 大于等于 getCount()
返回值时,抛出 IndexOutOfBoundsException 异常。public boolean buildPyramid()
在对影像数据集集合创建金字塔时,所指定的(NoData)无值会被忽略,因此,对于大量需要背景透明的影像数据,可以通过将背景色设置为无值,然后构建金字塔的方式来处理。
public boolean removePyramid()
public boolean updatePyramid(Rectangle2D value)
当对影像数据集集合执行以下操作后,需要调用该方法:
1.修改子数据集的调色板、裁剪区域;
2.调整子数据集的顺序,执行添加、删除子数据集等操作;
3.当添加的子数据集的范围在已有金字塔范围之外。
value
- 指定的范围。public boolean isAvailableAliasName(String name)
name
- 输入的字符串。public String getAvailableAliasName(String name)
name
- 输入的字符串。public boolean rename(String aliasName, String newAliasName)
如果数据源以只读的方式打开,将不能重命名。
aliasName
- 原始的别名。newAliasName
- 新的别名。public void addRenamingListener(DatasetCollectionRenameListener l)
DatasetCollectionRenameEvent
)的监听器。l
- 一个用于接收对影像集合数据集的子数据集重命名事件的监听器。public void removeRenamingListener(DatasetCollectionRenameListener l)
DatasetCollectionRenameEvent
)的监听器。l
- 一个用于接收对影像集合数据集的子数据集重命名事件的监听器。public void addRenamedListener(DatasetCollectionRenameListener l)
DatasetCollectionRenameEvent
)的监听器。l
- 一个用于接收对影像数据集集合中的子数据集重命名结束事件的监听器。public void removeRenamedListener(DatasetCollectionRenameListener l)
DatasetCollectionRenameEvent
)的监听器。l
- 一个用于接收对影像数据集集合中的子数据集重命名结束事件的监听器。public void addRemovingListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中的子数据集事件的监听器。public void removeRemovingListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中的子数据集事件的监听器。public void addRemovedListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中的子数据集结束事件的监听器。public void removeRemovedListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中的子数据集结束事件的监听器。public void addRemovingAllListener(DatasetCollectionRemoveAllListener l)
DatasetCollectionRemoveAllEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中所有子数据集事件的监听器。public void removeRemovingAllListener(DatasetCollectionRemoveAllListener l)
DatasetCollectionRemoveAllEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中所有子数据集事件的监听器。public void addRemovedAllListener(DatasetCollectionRemoveAllListener l)
DatasetCollectionRemoveAllEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中所有子数据集结束事件的监听器。public void removeRemovedAllListener(DatasetCollectionRemoveAllListener l)
DatasetCollectionRemoveAllEvent
)的监听器。l
- 一个用于接收删除影像数据集集合中所有子数据集结束事件的监听器。public void addAddedListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收向影像数据集集合中添加子数据集结束事件的监听器。public void removeAddedListener(DatasetCollectionListener l)
DatasetCollectionEvent
)的监听器。l
- 一个用于接收向影像数据集集合中添加子数据集结束事件的监听器。public void addOrderChangedListener(DatasetCollectionChangeOrderListener l)
DatasetCollectionChangeOrderEvent
)的监听器。l
- 一个用于接收改变影像数据集集合中子数据集位置事件的监听器。public void removeOrderChangedListener(DatasetCollectionChangeOrderListener l)
DatasetCollectionChangeOrderEvent
)的监听器。l
- 一个用于接收改变影像数据集集合中子数据集位置事件的监听器。public void addRequireRefreshListener(DatasetCollectionRequireRefreshListener l)
DatasetCollectionRequireRefreshEvent
)的监听器。l
- 一个用于接收更新影像数据集集合事件的监听器。public void removeRequireRefreshListener(DatasetCollectionRequireRefreshListener l)
DatasetCollectionRequireRefreshEvent
)的监听器。l
- 一个用于接收更新影像数据集集合事件的监听器。Copyright © 2021–2024 SuperMap. All rights reserved.