S-57 水深组类。该类用于对水深进行编辑,提供对水深点进行分组、向水深组添加或删除水深点、获取和修改水深的物标属性等功能。
命名空间:
SuperMap.Chart程序集: SuperMap.Chart (in SuperMap.Chart)
版本: dll
语法
C# |
---|
public class S57SoundingGroup |
备注
S-57 数据结构中,每一个特征物标类的实例(可理解为一个物标对象,如一个灯标)使用一条特征记录存储,并分配一个特征物标标识(FOID,即长名)作为唯一标识。但水深是一个特例。一幅海图中的水深点可能数目众多,并且很多水深点除深度外的其他属性和属性值均相同,如果将每一个水深点作为一条特征记录存储,将会产生大量冗余数据,甚至影响效率。因此,在 S-57 数据结构中,将具有相同属性和属性值(除深度外)的水深点合成到一个特征记录中。
SuperMap 海图使用面向对象的数据结构存储,每个水深点作为一个对象,因此,S-57 数据中的一条水深特征记录可能对应多个水深点对象。这些水深点拥有相同的特征物标标识(FOID)和记录标识号(RCID),称为一个水深组。为那些具有相同属性和属性值(除深度外)的水深点赋予一个新的相同的特征物标标识(FOID)和相同的记录标识号(RCID)的过程,称为水深分组。
对新增的或未分组的水深点进行分组非常必要,以保证将 SuperMap 海图导出为符合 S-57 标准的 S-57 文件(000 文件)。S-58 数据检查也包括相应的水深检查,参见 ChartValidateParameter.AreCheckSoundings 属性。
该类提供以下对于水深点和水深组的操作:
- 将指定的水深点基于属性相同的规则,自动划分为若干个水深组;
- 将指定的水深点组合为一个水深组;
- 将指定的水深点添加到一个已有的水深组中;
- 从一个已有的水深组中删除指定的水深点;
- 获取水深组的特征物标标识(FOID),以及根据 FOID 获取水深点对象;
- 获取和修改水深的物标属性。
Note:
以上操作需要基于一个可编辑 S-57 海图数据集分组(SetS57EditDatasetGroup)。可通过一个 S57EditDatasetGroup 对象构造一个水深组对象,或使用 SetS57EditDatasetGroup 方法指定对应的 SetS57EditDatasetGroup 对象。
有关“特征物标标识”的更多介绍,请参阅 S57FeatureObjectIDInfo 类。
继承层次
System..::.Object
SuperMap.Chart..::.S57SoundingGroup
SuperMap.Chart..::.S57SoundingGroup